IFRAME是HTML标签,作用是文档中的文档,或者浮动的框架(FRAME)。iframe元素会创建包含另外一个文档的内联框架

ajax的理念是不进行浏览器页面刷新的信息获取更新,也就是局部刷新。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

那么伪造ajax的方式即为将向服务端发送请求返回的数据返回到iframe中,再使用js从iframe中的文档中取出数据使用。

具体方式简单举例:


<form action="/login/" method="post" target="iframe_1" >
        <iframe style="display: none" id="iframe_1" name="iframe_1" src="" onload="loadIframe();"></iframe>
        <input type="text" name="user" />
        <input type="password" name="pwd" />
        <input type="submit" />
    {% csrf_token %}
</form>

onload函数为


function loadIframe() {
    var str_json = $('#iframe_1').contents().find('body').text();   //找到iframe中的内容
     var obj = JSON.parse(str_json);
   console.log(obj.message)
}

python视图函数:


def login(req):
    if req.method == 'GET':
        return render(req,'app1/login.html')
    if req.method=='POST':
        ret = {'message': 'ajax伪造成功'}
        return HttpResponse(json.dumps(ret))
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄