寫在前面:
必須吐槽一波這個cms,所有類方法都是public,全部可以直接調用,牛皮。而且漏洞巨多。
資源鏈接:鏈接:https://pan.baidu.com/s/1PMv-af26kIe_oCnDt6BOog
提取碼:b3p9
簡單代碼審計
因爲採用了TP5框架,所以還是要先看一下路由協議:
請求方法應該是這個亞子的:請求如下url
http://www.niushop.com/index.php?s=/wap/Pay/wchatUrlBack
則請求的是:application/wap/controller/pay.php中的wchatUrlBack方法:
全局多處任意文件刪除:
審計發現系統多處文件刪除位置沒有對傳入的文件名進行任何校驗直接進行unlink操作,造成任意文件刪除。
全局搜索unlink操作:
前臺:
public方法,可以直接前臺調用,任意文件刪除。
批量任意文件刪除:也是public方法,可以前臺直接調用。
後臺:
Order by參數注入:
前臺任意文件上傳:
裏面有兩處校驗,分別看一下:
上傳文件路徑校驗:
其中case對象是宏定義的路徑:
之後就是合法性校驗:
只校驗了MIME或者大小,最後一個只校驗了文件大小:
構造上傳路徑爲:UPLOAD_FILE
根據代碼自己構造文件上傳頁面:
任意文件上傳:
Wchat.php下XXE漏洞:
全局搜索xml解析函數
在前臺wchat.php的getMessage方法調用:
Pay.php下wchatUrlBack方法也存在: