【问题标题】:PHP cURL hacking php authenticationPHP cURL 黑客 php 身份验证
【发布时间】: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


【解决方案1】:

受保护的区域/页面/页面应该具有某种级别的验证用户是否有效 - 即:用户登录并设置会话 cookie,然后检查该 cookie。此外,如果在 apache 网络服务器上,您可能会使用 .htaccess 文件作为受保护页面的二级安全性。

【讨论】:

  • “受保护的区域/页面/页面应该有一定程度的验证用户是否有效 - 即:用户登录并设置会话 cookie,然后检查该 cookie。”它就是这样儿的。现在至于 .htaccess 文件,你能详细说明一下吗?我是否需要额外的 .htaccess 仅用于 admin 文件夹?我应该在其中包含什么。
  • 是的,将一个新的 .htaccess 文件放在 admin 文件夹的根级别 - 或您希望保护的任何文件夹。在该 .htaccess 文件中,您需要指定所需的身份验证类型、用户名/组和 .htpasswd 文件的路径。如果这些页面正在使用某种验证(cookies、会话变量),那么如果您能够通过简单的 curl 请求绕过它,那么一定有问题。
猜你喜欢
  • 1970-01-01
  • 2020-09-11
  • 1970-01-01
  • 2015-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多