最近我读了一篇帖子 - Web Application Design Does Matter - Google Chrome XSS Auditor Bypass : Version <= 32.0.1700.41 m Aura !
它介绍了一种绕过google-chrome的xss审核员的方法。
在帖子中说:
...让我们分析一下最新(及早期)版Google的旁路 Chrome浏览器。网页网址如下所示: http://www.example.com/index.php?m=login 生成如下表单:对于注射,我们精心制作 URL如下:
http://www.example.com/index.php/“onmouseover =”JavaScript:alert(document.location)“name =”?m = login。
在这次注射中,我们没有注入“m”参数 使用了URI结构。想法是调整表格 布局而不是“m”参数接受的值。如果你放置 在“m”参数中注入,它将被XSS Auditor取消。 让我们看看注入是如何发生的:因此,Google Chrome XSS 审计员被绕过。**
我的问题是如何才能通过仅使用uri来更改表单?我已经尝试了这个但是它不起作用。
是否与“m”参数有关?由于代码不处理$_GET[]
,所以我没有看到任何方法将js代码嵌入到表单标记中。
答案 0 :(得分:3)
那是因为经常像
<form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="POST">
用于将表单POST发送到它呈现的同一页面。这里的问题是有人可以操纵URL本身,而不仅仅是查询字符串。因此,在这种情况下,$_SERVER['REQUEST_URI']
呈现未转义,因此容易出现XSS。