xss绕过尖括号和双引号转义

时间:2015-04-03 03:49:59

标签: security xss

假设我想恶意调用已经定义的函数myfunc()。

我怎样才能绕过双引号和尖括号转义来实现xss攻击?

<h2>Profile of INPUTNAME</h2><p>INPUT2</p><a href="INPUTURL">Homepage</a>

(大写字段是用户输入) 如何在不添加脚本标签的情况下调用myfunc()?

3 个答案:

答案 0 :(得分:2)

(联合国)幸运的是,在这种情况下,XSS似乎无法实现。

如果转义尖括号和双引号字符,这足以阻止HTML正文中的XSS和双引号实体值上下文。

从技术上来说,在XSS Experimental Minimal Encoding Rules的HTML正文下,&字符也应该被编码,但是我无法在这里找到一种方法将其用于攻击者的优势在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>

答案 1 :(得分:1)

您可以尝试这些注射

INPUTNAME=<img src=X onerror=myfunc>
INPUTURL="><img src=X onerror=myfunc>

会尝试调用myfunc javascript函数,因为它无法加载名为X的图像

答案 2 :(得分:0)

尝试此注入:<a href="javascript:myFunc();">; 当有人单击链接时,代码将运行。 如果要传递字符串参数,请使用斜杠(例如/ string / vs“ string”)