【发布时间】:2015-02-20 21:16:19
【问题描述】:
我在远程主机中有一个网站,通过普通的 php 身份验证进入网站的管理区域,即登录详细信息存储在 db 中,并对照它检查用户输入。我最近才开始学习 PHP cURL,并在我的 localhost 中做了一些实验。使用获取页面功能,我能够绕过远程网站的身份验证并进入管理区域。
PHP 卷曲:
$cSession = curl_init();
curl_setopt($cSession,CURLOPT_URL,"http://myremotesite.com/admin/profit");
curl_setopt($cSession, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cSession, CURLOPT_HEADER, false);
$result = curl_exec($cSession);
echo $result;
我期待重定向到管理员登录。这似乎是一个严重的安全问题。我还应该提到我的远程网站没有使用任何形式的SiteLock。
【问题讨论】:
-
当您手动打开该链接时会发生什么?可能相同,因为您可能从未检查过管理员是否实际登录。
-
听起来网站没有正确检查您是否真正登录。它需要使用会话变量来跟踪。
-
我没有看到任何 cookie 代码,也没有登录后的操作。会不会,你只是来访的?
-
我认为您的代码没有任何问题,问题出在远程站点。
-
@KoenHoeijmakers 检查会话是正确的。我无法手动访问任何管理页面。
标签: php authentication curl