雨筍教育乾貨分享:分析開源系統的原始碼漏洞

雨筍教育小編今日份分享我們滲透講師的一篇技術乾貨!

對於一次開源管理系統的原始碼審計,小試牛刀,記錄一下,順便可以一起學習學習。

開源系統:熊海CMS v1。0

基於環境:Phpstudy

不說了,先搭建一波,再來看看審計~

雨筍教育乾貨分享:分析開源系統的原始碼漏洞

點選-提交-入魂~

雨筍教育乾貨分享:分析開源系統的原始碼漏洞

好了,讓我們開啟原始碼審計系統衝一波,把原始碼拖進來,衝~

雨筍教育乾貨分享:分析開源系統的原始碼漏洞

自動審計後,發現有34個可疑漏洞,接下來就得來排查,看有沒有的的確確可利用的。

漏洞發掘:

/index。php 與 /admin/index。php 存在檔案包含漏洞

雨筍教育乾貨分享:分析開源系統的原始碼漏洞

分析一波:

我們發現定義了一個 r ,並且使用 GET 方式傳輸,只用了一個 addslashes(返回字串,該字串為了資料庫查詢語句等的需要在某些字元前加上反斜線。這些字元是單引號、雙引號、反斜線或NULL等)。

然後透過 include 函式,直接包含並執行檔案。

嘗試利用:

根目錄-新建一個 phpinfo。php 檔案,內容為:

Payload:

192。168。3。158/?r=。。/phpinfo

雨筍教育乾貨分享:分析開源系統的原始碼漏洞

成功利用。

/inc/checklogin。php 存在越權漏洞

PS:這個漏洞的話,自動審計並沒有檢測出來,但是 inc 目錄下一般儲存的都是一些極為重要的配置檔案,所以一定要開啟看看。

雨筍教育乾貨分享:分析開源系統的原始碼漏洞

分析一波:

發現定義了一個 user 引數傳遞到 Cookie 當中,然後用 if 判斷傳遞到Cookie 中的 user引數,值是否為空,如果為空,跳轉到 登入介面。

沒有任何過濾,我們試想一下,如果自主新增一個 user 並且賦值,會有什麼效果。

嘗試利用:

先登入後臺,獲得路徑,然後登出登入。

Payload:

192。168。3。158/admin/?r=wzlist

雨筍教育乾貨分享:分析開源系統的原始碼漏洞

現在右上角這裡有使用者名稱顯示,因為我們現在是正常登入進入後臺的。

雨筍教育乾貨分享:分析開源系統的原始碼漏洞

退出登入後,直接使用 Cookie 管理外掛,新建一條Cookie 值,名為 user ,值自定義,不為空即可。 然後,重新訪問後臺的 url 看看。

雨筍教育乾貨分享:分析開源系統的原始碼漏洞

雨筍教育乾貨分享:分析開源系統的原始碼漏洞

我們可以發現,右上角沒有 使用者名稱 顯示,因為我們是繞過了登入,越權進入的後臺。而且,管理員可以使用的許可權,我們全部擁有。

/admin/files/manageinfo。php 儲存型XSS

雨筍教育乾貨分享:分析開源系統的原始碼漏洞

分析一波:

我們發現後臺資料修改介面,沒有任何過濾。

嘗試利用:

構造語句,嘗試利用。

Payload:

“>=1 =alert(/xss/)>

雨筍教育乾貨分享:分析開源系統的原始碼漏洞

雨筍教育乾貨分享:分析開源系統的原始碼漏洞

/files/content。php 存在Sql注入漏洞

雨筍教育乾貨分享:分析開源系統的原始碼漏洞

分析一波:

我們發現 $id 並沒有被引號包裹,由此存在了注入。

嘗試利用:

構造語句,進行嘗試。

Payload:

192。168。3。158/?r=content&cid=16 and updatexml(1,concat(0x7e,(select concat(user,0x7e,password) from manage)),0)

雨筍教育乾貨分享:分析開源系統的原始碼漏洞

成功透過報錯注入獲得內容。

其實,這個CMS漏洞遠不止如此,先寫到這了,hhhh~

*本文章僅供技術交流分享,請勿做未授權違法攻擊,雨筍教育不負任何責任。具體請參考《網路安全法》。

相關文章