稻草人企业站1.1.5代码审计

2020-06-24 约 67 字 预计阅读 1 分钟

声明:本文 【稻草人企业站1.1.5代码审计】 由作者 星盟安全团队 于 2020-06-24 10:05:07 首发 先知社区 曾经 浏览数 120 次

感谢 星盟安全团队 的辛苦付出!

王叹之@星盟

0x00 前言

晚上逛cnvd的时候看到了一个漏洞:稻草人企业站1.1.5存在getshell漏洞,拿来审计了一下。

审计对象:稻草人企业站1.1.5

下载地址:http://www.dcrcms.com/news.php?id=2

0x01 安装过程信息泄露和getshell

安装时使用D盾来做文件监控,bp重新发包抓包。我们先看安装之后的:


这里看到txt文件,访问一下

可以看到有敏感信息泄露
而且通过D盾文件监控我们发现有配置文件的写入

根据经验,我们测试一下内容可不可控,如果可控我们可以想办法写木马进去。
经过测试,(这里正常回显不报错),

tablepre=dcr_qy_';?><?php phpinfo()?>



成功写入--
我们去看一下源码:

可以看到这里就是我们的写入点
这里虽然引入了配置文件起到了过滤作用,但是并没有对我们写入做任何限制--

include "../include/common.func.php";
include "../include/app.info.php";

管理员后台任意文件上传导致getshell

首先进去后台,我们黑盒测试一下上传点,这里很多图片上传点
我们随便找一个上传php文件

这个好像是只对Content-Type: 做了判断,我们来验证一下

这里回显正常
而且前端直接暴露了我们上传的地址,直接上蚁剑连接:

成功getshell。
事实上后台所有能上传图片的地方都是通过这种方式验证,导致我们可以在多处getshell。
我们看一下代码
include/class/class.upload.php


这里仅仅对文件类型通过allow_files 这个数组中的白名单检测,导致我们可以轻松绕过--

后台任意文件删除

关于后台功能点任意文件删除这个严格来讲我认为不算漏洞,后台管理员赋予你的高权限使得你这里可以达到任意文件删除。。网上有的师傅认为后台文件任意文件删除是漏洞,这里拿出来写一下吧233

先创建一个文件测试

我们将当前目录下的robots.php修改成test.php试试


删除文件成功。

我们来看代码

这里cpath变量可控,当?action=del_file时导致我们达成任意文件删除

总结

审计这个cms并不难,毕竟是一个演示站远古版本的cms了。分析的很浅薄,代码也很简单,不管是通读全文,熟悉架构,还是追踪数据流都挺简单的。
这个cms几个漏洞都挺经典的,安装过程的getshell,后台的getshell和任意文件删除。审计这个拿来巩固了一下代审的知识吧2333
还有就是安装好cms后黑盒测试还是挺重要的。
最后目前笔者还处于学习阶段,如有分析的不对的地方或者见识浅薄的地方还望批评指正。(大佬轻点打orz)

关键词:[‘安全技术’, ‘漏洞分析’]


author

旭达网络

旭达网络技术博客,曾记录各种技术问题,一贴搞定.
本文采用知识共享署名 4.0 国际许可协议进行许可。

We notice you're using an adblocker. If you like our webite please keep us running by whitelisting this site in your ad blocker. We’re serving quality, related ads only. Thank you!

I've whitelisted your website.

Not now