实战审计cms之CSRF——CSRF+Xss+Flash钓鱼

更多渗透技能  欢迎搜索公众号:白帽子左一

作者:掌控安全-holic

前言

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

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

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

图片

0x01 CSRF介绍

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

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

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

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

原理:

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

CSRF能够做的事情有:

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

0x02.本地靶场演示csrf

这个cms是我找的,提交cnvd不收,我就拿出来讲QAQ

cms下载地址:http://down.chinaz.com/soft/39546.htm

实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第1张图片

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

那我们就直接制作一个poc

实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第2张图片

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

实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第3张图片

上面看到了友链是没有链接的,然后我们点击我们的poc
实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第4张图片

然后发现success成功了,我们去前台刷新,看会不会跳xss弹窗
实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第5张图片

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

实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第6张图片

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

实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第7张图片

没错,添加好了。

如果要细节的话可以这样写https://www.baidu.com

因为后面那串代码会被拼接到站点去执行,

所以是看不见的,只会看到baiduurl,这就是出其不意

0x03 剖析CSRF漏洞原理

下面友链简称 a页面

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

a页面需要管理员登录的情况下,然后诱惑管理员点击b页面,这时候因为b页面有我们的恶意代码,他会借用a页面中的管理员,去执行b页面中的恶意payload

为什么会执行b页面的内容呢?

因为a页面管理员登录的情况下,是会有个cookie

然后你再打开一下其他页面,就不需要再次登录,

而csrf就是借用管理员的cookie,去执行我们编辑友链的表单,于是乎就打出了csrf
实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第8张图片

核心代码在这个地方

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

第二个if 判断 title不能为空

实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第9张图片

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

实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第10张图片

发现这里是$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

实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第11张图片

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

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

存储型xss是在第二步的时候会进行过滤,如果②没过滤的话,基本就存在xss了
(除非config.php这种配置文件有过滤QAQ)

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

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

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

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

总结

本篇文章讲的简单易懂,如果懂了,那就懂了,不懂可以问问

这边其实还有个添加管理员的漏洞,可以使用这个洞去添加管理员。

这样更方便,具体可以留给新来的同学研究。

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

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

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

记得flash钓鱼吗,这配合起来就会一直提示flash版本过低,就会跳转到我们自己搭建的flash页面上(前提是得免杀)

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

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

实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第12张图片

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

实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第13张图片

这时候你就发现有弹窗了

实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第14张图片

实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第15张图片

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

实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第16张图片

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

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

实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第17张图片

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

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

实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第18张图片

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

等我有空的时候我会本地搭建详细的去部署,再会!
实战审计cms之CSRF——CSRF+Xss+Flash钓鱼_第19张图片

你可能感兴趣的:(实纪实战)