Ps:火狐浏览器、phpstudy、pikachu、burpsuite
我们先来了解一下什么是XSS叭,见下图:
接下来,就正式开始我们的实验叭~
一、反射型XSS(get)
反射型XSS通俗的来讲就是当攻击者插入构造好的恶意语句后,用户点击之后回出现弹窗,但这个弹窗是一次性的,刷新之后就没有了,没有存在服务器中
Get呢就是它是以url的方式来提交数据的
了解了这些之后,我们就开始这次的实验叭
先看一下界面,就是一个简单的登录框
输入一些特殊字符看看
从上图我们可以发现特殊字符没有被过滤,那我们就可以利用它没有被过滤的字符来构造payload
输入一半之后写不进去了,想到前端对输入的字符数量做了限制,好说,我们通过F12对其输入长度进行修改
我们在尝试构造payload进行输入
点击提交后出现弹窗,切换页面后弹窗失效,不会在有弹窗,此次实验结束
二、反射型XSS(post)
同上,post是以表单的方式在请求体里提交数据,登录账号密码在提示中已经给出,可自行实验
三、存储型XSS
存储型XSS形成原因也是因为特殊符号过滤不严导致的,但不同的是存储型XSS会将攻击者构造的恶意代码上传后存储在服务器中
同样,先来看一下界面,是一个留言板
还是按之前的思路,输入特殊字符看有没有被过滤,我们发现没有被过滤
构造payload提交后,我们发现语句被执行,出现弹窗
切换页面后弹窗依旧在,充分证实语句被存储,该实验到此结束
四、DOM型XSS
我们还是按之前的思路,输入一串字符,提交后显示what do you see?
我们点击what do you see?试试,404
那我们可以考虑是标签,查看页面源码,我们发现它会将输入的字符串被拼接到了标签中
我们需要构造标签闭合语句,并嵌入弹窗,此次实验到此结束
五、DOM型XSS-X
依旧是先输入字符串看一下,显示“有些费尽心机想要忘记的事情,后来真的就忘掉了”
但我们可以看到,在url上有显示我们输入的字符串
我们可以看出,它的输入其实是从url上获取的,依旧是构造标签的闭合并嵌入弹窗
输入:'οnclick="alert('xiaoyang!!!')">
六、XSS之盲打
在XSS盲打中,我们输入的内容不会在前端输出,会存在后台,也就是说,只有管理员在后台才能看到用户在前端输入的内容
了解了盲打的原理,那就开始我们此次实验叭
先构造弹窗语句进行输入
提交后,我们登录后台看看,后台地址以及管理员账号密码在提示中有给出,可自行查看
登录后出现弹窗,直接X到了后台
在攻击中,我们可以利用其漏洞获取管理员cookie来进行伪造
七、XSS之过滤
输入<script>alert('xiaoyang!!!')</script>提交后显示“别说这些'>'的话,不要怕,就是干!”
我们考虑可能是对<script>标签进行了限制,我们试试大小写绕过
输入:<scRIPt>alert('xiaoyang!!!')</ScriPT>
成功绕过,出现弹窗
八、XSS之htmlspecialchars
Htmlspecialchars()函数把一些预定义的字符转换为html实体
当我们输入构造好的弹窗语句后,显示我们的输入已经被记录
我们查看源码发现将<>进行了编码
我们输入特殊字符提交后在查看源码,发现只有单引号没有进行编码
我们可以利用单引号进行闭合,参考dom型来构造payload
输入: 'οnclick='alert(111)'
成功绕过,出现弹窗
九、XSS之href输出
还是按之前的思路,输入<script>alert('xiaoyang!!!')</script>看看,没有弹窗
看一下页面源码,我们发现特殊符号均被编码,这种情况下,闭合和绕过就都行不通了
以下摘自HTML标签的href属性
href属性的值可以是任何有效文档的相对或绝对url,包括片段标识符和js代码段.如果用户选择了标签中的内容,那么浏览器会尝试检索并显示href属性指定的url所表示的文档,或者执行js表达式、方法和函数的列表.
从以上描述可见,我们可以利用JavaScript协议,输入payload:javascript:alert(‘xiaoyang!!!’)
出现弹窗
十、XSS之js输出
还是按我们最初的思路,输入<script>alert(xiaoyang!!!)</script>,发现没有弹窗
查看页内源码
我们发现它将我们插入的payload写入了原有的<script>标签中
我们可以通过在里面写入js语句构造payload
方法一:
使用’将其闭合,再用;使其结束,然后写入弹窗语句,使用//将后面语句注释掉
输入: ';alert('xiaoyang!!!');//
方法二:
使用’将其闭合,然后使用</script>将原有的<script>结束,在插入payload
输入: '</script><script>alert('xiaoyang')</script>
出现弹窗
好啦,到实验尾声啦
Pikachu靶场中XSS所有实验我们就都完成啦~
那我们就到这里啦~
下一篇我们再见
大家要加油呦✌
版权归原作者 小羊学安全 所有, 如有侵权,请联系我们删除。