資源共享吧|易語(yǔ)言論壇|逆向破解教程|輔助開發(fā)教程|網(wǎng)絡(luò)安全教程|hailashopping.com|我的開發(fā)技術(shù)隨記
標(biāo)題:
代碼審計(jì)入門教學(xué)(一)
[打印本頁(yè)]
作者:
代碼審計(jì)教學(xué)
時(shí)間:
2020-2-19 22:40
標(biāo)題:
代碼審計(jì)入門教學(xué)(一)
代碼審計(jì)入門教學(xué)(一)
北京的冬天太冷,似詩(shī)的南方陽(yáng)光正高照著大地,北京的冬天太冷我已無(wú)法承受,我選擇在南方過(guò)冬。小白緊了緊衣服,趕腳南方比北方還冷,直想往被窩里一縮,美美地睡上一覺(jué)。
小白最近看到關(guān)于源碼審計(jì)的文章涌現(xiàn)而出,心里覺(jué)得癢癢的。再加上對(duì)源碼審計(jì)頗覺(jué)神秘高深,特想進(jìn)行源碼審計(jì)。挖到漏洞后也是可以作為一個(gè)談資,順便在朋友面前炫耀。小白越想越興奮,不覺(jué)偷笑起來(lái),幸好辦公室沒(méi)人注意,不然,還不讓人誤會(huì)他在想啥歪點(diǎn)子?
小白立馬坐直,提高專注度,上網(wǎng)找了個(gè)小眾的開源CMS,下載源碼后當(dāng)即在虛擬機(jī)上部署,部署成功后在瀏覽器打開cms系統(tǒng)。搞到這里后小白有點(diǎn)蒙圈了,接下來(lái)應(yīng)該如何進(jìn)行審計(jì)呢?小白冥思苦想了好久,找來(lái)一些有關(guān)審計(jì)的文章,再結(jié)合常見(jiàn)的WEB漏洞,決定審計(jì)源碼是否能發(fā)現(xiàn)SQL注入漏洞。
問(wèn)題來(lái)了,在哪里會(huì)出現(xiàn)SQL注入漏洞呢?
根據(jù)小白以往的經(jīng)驗(yàn),SQL注入漏洞容易出現(xiàn)的地方主要是:
①一切能輸入的地方。如帶ID參數(shù)的URL、搜索框、注冊(cè)、登錄和留言板等地方。
②與數(shù)據(jù)庫(kù)有交互的地方。如新聞ID不一致頁(yè)面不一致即為可能與數(shù)據(jù)庫(kù)有交互。
等等……
小白看下了,CMS系統(tǒng),有搜索框輸入的地方也有后臺(tái)登錄的地方。打算先嘗試審計(jì)后臺(tái)登錄的地方,說(shuō)不定存在萬(wàn)能密碼或SQL注入呢。
小白查看了虛擬機(jī)里的后臺(tái)路徑,發(fā)現(xiàn)網(wǎng)站后臺(tái)路徑前四個(gè)字母是隨機(jī)的,看來(lái)開發(fā)這套源碼的同學(xué)還是具備一定的安全意識(shí)的。
(, 下載次數(shù): 118)
上傳
點(diǎn)擊文件名下載附件
1、通過(guò)對(duì)index.html文件進(jìn)行閱讀,發(fā)現(xiàn)index.html登錄請(qǐng)求提交到XXXCMS_Top_include.php?CF=users&Class=login,該文件底部使用了checkuser()函數(shù)。
2、查找哪些文件存在checkuser()函數(shù):
(, 下載次數(shù): 113)
上傳
點(diǎn)擊文件名下載附件
發(fā)現(xiàn)有兩個(gè)文件存在該函數(shù),分別是XXXCMS_Top_include.php和function.php。
3、進(jìn)入function.php查看該函數(shù)具體內(nèi)容:
(, 下載次數(shù): 122)
上傳
點(diǎn)擊文件名下載附件
發(fā)現(xiàn)該函數(shù)使用了htmlspecialchars,flags為空,默認(rèn)值為ENT_COMPAT,僅編碼雙引號(hào)?梢钥吹$sql變量中user_ps和user_qx參數(shù)都是使用了單引號(hào),故此存在SQL注入。
4、可以判斷該文件是專門用來(lái)檢測(cè)用戶是否登錄,應(yīng)該被其他文件包含使用,接著搜索哪些文件調(diào)用了XXXCMS_Top_include.php:
(, 下載次數(shù): 119)
上傳
點(diǎn)擊文件名下載附件
發(fā)現(xiàn)在26個(gè)文件中有27個(gè)匹配結(jié)果。
5、訪問(wèn)后臺(tái)存在的腳本XXXCMS_Info.php
(, 下載次數(shù): 117)
上傳
點(diǎn)擊文件名下載附件
發(fā)現(xiàn)提示賬號(hào)密碼不正確重新登錄!
6、構(gòu)造Cookie驗(yàn)證結(jié)果:
(, 下載次數(shù): 108)
上傳
點(diǎn)擊文件名下載附件
(, 下載次數(shù): 117)
上傳
點(diǎn)擊文件名下載附件
7、成功繞過(guò)
(, 下載次數(shù): 122)
上傳
點(diǎn)擊文件名下載附件
8、小白嘗試把SQL查詢語(yǔ)句中的單引號(hào)換成雙引號(hào)。
(, 下載次數(shù): 109)
上傳
點(diǎn)擊文件名下載附件
9、重新構(gòu)造Cookie進(jìn)入XXXCMS_Main.php頁(yè)面:
(, 下載次數(shù): 115)
上傳
點(diǎn)擊文件名下載附件
發(fā)現(xiàn)提示賬號(hào)密碼不正確重新登錄,可以證明對(duì)雙引號(hào)(")進(jìn)行了轉(zhuǎn)義
小白使用了Sqlmap進(jìn)行SQL注入驗(yàn)證
(, 下載次數(shù): 118)
上傳
點(diǎn)擊文件名下載附件
小白對(duì)自己竟然審計(jì)成功感覺(jué)很是高興,于是接著這股高興勁把審計(jì)的流程進(jìn)行了總結(jié)并畫出了一個(gè)審計(jì)流程圖。
(, 下載次數(shù): 118)
上傳
點(diǎn)擊文件名下載附件
歡迎光臨 資源共享吧|易語(yǔ)言論壇|逆向破解教程|輔助開發(fā)教程|網(wǎng)絡(luò)安全教程|hailashopping.com|我的開發(fā)技術(shù)隨記 (http://hailashopping.com/)
Powered by Discuz! X3.4