利用Cross-site Script进入内网的攻击方式

最近在研究的一种利用cross-site scripting进入企业或者个人内网的攻击方式,流程如下:

1.黑客在一个有xss漏洞的internet网站上注入javascript代码,这段代码能在网页被访问时自动在后台执行,用AJAX中常用到的XMLHTTP Get Request得到内网信息,用XMLHTTP Post Request发送信息到黑客的站点。

2.一个内网用户访问这个被注入的internet网站,因为该internet网站服务器同时也在企业内网中,于是XMLHTTP Get Request使用当前用户的身份,访问到内网的网站。成功返回后在使用XMLHTTP Post Request发送信息到黑客的站点。

3.黑客站点收到Post Request后对数据进行解析,并保存。

而该攻击对内网(intranet)十分有效的另外一点是因为IE的默认设置,默认情况下Intranet的Security Level是‘中低’,而且

Internet Options -> Security Settings -> Miscellaneous -> Access data source across domains 的默认选项是‘Prompt’

也就是所当js脚本在后台做跨站点数据传送的时候,前台用户只会说到一个提示框。

而firefox2中则默认禁止了跨站点数据传送,所以这种攻击无法在firefox2中实现。

Sample Code 下载

SPI Dynamics 利用该方法写了一个扫描内网的脚本,能够将内网信息一览无遗:

http://www.spidynamics.com/spilabs/education/articles/JS-portscan.html