大家好,我是灰豆。我基于 Chromium 源码实现了 DOM-XSS 检测工具,用于发现可疑的 DOM-XSS。该工具采纳动静净化追踪(Taint Tracking)技术,能够监测攻击者可控的输出源(source)与威逼产生点(sink)之间的数据流动过程,为人工验证提供详实牢靠的根据。
软件现处于内测阶段,面向读者征集网站子域名,你提供域名、我负责检测、后果归你
1. 征集要求如下:
1 倡议提供各类 SRC 子域名;
2 子域名必须为沉闷域名(200 OK);
3 子域名格局要求为:http(s)://yourdomain.microsoft.com,域名前面能够有参数;
3 域名起源非法,遵纪守法。
2. 我的承诺:
1 窃密,不把域名分享给其他人,不自私占有检测成绩,检测成绩归域名提供者所有。
3. 软件检测范畴
(1) 软件能够检测的输出源(source)如下:
1.document.baseURI
2.document.cookie
3.document.documentURI
4.document.domain
5.document.URL
6.document.referrer
7.document.textContent
8.document.title
9.location.hash
10.location.hostname
11.location.href
12.location.pathname
13.location.search
14.element.innerHTML
(2) 可检测的威逼产生点(sink)如下:
1.document.write()
2.document.writeln()
3.setTimeout()
4.setInterval()
5.Function()
6.alert()
7.eval()
4. 软件检测演示图
图中标记 1 是具备 Taint Tracking 技术的 chromium 浏览器;标记 2 是测试用例(index-1.htm)源码; 标记 3 是检测后果,上面具体阐明检测后果:
第 1 行,[hash]#XSSTestCase
阐明被测网页中读取了 location.hash,值为:#XSSTestCase
;
第 2 行,[href]http://192.168.179.1/index-1.htm#XSSTestCase
阐明被测网页中读取了 location.href,值为:http://192.168.179.1/index-1.htm#XSSTestCase
;
第 3 行,[Sink:write:<p>the V8TEST is:#XSSTestCasehttp://192.168.179.1/index-1.htm#XSSTestCase</p> , 910215, [ADD:[hash][href]]]
这一项采纳逗号分隔,阐明发现了 source 到 sink 之间的门路。
其中 Sink:write:<p>the V8TEST is:#XSSTestCasehttp://192.168.179.1/index-1.htm#XSSTestCase</p>
阐明检测到了 sink document.write,写入 DOM 的数据内容是 #XSSTestCasehttp://192.168.179.1/index-1.htm#XSSTestCase</p>
; 910215
是测试 flag,与后果无关;[ADD:[hash][href]]
阐明了写入 DOM 的数据的起源,ADD 示意加法操作,即 hash+href 的后果被 document.write 写入 DOM。 留神 检测后果不包含<p>the V8TEST is
,尽管它也与 hash+ href 一起写入 DOM,但它是攻击者不可控的有害数据。
5. 软件演示视频
B 站视频地址:https://www.bilibili.com/vide…
软件还在更新中,恳请您提出宝贵意见