九张机之NiuShopcmsV2.1代码审计

写在前面:

必须吐槽一波这个cms,所有类方法都是public,全部可以直接调用,牛皮。而且漏洞巨多。
九张机之NiuShopcmsV2.1代码审计_第1张图片
资源链接:链接:https://pan.baidu.com/s/1PMv-af26kIe_oCnDt6BOog
提取码:b3p9

简单代码审计

因为采用了TP5框架,所以还是要先看一下路由协议:
九张机之NiuShopcmsV2.1代码审计_第2张图片
请求方法应该是这个亚子的:请求如下url

http://www.niushop.com/index.php?s=/wap/Pay/wchatUrlBack

则请求的是:application/wap/controller/pay.php中的wchatUrlBack方法:
九张机之NiuShopcmsV2.1代码审计_第3张图片

全局多处任意文件删除:

审计发现系统多处文件删除位置没有对传入的文件名进行任何校验直接进行unlink操作,造成任意文件删除。
全局搜索unlink操作:
九张机之NiuShopcmsV2.1代码审计_第4张图片
前台:
九张机之NiuShopcmsV2.1代码审计_第5张图片
public方法,可以直接前台调用,任意文件删除。
批量任意文件删除:也是public方法,可以前台直接调用。
九张机之NiuShopcmsV2.1代码审计_第6张图片
后台:九张机之NiuShopcmsV2.1代码审计_第7张图片
九张机之NiuShopcmsV2.1代码审计_第8张图片
Order by参数注入:
九张机之NiuShopcmsV2.1代码审计_第9张图片
九张机之NiuShopcmsV2.1代码审计_第10张图片
前台任意文件上传:

九张机之NiuShopcmsV2.1代码审计_第11张图片
里面有两处校验,分别看一下:
上传文件路径校验:
九张机之NiuShopcmsV2.1代码审计_第12张图片
九张机之NiuShopcmsV2.1代码审计_第13张图片
其中case对象是宏定义的路径:
九张机之NiuShopcmsV2.1代码审计_第14张图片
之后就是合法性校验:
九张机之NiuShopcmsV2.1代码审计_第15张图片
只校验了MIME或者大小,最后一个只校验了文件大小:
九张机之NiuShopcmsV2.1代码审计_第16张图片
构造上传路径为:UPLOAD_FILE
九张机之NiuShopcmsV2.1代码审计_第17张图片
根据代码自己构造文件上传页面:
九张机之NiuShopcmsV2.1代码审计_第18张图片
任意文件上传:
九张机之NiuShopcmsV2.1代码审计_第19张图片
九张机之NiuShopcmsV2.1代码审计_第20张图片

Wchat.php下XXE漏洞:

全局搜索xml解析函数
九张机之NiuShopcmsV2.1代码审计_第21张图片
在前台wchat.php的getMessage方法调用:
九张机之NiuShopcmsV2.1代码审计_第22张图片
Pay.php下wchatUrlBack方法也存在:
九张机之NiuShopcmsV2.1代码审计_第23张图片

你可能感兴趣的:(代码审计)