记录一下代码审计的分析流程。
1.系统重装漏洞
利用条件
安装完成后未删除
install.php
文件。
漏洞分析
定位到
install.php
,第6行位置
判断了是否存在
install.lock
文件,然后没有下文了。。。可能是开发失误。
漏洞复现
安装完成
然后访问
install.php
可以重装
2.后台xss(滑稽)
3.sql语句暴露
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
漏洞分析
admin/ad_class.php
第62行
通过P函数获取id的值,跟进P函数
因为传入的是
false
,去掉空格后直接返回,没有任何过滤。
5. 前台sql注入
利用条件
需要注册一个会员账号,
在修改收货地址处抓包,修改id参数,id参数未过滤,可报错注入,得到数据。
漏洞复现
漏洞分析
home/address.class.php
文件,第35行位置
通过P函数获取后直接传入sql语句进行查询。
sql注入在这套cms里应该是不少…,以上只是举个例子,开发者把希望寄托在了
360_safe.php
提供的过滤规则上… ,虽然过滤大部分,但是没有过滤报错函数,POST方式没有过滤单引号。
6. 文件上传