ZZCMS8.1|代碼審計
這周的審計任務
ZZCMS8.1是站長招商網內容管理系統。審計這個CMS的原因很多,這裏就不詳說了(其實是漏洞類型多點)
環境搭建
1,虛擬機win7 32位,用wamserver或者phpstudy搭建環境。
2,ZZCMS8.1源碼(已分享鏈接)放到WWW目錄下面
3,安裝,訪問( http://127.0.0.1/zzcms8.1/install ),如果提示我們安裝向導已經安裝過,重安裝需刪除根目錄下的 /install/install.lock 文件。刪除之後再重新訪問該安裝頁面( http://127.0.0.1/zzcms8.1/install )。一路選擇下一步,直到設置頁面,創建數據庫......安裝完成。
代碼審計
審計的時候當然不是漫無目的的直接一個一個看php文件,先拿出來我們的代碼審計工具掃一下(上篇文章提到),下面將會通過幾個漏洞類型提到
先附圖一張工具自動審計的漏洞,不過誤報率很高。
XSS漏洞
可以說是最簡單的一個漏洞了,先看一下
鏈接(http://127.0.0.1/zzcms8.1/uploadimg_form.php),問題出在uploadimg_form.php裏面輸出語句有可控變量,並且沒有過濾,從而造成XSS漏洞
value="<?php echo @$_GET[‘imgid‘]?>"上圖68行可以清楚的看到imgid是沒有過濾直接輸出的。
因此可以直接構造XSS的payload:http://127.0.0.1/zzcms8.1/uploadimg_form.php?imgid="><script>alert(/orange/)</script><"
這個頁面是需要登陸的
登陸驗證代碼
<?php
if(!isset($_SESSION)){session_start();}
if (!isset($_COOKIE["UserName"]) && !isset($_SESSION["admin"])){
session_write_close();
echo "No Login!";
exit;
}
?>
如果你不想登陸的話,可以註釋掉登陸的代碼就好。還有其他處存在XSS,這裏我只寫一處
ZZCMS8.1|代碼審計