Django之基于iframe的ajax伪造
程序员文章站
2024-01-18 15:14:10
IFRAME是HTML标签,作用是文档中的文档,或者浮动的框架(FRAME)。iframe元素会创建包含另外一个文档的内联框架 ajax的理念是不进行浏览器页面刷新的信息获取更新,也就是局部刷新。 那么伪造ajax的方式即为将向服务端发送请求返回的数据返回到iframe中,再使用js从iframe中 ......
iframe是html标签,作用是文档中的文档,或者浮动的框架(frame)。iframe元素会创建包含另外一个文档的内联框架
ajax的理念是不进行浏览器页面刷新的信息获取更新,也就是局部刷新。
那么伪造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))
推荐阅读
-
基于Django与ajax之间的json传输方法
-
基于Django与ajax之间的json传输方法
-
vue 组件的封装之基于axios的ajax请求方法
-
Django之CSRF跨站请求伪造(老掉牙的钓鱼网站模拟)
-
PHP ajax跨子域的解决方案之document.domain+iframe实例分析
-
Django 基于 jquery 的 ajax
-
vue 组件的封装之基于axios的ajax请求方法
-
django学习之ajax post传参的2种格式实例
-
PHP ajax跨子域的解决方案之document.domain+iframe实例分析
-
Django之CSRF跨站请求伪造(老掉牙的钓鱼网站模拟)