用户
搜索

该用户从未签到

i春秋-见习白帽

公众号:白帽子左一

Rank: 3Rank: 3

24

主题

50

帖子

465

魔法币
收听
0
粉丝
4
注册时间
2018-8-14
ZKAQ i春秋-见习白帽 公众号:白帽子左一 楼主
发表于 2021-5-18 14:58:43 02712
作者:掌控安全- holic

前言
CSRF感觉似乎很不值钱的样子,我前几天审计出了3个后台存储xss+csrf

然后cnvd跟我说不收csrf和后台存储xss,自此后台我从不找xss和csrf

但是毕竟作为目前毕竟出名流行的一个漏洞,还是讲解一下,我会讲的很简单,ojbk


0x01 CSRF介绍

CSRF的全名为Cross-site request forgery,它的中文名为 跨站请求伪造

CSRF是一种夹持用户在已经登陆的web应用程序上执行非本意的操作的攻击方式。

1).CSRF是利用了系统对页面浏览器的信任

2).XSS则利用了系统对用户的信任。

原理:
攻击者盗用了你的身份,以你的名义发送恶意请求

CSRF能够做的事情有:

以你的名义发送邮件、发消息、盗取你的账号,甚至于购买商品,虚拟货币转账

0x02.本地靶场演示csrf
这个cms是我找的,提交cnvd不收,我就拿出来讲QAQ

cms下载地址:点击跳转下载



因为存在csrf和xss,然后刚好想到这里友链有csrf和xss

那我们就直接制作一个poc



copy一下,然后复制到html中,我们再用火狐打开


上面看到了友链是没有链接的,然后我们点击我们的poc


然后发现success成功了,我们去前台刷新,看会不会跳xss弹窗



成功的弹窗了,我第一时间想到就是蠕虫,哈哈哈



然后我们再去后台看下是否添加了



没错,添加好了。如果要细节的话可以这样写

https://www.baidu.com<script>alert(1)</script>

因为后面那串代码会被拼接到站点去执行,所以是看不见的

只会看到baidu的url,这就是出其不意

0x03 剖析CSRF漏洞原理
下面友链简称 a页面

csrf.html(也就是burp生成poc)简称 b页面

a页面需要管理员登录的情况下,然后诱惑管理员点击b页面,这时候因为b页面有我们的恶意代码

他会借用a页面中的管理员,去执行b页面中的恶意payload

为什么会执行b页面的内容呢?
因为a页面管理员登录的情况下,是会有个cookie

然后你再打开一下其他页面,就不需要再次登录,而csrf就是借用管理员的cookie,去执行我们编辑友链的表单,

于是乎就打出了csrf


核心代码在这个地方

第一个if 是给变量赋值,然后以POST传参形式的

第二个if 判断 title不能为空



然后就执行第二个if,然后发现getrs不知道是什么函数,去定位一下



发现这里是$conn就是连接数据库,不用去看也猜得到的

然后是执行mysqli_query,$conn连接数据库,然后value就是执行的sql语句

if(getrs("select * from sl_link where L_title='$L_title' and L_del=0","L_id")==""){

这句就是查询数据库,看是否存在,不存在的时候才会执行下一步的,这时候我们再去插入数据库

接下来就是回显内容,回显内容就不说了

从这边可以看见,这边没有token,也没有二次校验

导致可以造成xss,插入数据库的时候也没有对其进行使用htmlspecialchars()去过滤,

这时候即存在xss,又存在csrf,本来还想测测是不是存在注入,由于写的文章是关于csrf的,我就不继续测试了

所以就造成了xss+csrf



这边提到xss了,我也提一下。

关于xss的审计小知识,应该大佬都知道,我就简单的讲讲。

存储型xss是在第二步的时候会进行过滤,如果②没过滤的话,基本就存在xss了

(除非config.php这种配置文件有过滤QAQ)

关于过滤这方面的话百度一下就可以了,我不多废话。

可以进行二次校验,或者校验token,或者判断refer头是从哪里来

一些小思考,这个cms可以csrf添加超级管理员

csrf危害有时候也挺大的,比如后台getshell,这时候可以尝试配合csrf,哈哈哈

总结
这边其实还有个添加管理员的漏洞,可以使用这个洞去添加管理员。这样更方便,具体可以留给新来的同学研究。

这里的利用思路也很简单。

这边先是利用csrf中去添加友链,然后再添加友链的地方做个手脚,打个存储型xss

(你以为这样就完了吗,不)

记得flash钓鱼吗,这配合起来就会一直提示flash版本过低

就会跳转到我们自己搭建的flash页面上,(前提是得免杀)

然后去下载我们伪造的木马,这不就很好的打了一波配合

我们先看下前端底部的友链



然后我们在后端这边稍微偷偷的改一下




这时候你就发现有弹窗了



然后看下友链,你会发现一点破绽都没有,简直是躺着 吊肉鸡



只有当你看源代码的时候才会发现这玩意,嘿嘿

这时候我们flash钓鱼,就得去GITHub上面找一下页面源码



然后还得需要一个服务器和域名

(我只有服务器,没有域名,就不演示了)


就简单的直接打开看一下,然后就坐等cs上线肉鸡了

等我有空的时候我会本地搭建详细的去部署,奥利给

欢迎关注官方公众号:掌控安全EDU

发新帖
您需要登录后才可以回帖 登录 | 立即注册