XSS(跨站脚本)

cross-site scripting,简称CSS,但是前端叠层样式表缩写也是css,所以就叫xss喽

反射型XSS

存储型XSS

DOM型XSS

反射型XSS

一种非持久的攻击,做法是:恶意攻击者往web页面中插入恶意代码,当用户浏览这一页的时候,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的目的。这里的恶意插入的代码并没有保存在目标页面中,需要引诱用户点击一个链接到目标网站的恶意链接来实施攻击。

https://blog.csdn.net/bwxzdjn/article/details/123645177

1
2
简单来说就是
网站上附着一个链接,这个链接是恶意攻击者的恶意链接,用户点进去以后就会进入恶意攻击者的网站,恶意攻击者就会知道用户的信息

image-20221208143205877

pikuchu靶场反射型xss(get)

随便输入一个’”<>输出结果是

image-20230321135824714.png

这能忍?反手就是一个ctrl -u

(这里我是页面自动翻译了,理论上应该是who is ‘“<>,i don’t care)

直接Ctrl -f搜索who is

image-20230321135703131.png

好,确定是反射型的xss(好像说了句废话的骄傲)

image-20230321142115407.png

这里看到了限制字符长度是20,弹药输入的肯定高于20个,需要在控制台中修改

打开控制台,搜索maxlength的时候无意中发现这么一个东西

image-20230321142052781.png

输进去瞅瞅

image-20230321142240712.png

挖趣,他真的,我哭死

但这也不能阻止我搞他

输入

image-20230321142623029.png

呜呼~起飞

pikuchu靶场存储型xss

据说存储型的和反射型的原理是一样的,但是存储型的是

持久性的,他会将你输入的注入到后端数据库去

存储型和反射型的差别在于我们每次去刷新页面还是会弹出这个窗口,因为我们刚才的留言已经保存在数据库里了。我们每次打开网页,都会从数据库中把这个留言加载出来,触发这个脚本的运行。

所以这道题我直接删payload了

1
<script>alter("xss")</script>

pikuchu靶场DOM型xss

Hexo不好贴图,我就放在了有道云里面

pikachu靶场盲打

并不是一种xss漏洞的类型,其实说的是一种xss的攻击场景。

我直接输入img

1
<script>alert("xss")</script>

正面一无所有,所以我看了眼提示进了后台,账号admin密码123456提示里面有,进入以后就弹出了xss的通知

pikachu靶场过滤

img

绕过姿势我看了几种

  1. 大小写绕过
    1
    <ScRiPt>alert("xsS")</ScRiPt>
  2. img标签
    1
    <img src=# onerror=alert("xss") /> 

pikachu靶场htmlspecialchars

img