稻草人企业站1.1.5代码审计

admin 2020年6月24日17:35:45评论555 views字数 1135阅读3分47秒阅读模式

王叹之@星盟

0x00 前言

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

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

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

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

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

稻草人企业站1.1.5代码审计
这里看到txt文件,访问一下
稻草人企业站1.1.5代码审计
稻草人企业站1.1.5代码审计

可以看到有敏感信息泄露
而且通过D盾文件监控我们发现有配置文件的写入
稻草人企业站1.1.5代码审计
根据经验,我们测试一下内容可不可控,如果可控我们可以想办法写木马进去。
经过测试,(这里正常回显不报错),

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

稻草人企业站1.1.5代码审计
稻草人企业站1.1.5代码审计
成功写入--
我们去看一下源码:
稻草人企业站1.1.5代码审计
可以看到这里就是我们的写入点
这里虽然引入了配置文件起到了过滤作用,但是并没有对我们写入做任何限制--

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

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

首先进去后台,我们黑盒测试一下上传点,这里很多图片上传点
我们随便找一个上传php文件
稻草人企业站1.1.5代码审计
这个好像是只对Content-Type: 做了判断,我们来验证一下
稻草人企业站1.1.5代码审计

这里回显正常
而且前端直接暴露了我们上传的地址,直接上蚁剑连接:
稻草人企业站1.1.5代码审计
成功getshell。
事实上后台所有能上传图片的地方都是通过这种方式验证,导致我们可以在多处getshell。
我们看一下代码
include/class/class.upload.php
稻草人企业站1.1.5代码审计
稻草人企业站1.1.5代码审计
这里仅仅对文件类型通过allow_files 这个数组中的白名单检测,导致我们可以轻松绕过--

后台任意文件删除

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

先创建一个文件测试
稻草人企业站1.1.5代码审计
我们将当前目录下的robots.php修改成test.php试试
稻草人企业站1.1.5代码审计
稻草人企业站1.1.5代码审计
删除文件成功。

我们来看代码
稻草人企业站1.1.5代码审计
这里cpath变量可控,当?action=del_file时导致我们达成任意文件删除

总结

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

本文来源于互联网:稻草人企业站1.1.5代码审计

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年6月24日17:35:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   稻草人企业站1.1.5代码审计https://cn-sec.com/archives/78148.html

发表评论

匿名网友 填写信息