bluecms v1.6 代碼審計


0x01 使用seay源代碼審計系統進行審計

 

  掃描到了很多個可疑漏洞,不過工具都有一定的誤報,下面我們就逐個進行驗證

0x02 /ad_js.php SQL注入漏洞

 

 查看源碼,我們發現程序通過GET方法接收ad_id的值,然后通過trim函數去除首尾的空白字符,並沒有做其他操作,直接代入了SQL語句。

追蹤函數getone(),代碼在mysql.class.php中,直接執行了sql語句。

 

 因此,我們直接可以通過聯合查詢來進行注入:

 

 0x03 /user.php 文件包含漏洞

 

 查看源碼,我們發現當$act=='pay'時,將執行include 'include/payment/'.$_POST['pay']."/index.php";  

並且$_POST['pay']的值沒有經過處理。

這樣我們就可以構造payload,使其包含惡意文件,比如在phpstudy根目錄下新建一個index.php文件

 

通過目錄穿越,即可包含該文件:

 

 當然,也可以利用文件路徑長度截斷(php版本小於等於5.2) ,如用字符.或者/.或者./來截斷,造成文件包含漏洞,這樣可以包含任意文件。

系統文件路徑長度限制:

Windows 259個字節

Linux 4096個字節

0x04 /user.php SQL注入漏洞

 

 這個注入和上邊的ad_js.php sql注入原理和操作都相差不大,就不對其分析了。

0x05 /user.php XSS漏洞

 

 發現email是直接post進數據庫的,未對其做任何過濾從而引起的xss,但由於其他的,例如用戶名有長度驗證所以不能xss.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM