1

这里的第二段代码http://anautonomouszone.com/blog/xss-cheat-sheet,声称通过url编码绕过html特殊字符过滤(意思是,<>):

Bypass filter when it strips <script> tags:
%253cscript%253ealert(document.cookie)%253c/script%253e

显然这是 URL 编码,它使服务器不知道原始内容,但我不可能看到它何时转换回<script>.

服务器像这样获取它,然后将其发送回去。HTTP 内容未编码,因此用户将按原样获取。

我错过了什么?php函数是这样htmlspecialchars吗?

编辑 :

在我在聊天中被误解之后,我会尽量让自己清楚。

这取自 XSS 备忘单。和其他 XSSes 教程。意思是,这是一种试图绕过一些针对XSS 的方法的方法。

我想理解的很简单:

  • 它可以绕过哪些方法(即在什么情况下这对攻击者有帮助)?
  • 它是如何发生的?它什么时候解码回到<script>http-respone?
  • 我可以做些什么来避免在我的网站上出现这种情况?

请注意,这在许多站点中都有,因此它可能不是指百万分之一的开发人员错误,而是在某种程度上很可能发生的事情。

非常感谢。

4

1 回答 1

1

几种方法:

  • 寻找标签的简单 XSS 过滤器/IDS 等如果不解码两次可能会被愚弄
  • 由于软件的复杂性,有时会发生应用服务器对值进行两次解码的情况
  • 开发人员也会误解框架并添加额外的 url 解码,即使它已经由服务器完成

编辑: 这是描述攻击的 OWASP 页面。在底部有两个指向真正漏洞的链接: https ://www.owasp.org/index.php/Double_Encoding

于 2012-08-21T20:18:22.917 回答