如何防范此类攻击?

a c*_*der 7 javascript php security xss

我最近有人对一个应用程序运行了一次渗透测试,它发现的一个关键问题是在这样的 URL 中传递了一些垃圾:

http://example.com/index.php/
%27%3e%3c%69%4d%67%20%53%72%43%3d%78%20%4f%6e%45%72%52%6f%52%3d%61%6c%65%
72%74%28%34%37%34%31%32%29%3e
Run Code Online (Sandbox Code Playgroud)

问题在于,攻击者只需添加一个斜杠,然后添加一些编码的 javascript(带有警告框的图像标签),这会杀死页面。简单有效的攻击。

我该如何编码?我已经在清理所有预期的用户输入(例如当用户通过时index.php?id=<script>alert(1)</script>)。那部分工作正常。

我如何防止上面第一段下面引用的意外数据? (另外,这种类型的 XSS 攻击有具体的名称吗?)

lma*_*occ 9

小心使用 $_SERVER['PHP_SELF]

你应该做htmlspecialchars($_SERVER["PHP_SELF"]);htmlentities($_SERVER["PHP_SELF"]);

这是正常的 XSS 攻击。

更多信息: 信息


a c*_*der 5

$_SERVER['PHP_SELF']href标签中使用,所以这是触发 JavaScript 的地方。

解决方法很简单。我PHP_SELF在使用前通过了过滤器,任何通过的垃圾都会被清理干净,可以安全地在页面上使用。