PHP或浏览器安全黑客关注和奇怪的行为

时间:2012-11-30 21:09:57

标签: php security post get

在从开发服务器转移到生产期间,我注意到了潜在的浏览器安全问题。

在PHP文件中,我有一个简单的登录表单POST。基本HTML看起来像:

<form action="http://mysite.com/includes/login/login.php" method="post">
        <table>
          <tr>
            <td>
                Username:
            </td>
            <td>
                <input type="text" name="username" size="15" maxlength="64"  tabindex=1 />
            </td>                
            </tr>
            <tr>
                <td>
                    Password:
                </td>
                <td>
                    <input type="password" name="pword" size="15" maxlength="40" tabindex=2 />
                </td>
            </tr>
        </table>
    <p><input type="submit" name="submit" value="Login"  tabindex=3 /></p>
    <input type="hidden" name="submitted" value="TRUE" />
</form>​​​​​​​

我注意到当我(通过意外)消除表单操作的结尾引用(例如,<form action="http://mysite.com/includes/login/login.php method="post">)时,表单被重定向到“未找到的页面”。但它还将$_POST数据附加为$_GET数据。因此浏览器将登录信息显示为:

http://mysite.com/includes/login/login.php%20method=?username=theperson&pword=happyday&submit=Login&submitted=TRUE

我在IE和Chrome中获得相同的响应。这是一个很大的安全漏洞吗?我知道我可以在开发人员工具中查看类似的信息,但我想知道黑客是否可以使用它,以及是否有任何我应该采取的措施来保护它。此外,任何人都可以解释为什么$_POST数据已转换为$_GET数据?

3 个答案:

答案 0 :(得分:3)

这里只有一个答案,它被转换可能是因为错过了最后"它使<form>元素无效,因此浏览器默认为GET请求。

答案 1 :(得分:2)

简答:不。你无需担心。

答案很长?

您正在谈论的漏洞是网站本身的代码错误是否正确?如果是这种情况,如果您将错误留在代码中,那么它只是一个安全漏洞

黑客将无法修改网站上的html代码来创建此故障。他们唯一能做的就是下载html代码,创建一个新的html文档并进行修改。在这种情况下,带有bug的html只能在他们的计算机上而不是在生产站点上,这意味着其他用户不会受到影响。

如果黑客能够修改网络服务器上的文件 ,那么您的安全漏洞就在其他地方,不在本问题的范围内。

答案 2 :(得分:1)

如果您的表单如下所示:

<form action="http://mysite.com/includes/login/login.php method="post">

它等同于:

<form action="http://mysite.com/includes/login/login.php method=" post">

具有两个属性的表单中的will result

  • actionhttp://mysite.com/includes/login/login.php method=
  • post"

由于没有指定方法属性,因此暗示了方法GET。

此处唯一的安全考虑因素是敏感数据是通过URL发送的,除了您通过非安全通道发送登录凭据之外,它还可以显示在代理和服务器日志中。