【发布时间】:2013-05-12 19:51:05
【问题描述】:
OWASP 的 ZAP 的结果对于消除我网站的易受攻击部分非常有用。
但是,我发现了很多我根本无法修复的结果。例如,它已将 javascript:alert(1); 放入变量的 get 参数之一。然后这个变量由 PHP 在隐藏元素的 value 属性中输出。所以最终的 HTML 看起来像:
<input type="hidden" name="someName" id="someID" value="javascript:alert(1);"/>
此值通常用于使用 JavaScript 填充下拉列表。如果为 1,则显示可选的搜索过滤器,如果为 0,则不显示任何内容。所以它只用于失败的字符串比较。
我看不出有什么办法可以利用它,警报不会像 ZAP 向我展示的其他攻击那样运行。输出经过编码,因此它们无法像之前发现的攻击一样,通过以 "/> 提前结束引号或元素来注入 HTML,因为这些字符成为它们的 HTML 实体对应物。
这是否只是 ZAP 与页面源中的输入字符串匹配的误报,因为编码 javascript:alert(1); 仍然与 javascript:alert(1); 完全相同?
【问题讨论】:
标签: php javascript xss owasp