新手上路

- 資源幣
- 10
- 積分
- 12
- 貢獻(xiàn)
- 0
- 在線時(shí)間
- 2 小時(shí)
- 注冊(cè)時(shí)間
- 2020-2-19
- 最后登錄
- 2020-5-2
|
代碼審計(jì)入門(mén)教學(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)子?
小白立馬坐直,提高專(zhuān)注度,上網(wǎng)找了個(gè)小眾的開(kāi)源CMS,下載源碼后當(dāng)即在虛擬機(jī)上部署,部署成功后在瀏覽器打開(kāi)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)開(kāi)發(fā)這套源碼的同學(xué)還是具備一定的安全意識(shí)的。
dm1.jpg (12.25 KB, 下載次數(shù): 91)
下載附件
保存到相冊(cè)
2020-2-19 22:31 上傳
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ù):
dm2.jpg (26.19 KB, 下載次數(shù): 89)
下載附件
保存到相冊(cè)
2020-2-19 22:32 上傳
發(fā)現(xiàn)有兩個(gè)文件存在該函數(shù),分別是XXXCMS_Top_include.php和function.php。
3、進(jìn)入function.php查看該函數(shù)具體內(nèi)容:
dm3.jpg (24.99 KB, 下載次數(shù): 98)
下載附件
保存到相冊(cè)
2020-2-19 22:32 上傳
發(fā)現(xiàn)該函數(shù)使用了htmlspecialchars,flags為空,默認(rèn)值為ENT_COMPAT,僅編碼雙引號(hào)。可以看到$sql變量中user_ps和user_qx參數(shù)都是使用了單引號(hào),故此存在SQL注入。
4、可以判斷該文件是專(zhuān)門(mén)用來(lái)檢測(cè)用戶是否登錄,應(yīng)該被其他文件包含使用,接著搜索哪些文件調(diào)用了XXXCMS_Top_include.php:
dm4.jpg (23.07 KB, 下載次數(shù): 95)
下載附件
保存到相冊(cè)
2020-2-19 22:33 上傳
發(fā)現(xiàn)在26個(gè)文件中有27個(gè)匹配結(jié)果。
5、訪問(wèn)后臺(tái)存在的腳本XXXCMS_Info.php
dm5.jpg (6.43 KB, 下載次數(shù): 92)
下載附件
保存到相冊(cè)
2020-2-19 22:34 上傳
發(fā)現(xiàn)提示賬號(hào)密碼不正確重新登錄!
6、構(gòu)造Cookie驗(yàn)證結(jié)果:
DM6.jpg (25.75 KB, 下載次數(shù): 90)
下載附件
保存到相冊(cè)
2020-2-19 22:35 上傳
DM7.jpg (27.44 KB, 下載次數(shù): 93)
下載附件
保存到相冊(cè)
2020-2-19 22:35 上傳
7、成功繞過(guò)
DM8.jpg (26.17 KB, 下載次數(shù): 100)
下載附件
保存到相冊(cè)
2020-2-19 22:36 上傳
8、小白嘗試把SQL查詢語(yǔ)句中的單引號(hào)換成雙引號(hào)。
DM9.jpg (18.13 KB, 下載次數(shù): 89)
下載附件
保存到相冊(cè)
2020-2-19 22:37 上傳
9、重新構(gòu)造Cookie進(jìn)入XXXCMS_Main.php頁(yè)面:
DM10.jpg (14.39 KB, 下載次數(shù): 95)
下載附件
保存到相冊(cè)
2020-2-19 22:37 上傳
發(fā)現(xiàn)提示賬號(hào)密碼不正確重新登錄,可以證明對(duì)雙引號(hào)(")進(jìn)行了轉(zhuǎn)義
小白使用了Sqlmap進(jìn)行SQL注入驗(yàn)證
DM11.jpg (34.57 KB, 下載次數(shù): 96)
下載附件
保存到相冊(cè)
2020-2-19 22:39 上傳
小白對(duì)自己竟然審計(jì)成功感覺(jué)很是高興,于是接著這股高興勁把審計(jì)的流程進(jìn)行了總結(jié)并畫(huà)出了一個(gè)審計(jì)流程圖。
DM12.jpg (37.82 KB, 下載次數(shù): 94)
下載附件
保存到相冊(cè)
2020-2-19 22:39 上傳
|
評(píng)分
-
查看全部評(píng)分
|