记一次对wuzhicms的审计(二)

简介: 记一次对wuzhicms的审计

第三处 后台sql注入

从前面两个分析 我发现的注入的地方就存在两个函数中get_list get_one

然后直接全局搜索这两个函数 看看什么地方调用

89f2afa5171440ac47ab608c5d31f222_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

可以看到 在copyfrom.php中listing函数下调用了这个函数

然后我们网上分析 看看什么是可控的

主要传进去的就一个$where 和 $page

e2f00780d0207cf6dbe62d5e75650d51_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

可以看到page会被intval()函数 转化为整数 所以我们不考虑它

我们看看where 在if内部 想要进入if 就需要通过GLOBALS获取到keywords

相当于就要传参嘛

然后在看里面 就没有过滤这些 直接拼接

这里也可以看出 闭合方式是百分号单引号 %’

5ed39453447ec85942581a42593854e2_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

我们在来到mysql文件中定义的这个函数 也可以看到 是对where没有过滤处理的

那么 有了前面的基础 直接来构造

payload:http://192.168.1.7/wuzhicms/index.php?m=core&f=copyfrom&v=listing&_su=wuzhicms&keywords=%27

235b532fe08b2f13e4f529b92dd092b3_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

7e63102241b7c4cf3b8070eda2620e09_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

报错了 直接插入报错注入的

payload:http://192.168.1.7/wuzhicms/index.php?m=core&f=copyfrom&v=listing&_su=wuzhicms&keywords=1%%27%20or%20extractvalue(1,concat(0x7e,(select%20database())))%23

1bae1809cb6b6a170a4058485c6201f9_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

第四处 后台任意文件删除

通过全局搜索unlink函数 来找文件删除

70d26256e9cf5df13d209f1c9b518dda_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

在这个文件下找到一个删除文件的函数 然后我们继续找哪里调用了这个函数

e94ffd9ebf06c19c00458d1adfc7d761_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

62fabd709ff7ff51691ec950e5e31b70_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

还是在这个文件 找到了一个del函数 里面调用了删除文件的函数

bd9ac469aee3e345abeced811b12d5bb_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然后来分析调用的过程 调用删除的时候通过把$path和ATTACHMENT_ROOT 拼接

而ATTACHMENT_ROOT是前面定义的一个默认路径

69330df6631a5cda69f6d0520559b12e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

path则是前面的$url 来的

在看前面的if 如果path有值则进入到if里面 然后经过的数据库的get_one查询操作 应该这里是要查出一个东西

但是因为我数据库是空的 则进入的是第一个if里面 哪怕是查出1条 也是可以的

这里也没有其他过滤

然后网上看url的来源

b521693fb6033dd32aea5a3a8acd0727_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

GLOBALS 那就可以直接通过传参的 前面也介绍了 id为空的话 也就进入到了else里面

到这里也就可以构造payload了

先在根目录下创建一个文件

0f775bdab2c33761c184e0e4546a9ac7_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


然后构造

http://192.168.1.7/wuzhicms/index.php?m=attachment&f=index&v=del&_su=wuzhicms&url=../1.txt

94473a75487ac49ac0f8a8b59af4e83c_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

这里我把最终删除的路径 打印了出来

256770a40fa054a6f84afa8fa344910f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


文件也是成功删除

第五处 后台任意文件上传

直接搜索file_put_contents函数

92ba38db84de90172d2986845e369461_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

在set_cache函数下发现写入文件的函数 $data并且没有过滤是直接通过参数传过来的

然后全局搜索 在哪里调用了这个函数

3c98cae9b44f5a37d1e9a9bba1b22428_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

这个set函数下调用了这个函数

并且写入文件的内容是可控的

通过打印 知道了 写入的路径 文件名

8f677091e1e595eb57373f230efbcbfc_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

并且这里也没有过滤

直接构造payload

4616c37763b4b03f2aa32d34d3979a10_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png




然后访问文件

7b0b2f34ab3e3e074a8361c2d679e12e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png




后面又发现一个函数调用的set_cache

cfef4cb64f7292d2dd930a94977dd574_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


过程是一样的 基本上 就没有演示了

这里还要注意一点 这里是写入的缓存文件 不是一直存在的 我重启之后 写入的内容就还原了

应该是还有的 就没有继续找这个了

第六处 信息泄露

最后在后台页面发现一出phpinfo

eb8e557ee0c89856c9771e1aeec6b153_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

8a3f231ece0fcb58679b0641932e1368_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

一个垃圾的信息泄露

最后

肯定还有审漏的

经过这个cms的审计过后 对MVC这种框架的也有了基本的认识了 以后遇到也不至于这样的无厘头 不知道怎么搞路由 怎么调用的

有了一个新的开始

如果此文有什么不对点 师傅们指出 学习学习 这也是继前面几篇之后新的一次尝试把 但回过头来看这个cms 也就因为mvc 所以调用的时候不同 其他的点 漏洞的地方还是规规矩矩 大差不差的和以前的比较的话

相关文章
|
SQL 存储 安全
第4章 数据库安全性——4.4 审计
第4章 数据库安全性——4.4 审计
|
4月前
|
存储 安全 数据挖掘
|
存储 监控 安全
网络安全之认识日志采集分析审计系统
日志对于大家来说非常熟悉,机房中的各种系统、防火墙、交换机、路由器等等,都在不断地产生日志。无数实践告诉我们,健全的日志记录和分析系统是系统正常运营与优化以及安全事故响应的基础。我们一起来认识日志采集分析审计系统。
309 0
|
存储 监控 Shell
日志审计服务
本场景介绍如何使用日志审计服务。
|
存储 SQL 安全
Oasys 系统审计
Oasys 系统审计
|
SQL 前端开发 搜索推荐
记一次对wuzhicms的审计(一)
记一次对wuzhicms的审计
158 0
记一次对wuzhicms的审计(一)
|
安全 NoSQL Java
JPA 的审计功能
简单介绍下JPA框架实现的审计功能
|
弹性计算 监控 负载均衡
云上日志集中审计
简介:在SLS的日志审计应用的基础上,集中汇聚云安全产品日志、Web服务日志等,进行集中审计。
258 0
云上日志集中审计
|
弹性计算 监控 安全
云上资源操作审计和配置审计
本方案是面向云上资源的操作审计和配置审计,提供的最佳实践。适用于企业型客户。通过最佳实践帮助客户在本场景下更好的使用阿里云,涉及到配置审计、操作审计、函数计算、SLS、OSS等服务的实践操作。
云上资源操作审计和配置审计