关于Ajax Hacking的问题

Jak*_*ake 3 php security ajax zend-framework jquery-ui

所有,

我有一个用Zend Framework和MVC编写的PHP网站.大多数控制器操作检查请求是否是Ajax请求,否则他们将用户重定向到主页.我正在考虑打破该网站的各种方法.我正在考虑以下场景:

  1. 用户在其本地计算机上创建自己的PHP项目.
  2. 用户将JQuery ajax发布请求写入我网站上的某个控制器,并尝试发布恶意信息.例如:

    $.ajax({
        type: 'POST',
        url: "https://marketsite/getinfo/getstuff",
        cache: false,
        dataType: "html",
        success: function(html_response){
            alert(html_response);
        },
        error: function(xhr,ajaxOptions,errorThrown){
            alert(errorThrown);
        }
    });
    
    Run Code Online (Sandbox Code Playgroud)

我的问题是上面的ajax请求中的"url"属性是否采用绝对路径?我知道这需要相对路径.此外,是否可以通过发送此类请求来破坏任何网站?

谢谢

Que*_*tin 5

我的问题是上面的ajax请求中的"url"属性是否采用绝对路径?

所述同源策略防止从JavaScript的发出请求和读出响应,除非它是到相同的主机,端口和协议.

这并不能阻止攻击者发出他们喜欢的任何HTTP请求(手动构建一个看起来与通过JS制作的一样微不足道)并且它不会阻止攻击者欺骗用户向攻击者发出任何请求喜欢(它确实阻止攻击者获得对该请求的响应).

攻击者无需使用PHP或任何其他服务器端语言来执行此操作.

此外,是否可以通过发送此类请求来破坏任何网站?

这取决于网站的编写方式.您应该对设计用于通过JavaScript访问的URI应用相同的安全检查,这些URI是专为访问而设计的,具有来自浏览器的直接请求.