【问题标题】:Changing a ajax request to a different php file vulnerability, potential exploit clarification将 ajax 请求更改为不同的 php 文件漏洞,潜在利用说明
【发布时间】:2017-04-28 14:56:32
【问题描述】:

我正在创建一个应用程序,它接受 ajax 调用 (jquery) 并将经过验证的用户返回到网站的入口令牌。

例如,ajax 被称为 checkAuth.php,并且该目录中还有所有其他 php 文件。通过更改 JS 来验证另一个文件,例如 checkMail.php:

var xmlRequest = $.ajax({
  url: "checkAuth.php",
  processData: false,
  data: xmlDocument
});

将 url 更改为 checkMail.php 并在站点中创建漏洞?

var xmlRequest = $.ajax({
  url: "checkMail.php",
  processData: false,
  data: xmlDocument
});

虽然结果会返回一个不同的对象,但这样做是否会创建一个“敞开的门”,也许恶意用户会继续发送请求以获得访问权限?我知道用户必须知道 php 文件存在,但是我不确定如何在维护目录结构的同时安全地处理它。 请注意,这不是我的实际代码,我无法通过这些其他帖子澄清答案,或者我没有正确理解这一点。

编辑:此外 - 这是否意味着任何使用 jquery 的站点都能够从服务器 ajax 请求任何文件并创建漏洞?

How to authenticate an AJAX request to a PHP file?

Question regarding Ajax Hacking

Ajax Security questions

How to send secure AJAX requests with PHP and jQuery

【问题讨论】:

    标签: javascript php jquery ajax security


    【解决方案1】:

    一般来说,任何 AJAX 请求都可以访问通过 http 请求访问的所有文件,例如用户键入完整 URL 作为浏览器地址。

    因此,您必须在 PHP 脚本的开头检查安全令牌或其他内容。

    您可以使用 .htaccess 限制对文件夹或文件的访问,请参阅https://stackoverflow.com/a/11729748/3325396

    【讨论】:

    • 我不是说你错了你能澄清一下吗,因为如果在 htaccess 中允许 2 个文件,无论令牌如何,ajax 请求都可能暴露后一个文件?
    • 答案是“可以”。
    猜你喜欢
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 2023-03-06
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 1970-01-01
    相关资源
    最近更新 更多