查看客户的旧代码,他正在使用
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" />
我想知道它是否受XSS限制,但是当我尝试时:
form.php"><script>alert('xss');</script>
=&gt; 404没有找到Apache form.php/"><script>alert('xss');</script>
=&gt; 404来自我的应用我必须指定我还在网址中使用?action = specific_page进行正常使用。
这是否意味着使用PHP_SELF
无法实现XSS,或者这是否意味着我正在以错误的方式尝试?
答案 0 :(得分:4)
如果您的表单位于form.php
脚本,请尝试使用浏览器中的网址http://yoursite.com/form.php/"><script>alert('XSS')</script>
访问该表单,以查看它是否容易被注入。
如果它没有执行任何操作,则您的配置会阻止此操作,至少对于此特定文件而言。
(当然,你应该使用类似htmlspecialchars($_SERVER['SCRIPT_NAME'])
的东西。)