首页 > 代码库 > DOM型XSS挖掘小记

DOM型XSS挖掘小记

本人单身狗一枚,这里要强调一下,我是哈士奇这种单身贵族,好了,进入正题

长夜漫漫,在这无聊的夜里,我打开了某个小网站准备看几部爱情动作片然后睡觉

当我打开影片搜索网页时,突然想起可以挖掘一下XSS或者是搜索型注入来玩玩

技术分享先直接插入<script>alert(1)</script>来测试一下:

技术分享

发现搜索关键词输出的时候已经过滤了我们的关键词,GG,第一次测试失败

但是当我正准备关闭网页的时候,发现网站标题这里直接输出了搜索关键词,没有进行过滤,希望再一次出现,我查看了一下源代码:

技术分享

注意第四行代码,第四行代码是网页的标题设置,可以看到这里没有对刚才的输入数据进行过滤

然后稍微构造了一下Payload: </title><script>alert(1)</script>

先用</title>标签闭合了之前的标题,然后插入了一段<script>代码,这里有一个技巧

就是<script>alert(1)</script>这段代码输出在<body>节点下和输出在<head>节点下都是可以正常弹出窗口的

然后插入我们新构造好的Payload在进行测试:

技术分享

成功弹出了窗口,说明我们的XSS挖掘成功,但不是最初测试的反射型XSS,因为这里我们重新构造了一个节点,所以已经属于DOM型XSS的范围

XSS漏洞本身就比较好挖掘,但是很多安全研究者却挖掘不出XSS的原因无非几点原因:

1.没有认真思考如何构造Payload,或者是如何挖掘漏洞

2.对于Web前端知识掌握不够透彻,导致对于XSS漏洞理解不清晰,从而白白失去了很多挖掘漏洞的机会

本次的测试并没有多少干货,记叙下来也是为了提醒我和读者:

在挖掘漏洞时思维要放开,不能仅仅局限于漏洞的经典利用形式(例如我刚才直接插入Payload,并没有直接弹窗)

如果觉得一个地方很可能有漏洞,但是暂时无法利用,就需要认真思考如何绕过,如何构造Payload,

很多Web大牛并不是说基础知识有我们掌握的多么扎实,但是这些大牛善于思考,会思考,每次挖掘漏洞都会总结经验

这就是拉开差距的地方,本文也谨献给在Web安全道路上一直坚持的人,希望本文的一些思路可以给大家带来一些收获

 

DOM型XSS挖掘小记