代碼審計:KKCMS 前臺sql注入漏洞復現
安裝cms
下載地址:https://github.com/wangyifani/kkcms/
程序開發環境: apache2.0 php5.6.40 mysql5.5
程序建議使用環境: linux系統使用nginx1.12及以上, Windows系統使用apache 1.8以上 php統一使用php5.6版本 mysql使用5.0及以上版本
後臺默認密碼admin和123456
前臺 vlist.php 注入
漏洞url:
http://127.0.0.1/kkcms/vlist.php?cid=1
加一個引號報錯
所以定位審計文件 /vlist.php,來到文件處,找到關鍵代碼。
不難看出,cid 參數沒有過濾,直接拼接到 sql 語句中。
而且是數字型傳參,沒有雙引號包裹,存在注入。
爲什麼要強調雙引號呢,因爲該文件包含 system/inc.php 文件。
而 system/inc.php 文件包含如下:
其中在 library.php 中,可以看到,沒有開啓魔術引號的時候會將傳參加上addslashes,所以雙引號會被加上反斜槓了,以此避免注入。
漏洞復現
將注入url放到sqlmap去跑,就完事。
sqlmap.py -u http://127.0.0.1/kkcms/vlist.php?cid=1 --batch