PHP代码审计 | 记一次CMS代码审计

Posted HACK学习呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP代码审计 | 记一次CMS代码审计相关的知识,希望对你有一定的参考价值。


记录一下代码审计的分析流程。

1.系统重装漏洞
利用条件

安装完成后未删除install.php文件。

漏洞分析

定位到install.php,第6行位置

判断了是否存在install.lock文件,然后没有下文了。。。可能是开发失误。

漏洞复现

安装完成

PHP代码审计 | 记一次CMS代码审计

然后访问install.php 可以重装

PHP代码审计 | 记一次CMS代码审计

2.后台xss(滑稽)

PHP代码审计 | 记一次CMS代码审计

3.sql语句暴露

PHP代码审计 | 记一次CMS代码审计

4.后台sql注入(鸡肋)
漏洞复现

访问url: http://127.0.0.1/uqcms/index.php/admin/ad/save

post提交数据 alias=1#&id=1 and updatexml(1,concat(0x7e,(select/**/user()),0x7e),1)#&name=2&px=0

PHP代码审计 | 记一次CMS代码审计

漏洞分析

admin/ad_class.php 第62行

PHP代码审计 | 记一次CMS代码审计

通过P函数获取id的值,跟进P函数

PHP代码审计 | 记一次CMS代码审计

因为传入的是false,去掉空格后直接返回,没有任何过滤。

5. 前台sql注入
利用条件

需要注册一个会员账号,

漏洞复现

PHP代码审计 | 记一次CMS代码审计

漏洞分析

home/address.class.php 文件,第35行位置

PHP代码审计 | 记一次CMS代码审计

通过P函数获取后直接传入sql语句进行查询。

sql注入在这套cms里应该是不少…,以上只是举个例子,开发者把希望寄托在了360_safe.php提供的过滤规则上… ,虽然过滤大部分,但是没有过滤报错函数,POST方式没有过滤单引号。

6. 文件上传

本地上传正常图片也不行,没进一步测试,附上先知社区大佬分析

https://xz.aliyun.com/t/6075

推荐阅读:

https://xz.aliyun.com/t/6075


Awvs 12.0.190902105    Linux版本

链接:https://pan.baidu.com/s/18o4Ol3Tp16Ud4_E999EVpw

提取码:myd6

Linux版本安装后登陆下Web页面

1.使用patch激活

2.license_key随便填

参考来源:tkcharlotte‘s blog

如有侵权,请联系删除

以上是关于PHP代码审计 | 记一次CMS代码审计的主要内容,如果未能解决你的问题,请参考以下文章

第一次代码审计---消息果CMS

网络安全:记一次安全审计

网络安全记一次代码审计

网络安全记一次代码审计

php代码审计熊海cms1.0

PHP-CMS代码审计