说我想恶意地调用已经定义的函数myfunc()。xss绕过尖括号和双引号转义
如何绕过双引号和尖括号转义来实现xss攻击?
<h2>Profile of INPUTNAME</h2><p>INPUT2</p><a href="INPUTURL">Homepage</a>
(上盒领域是用户输入) 我怎么能叫MYFUNC()不增加它周围的脚本标记?
说我想恶意地调用已经定义的函数myfunc()。xss绕过尖括号和双引号转义
如何绕过双引号和尖括号转义来实现xss攻击?
<h2>Profile of INPUTNAME</h2><p>INPUT2</p><a href="INPUTURL">Homepage</a>
(上盒领域是用户输入) 我怎么能叫MYFUNC()不增加它周围的脚本标记?
你可以试试这些注射
INPUTNAME=<img src=X onerror=myfunc>
INPUTURL="><img src=X onerror=myfunc>
将尝试调用MYFUNC javascript函数,因为它将无法加载名为X
(UN)的图像幸运似乎XSS不会在这种情况下是可能的。
如果尖括号和双引号字符被转义,这足以阻止HTML正文中的XSS和双引号实体值上下文。
从技术上讲,对于HTML正文XSS Experimental Minimal Encoding Rules,&
字符也应该被编码,但我不能在这里看到一种方法来将它用于HTML正文或实体值中的攻击者的优势。
唯一的例外是如果该字符集被指定为UTF-7 (or as the attacker you could change it to such) then you could use the following attack:
INPUTNAME = +ADw-script+AD4-myfunc()+ADw-/script+AD4-
这将被渲染为
<h2>Profile of <script>myfunc()</script></h2><p>INPUT2</p><a href="http://example.com">Homepage</a>
UTF-7是否适用于现代浏览器?在''标签中设置它似乎没有任何作用。 – 2015-06-18 03:39:18
是的,Internet Explorer仍然支持它(不是Chrome或FF)。您可能需要将内容类型设置为HTTP标头而不是元标签。 – SilverlightFox 2015-06-18 12:10:07
如果你躲避'&',攻击者可能用unicode编码有效载荷? – 2016-05-26 04:11:27
我已经试过了,但双引号和尖括号被编码,因此不能生成有效的html语句。 – ccczhang 2015-04-03 04:56:57
嗯,那么它将会更加困难,但会尝试使用空字节,例如%00
...如果您将验证或编码委托给本地调用(如C),它将会工作。如果INPUTURL没有被引用,我们可以尝试许多其他的东西,但由于它被引用,我们不能注入JS调用。 –
2015-04-03 05:06:47