天天看點

MiniCMS 1.10 代碼審計前言開始測試結果總結

前言

前一個bluecms審計的不是很好(第一次審,一點思路都沒有)。

這一次,打算先對站點進行一些測試,找到漏洞後,再對應的進行審計。

開始

當然,先掃一波0.0。。

然後看一下網站的結構(因為這個cms比較小,好審):

index.php:先引入/mc-files/mc-core.php,再通過該檔案引入配置檔案mc-conf.php以及定義的函數檔案mc-tags.php

前台目錄:
	mc-files:
		mc-conf.php:首頁的配置檔案。
		mc-core.php:404通路檔案;包含了配置檔案mc-conf.php及定義的函數檔案mc-tags.php。
		mc-tags.php:定義的函數檔案。

		page目錄:
			data目錄:
				elr2my.dat:以序列化形式存儲了資料。
			index目錄:
				delete.php:以數組形式存放删除的資料。
				draft.php: 草稿。
				publish.php:已釋出。
		posts目錄:
			與page目錄目的一樣。

背景目錄:
	mc-admin:
		conf.php:背景站點設定,包含了head.php。
		editor.php:一個配置檔案。
		foot.php:一個标簽。
		head.php:背景站點頭部标簽設定,有token驗證,失敗傳回index.php 
		index.php:背景登入頁面,會産生token
		page-edit.php:建立頁面。
		page.php:管理頁面
		post.php:管理文章
		post-edit.php:撰寫文章		
           

測試結果

一堆xss

反射性xss

mc-admin/page.php?data=

處,直接給data參數添加payload。

MiniCMS 1.10 代碼審計前言開始測試結果總結

沒有任何過濾,直接傳入參數。

而且插入了很多地方:

MiniCMS 1.10 代碼審計前言開始測試結果總結

存儲型xss

添加文章,編輯頁面都存在存儲型xss。

觸發點在前台,文章和頁面的内容處,還有背景設定的評論代碼處,網站位址處。

找相應代碼:

背景文章,頁面内容對應代碼:

MiniCMS 1.10 代碼審計前言開始測試結果總結

get_magic_quotes_gpc函數:判斷是否給參數添加了反斜杠。

stripslashes函數:去除反斜杠。

然後内容給到:

MiniCMS 1.10 代碼審計前言開始測試結果總結

然後直接輸出:

MiniCMS 1.10 代碼審計前言開始測試結果總結

背景站點設定處:

網站位址:site_link

評論代碼:comment_code

MiniCMS 1.10 代碼審計前言開始測試結果總結

然後寫入:

MiniCMS 1.10 代碼審計前言開始測試結果總結

但是這裡:

MiniCMS 1.10 代碼審計前言開始測試結果總結
MiniCMS 1.10 代碼審計前言開始測試結果總結

都進行了實體化。

但是還是存在漏洞。

該檔案一開始包含了head.php:

在此檔案中:

MiniCMS 1.10 代碼審計前言開始測試結果總結

site_link并沒有進行過濾。

過濾的地方在背景站點設定處,但是觸發xss的地方head.php,也就是背景的頭部位置。

但是為什麼評論的地方也過濾了:

MiniCMS 1.10 代碼審計前言開始測試結果總結

但是可以觸發呢?

總結

主要都是xss,腦子還是嗡嗡的。

說句實話,xss的代碼審計沒啥好審的。

主要是整理一下思路:審計之前看看結構。

繼續閱讀