【PHP代碼審計】熊海CMS v1.0

0x01 前言

無意間發(fā)現(xiàn)一個代碼審計的以前文章,是審計一篇cms的文章粘招,然后就想著還沒有認真的審計過一次呢,就跟著這篇文章的路子走一次吧笨篷,來開啟我代碼審計的篇章。

0x02 審計之旅

首先在站長之家下載了熊海CMS v1.0的源代碼瓣履,本地搭建好環(huán)境之后率翅,將項目拖到Seay代碼審計系統(tǒng)中,來一波自動審計~

咳咳拂苹,經(jīng)然后34個漏洞發(fā)現(xiàn)安聘。。瓢棒。好吧浴韭,畢竟小站源碼,也很正常脯宿。
然后就開始一個一個查看了念颈,看看是否有誤報和漏報。

0x03 文件包含

首先连霉,index.php中的代碼如下榴芳,明顯就是一個文件包含漏洞嘛,這里參數(shù)r沒有任何過濾直接放到include()函數(shù)中了跺撼,但是這里include是在files目錄下的窟感,所以需要../進行目錄改變。我們可以在根目錄下新建一個shell.php歉井,寫入<?php phpinfo();?>柿祈,然后嘗試包含一下

果然成功了!嘻嘻

0x04 越權漏洞

看了一下其他的漏洞哩至,發(fā)現(xiàn)除了admin沒看躏嚎,其他的都是誤報,但是現(xiàn)在我們還沒有辦法得到管理員的賬號和密碼菩貌,因此admin的先不看卢佣,看一下inc目錄下的文件。inc目錄下的都是配置文件箭阶,很重要虚茶,要每一個文件都仔細查看。

在看到checklogin.php的時候仇参,發(fā)現(xiàn)了一個越權漏洞嘹叫。

這里是從cookie中判斷時候是管理員的機制,如果cookie中的user為空冈敛,就為跳轉到?r=login頁面,這個頁面是后臺登陸頁面

那么如果我們抓包后將user的值修改成不為空會怎么樣呢鸣皂?
這里用wzlist.php試一下

http://127.0.0.1/admin/?r=wzlist

然后就發(fā)現(xiàn)進入了后臺抓谴。暮蹂。。

并且只要保證每次cookie中user參數(shù)都有值就可以訪問后臺的所有內容癌压。

之后再看其他的配置文件就看不出來什么了....那么記下來就是看一下admin目錄下的文件吧仰泻。

0x05 SQL注入1

首先肯定要看登陸頁面了,如果能夠爆出用戶名和密碼就完美了滩届。
查看login.php集侯,入眼的就是一段令人激動的代碼

這里user和password是直接獲取POST傳來的參數(shù),并沒有進行任何過濾帜消,很容易想到萬能密碼的使用棠枉,但是繼續(xù)看代碼我們發(fā)現(xiàn),這里是先進行user的查詢泡挺,如果user在數(shù)據(jù)庫中存在辈讶,那么就進行password的比較,是將我們輸入的password進行md5哈希一下娄猫,然后與數(shù)據(jù)庫中的進行比對贱除,所以說萬能密碼在這里是沒有用的,但是我們卻可以用報錯注入得到用戶名和密碼媳溺。

user=123' or extractvalue(1,concat((select concat(0x7e,password,0x7e) from manage)))#&password=
或者
user=123' or updatexml(1,concat((select concat(0x7e,password,0x7e) from manage)),0)#&password=

但是這里有一點比較坑的是月幌,這里注出來的password最多只有27位,但是數(shù)據(jù)庫存的是password的MD5值悬蔽,有32位扯躺,所以說得到的md5是不對的,需要進行兩次注入才能得到完整的密碼屯阀,以extractvalue()函數(shù)為例,payload需要這樣寫

user=123' or extractvalue(1,concat((select concat(0x7e,password) from manage)))#&password=
user=123' or extractvalue(1,concat((select concat(password,0x7e) from manage)))#&password=

兩次自己拼接一下就得到了完整的password的md5值了缅帘,拿去解密一下就好了~

0x06 SQL注入2

進入后臺之后,可以看一下之前自動審計報的后臺的SQL注入漏洞难衰,拿newlink.php為例

這里的變量都是直接POST傳進來并且沒做任何過濾钦无,那么就存在了SQL注入問題。
利用之前的報錯注入驗證一下

得到結果

驗證成功盖袭。

0x07 CSRF漏洞

這里的內容管理中有一個刪除文章的功能失暂,點擊后抓包得到url

http://localhost/code_audit/xhcms/admin/?r=wzlist&delete=16

退出管理員賬號,根據(jù)之前的越權漏洞分析鳄虱,這里應該會轉跳到login的界面弟塞,試一下,果然如此拙已。

然后重新登陸管理員后點擊該url决记,真的刪除了該文章

驗證成功。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末倍踪,一起剝皮案震驚了整個濱河市系宫,隨后出現(xiàn)的幾起案子索昂,更是在濱河造成了極大的恐慌,老刑警劉巖扩借,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件椒惨,死亡現(xiàn)場離奇詭異,居然都是意外死亡潮罪,警方通過查閱死者的電腦和手機康谆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嫉到,“玉大人沃暗,你說我怎么就攤上這事⊥筒辏” “怎么了描睦?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長导而。 經(jīng)常有香客問我忱叭,道長,這世上最難降的妖魔是什么今艺? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任韵丑,我火速辦了婚禮,結果婚禮上虚缎,老公的妹妹穿的比我還像新娘撵彻。我一直安慰自己,他們只是感情好实牡,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布陌僵。 她就那樣靜靜地躺著,像睡著了一般创坞。 火紅的嫁衣襯著肌膚如雪碗短。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天题涨,我揣著相機與錄音偎谁,去河邊找鬼。 笑死纲堵,一個胖子當著我的面吹牛巡雨,可吹牛的內容都是我干的。 我是一名探鬼主播席函,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼铐望,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起正蛙,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤炕舵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后跟畅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡溶推,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年徊件,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蒜危。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡虱痕,死狀恐怖,靈堂內的尸體忽然破棺而出辐赞,到底是詐尸還是另有隱情部翘,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布响委,位于F島的核電站新思,受9級特大地震影響,放射性物質發(fā)生泄漏赘风。R本人自食惡果不足惜夹囚,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望邀窃。 院中可真熱鬧荸哟,春花似錦、人聲如沸瞬捕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肪虎。三九已至劣砍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間笋轨,已是汗流浹背秆剪。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留爵政,地道東北人仅讽。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像钾挟,于是被迫代替她去往敵國和親洁灵。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內容