1. 程式人生 > >ZZCMS8.1|代碼審計

ZZCMS8.1|代碼審計

close 選擇 name ima 一個 們的 搭建 數據 ()

這周的審計任務

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|代碼審計