Pikachu靶场:DOM型XSS以及DOM型XSS-X

Pikachu靶场:DOM型XSS以及DOM型XSS-X

实验环境以及工具

Firefox浏览器、Burp Suite、Pikachu靶场

实验原理

要改变页面的某个东西,JavaScript就需要获得对HTML文档中所有元素进行访问的入口。这个入口,连同对HTML元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM )。所以,你可以把DOM理解为一个一个访问HTML的标准编程接口。

跨站脚本漏洞测试流程

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

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

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

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

DOM型XSS

具体操作

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

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

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

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

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

发现正常输入字符串直接返回一个what do you see?但是输入了**’"<>123返回了一个123‘>**说明没有对特殊字符进行过滤。

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

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

发现了一个js函数,利用了DOM将字符串进行了拼接并把值给a标签的href,然后输出一个what do you see?

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

利用已知条件构建payload效果为弹窗,弹窗内容为111

<a href='#' onclick="alert(111)">'>what do you see?</a>

则payload为

#' onclick="alert(111)">

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

DOM型XSS-X

具体操作

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

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

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

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

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

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

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

发现了一个js函数,利用了DOM将字符串进行了拼接并把值给a标签的href,然后输出一个what do you see?

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

利用已知条件构建payload效果为弹窗,弹窗内容为111

<a href='#' onclick="alert(111)">'>what do you see?</a>

则payload为

#' onclick="alert(111)">

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

总结

DOM型XSS只在前端,与后端毫无关系。DOM-X型危害更大,它能够像反射型一样在URL中体现,将URL发给了受害者就能进行攻击。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值