记某cms的漏洞挖掘之旅

访客4年前黑客文章1064

任意文件写入

这个 cms 是基于 thinkphp5.1 的基础开发的,一般我们挖 cms 如果想 rce 的话,可以在 application 文件夹直接搜索等危险函数,如下图,我们直接全局定位到这个 *** 里面的

image-20210310172633211.png

我们看到之一个参数,他是被拼接了这么一段路径

其中是我们可控的,那么一般就可以考虑下是否存在路径穿越的问题

再看到第二个参数也是我们可控的

所以这里就比较清晰了,我们只需要就可以进行路径穿越,也对我们写入 php 代码没有什么影响,所以我们直接 post 传参 即可

image-20210310172752681.png

可以看到已经成功 rce

image-20210310172822426.png

任意文件读取

我们再顺着这个 *** 往下瞅瞅,发现还有一个,他的参数也是,所以这里也是我们可控的,不同的是进入这个 else 分支我们用 get 传参即可

我们直接传入,发现已经成功把读取出来了

image-20210310172854121.png

反序列化漏洞

上面两个漏洞是利用了和,这两个函数都是涉及了 IO 的操作函数,也就是说可以进行操作 phar 反序列化漏洞,但是他们的路径并不是完全可控的,只是后面一小部分可控,所以这条路走不通,所以接下来的思路就是搜索有没有可以操作的函数

我们直接全局搜索,一个一个分析是否可以利用

image-20210310173002672.png

这里我的运气比较好,映入眼帘的是这个 *** ,他的是直接可控的,文章的开头说了这个 cms 是基于 thinkphp5.1 二次开发的,所以我们可以直接利用这个漏洞生成 phar 文件来进行 rce

我们首先看看能不能上传 phar 文件,在后台一处发现可以上传文件

image-20210310173022810.png

我们先抓个包试试水,发现提示非法图片文件,应该是写了什么过滤

image-20210310173101898.png

我们找到这个函数发现对图片的类型和大小进行了一些验证

然后尝试加了GIF89a头就可以上传了,看来多打CTF还是有用的,于是直接上传我们的 phar 文件就好了

这里要记得生成 phar 文件的时候要要加入GIF89a头来绕过,如下

可以看到已经成功上传了,同时记住下面那个路径

image-20210310171836728.png

最后我们在这里触发我们的文件就可以了

image-20210310173202413.png

总结

本篇的漏洞已经全部上交cnvd,这个 cms 总的来说比较适合练手,主要的切入点还是通过白盒通过寻找一些危险的函数,再想方设法的去控制它的参数变量

本文涉及相关实验:任意文件下载漏洞的代码审计(过本节的学习,了解文件下载漏洞的原理,通过代码审计掌握文件下载漏洞产生的原因以及修复 *** 。)

相关文章

高级SEO干货:标题的分词玩法和集权操作

高级SEO干货:标题的分词玩法和集权操作

标题是一个网站的灵魂,有多少人在为了取一个好的标题而愁白了头发,有多少人取了一个烂标题而被老板臭骂,有多少人取个烂标题结果永远看不到排名!!!网站标题怎么写?SEO小白的我已经江郎才尽了,怎么办?...

早产儿辅食几个月添加 早产儿辅食添加时间

早产儿辅食几个月添加 早产儿辅食添加时间

早产婴儿必须测算恰当的纠正年纪,才能够在规范的時间内给孩子辅食添加,过迟或过迟针对早产婴儿人体都是有不太好的危害,那麼早产婴儿宝宝辅食好多个月加上?下边我产生详细介绍。 早产婴儿添加辅食時间...

传《使命召唤17》发生在越南 今年12月才发售

传《使命召唤17》发生在越南 今年12月才发售

一直以来,关于今年的《使命召唤17》,有传闻称是“黑色行动”系列的新作,将是由T组主导开发,大锤和Rave Software辅助开发,可能将和《使命召唤16》一样将是一次重启。然而根据最新的传闻,情况...

网上如何赚钱?网上如何赚钱的方法

外出上班找工作是当下的基本工作常态,但是当自己一个人在家时,我们同样可以通过自己的智慧和才能,在网络上进行赚钱收益,这同样会成为个人一笔不菲的收入。接下来我就介绍一下当前可以利用网络来赚钱的15个项目...

陈羽凡白百合离婚(陈羽凡再现身揭开和白百何离婚内幕​)

陈羽凡白百合离婚(陈羽凡再现身揭开和白百何离婚百思特网内幕) 01 “我有老婆,也有女友” “如果伴侣同意,你会和其他异性发生性关系吗?” 这是一个看似艰难的灵魂拷问,先别急,带着你的...

入侵电脑最简单的方法

  我不懂入侵,想学点入侵,各位黑客,教教5吧   要简单的哦.   去下载个端口扫描工具 比如S扫描器 扫个3389吧   运行 mstsc 把扫到的依次连接 碰碰运气 如果运气好就能成功登陆 一次...