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