資源共享吧|易語(yǔ)言論壇|逆向破解教程|輔助開(kāi)發(fā)教程|網(wǎng)絡(luò)安全教程|rigasin.com|我的開(kāi)發(fā)技術(shù)隨記

 找回密碼
 注冊(cè)成為正式會(huì)員
查看: 1378|回復(fù): 0
打印 上一主題 下一主題

[網(wǎng)絡(luò)安全/滲透測(cè)試] 代碼審計(jì)入門(mén)教學(xué)(一)

[復(fù)制鏈接]

4

主題

4

帖子

0

精華

新手上路

Rank: 1

資源幣
10
積分
12
貢獻(xiàn)
0
在線時(shí)間
2 小時(shí)
注冊(cè)時(shí)間
2020-2-19
最后登錄
2020-5-2
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-2-19 22:40:14 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
代碼審計(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í)的。



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ù):


發(fā)現(xiàn)有兩個(gè)文件存在該函數(shù),分別是XXXCMS_Top_include.php和function.php。

3、進(jìn)入function.php查看該函數(shù)具體內(nèi)容:


發(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:


發(fā)現(xiàn)在26個(gè)文件中有27個(gè)匹配結(jié)果。

5、訪問(wèn)后臺(tái)存在的腳本XXXCMS_Info.php


發(fā)現(xiàn)提示賬號(hào)密碼不正確重新登錄!

6、構(gòu)造Cookie驗(yàn)證結(jié)果:



7、成功繞過(guò)



8、小白嘗試把SQL查詢語(yǔ)句中的單引號(hào)換成雙引號(hào)。


9、重新構(gòu)造Cookie進(jìn)入XXXCMS_Main.php頁(yè)面:



發(fā)現(xiàn)提示賬號(hào)密碼不正確重新登錄,可以證明對(duì)雙引號(hào)(")進(jìn)行了轉(zhuǎn)義

小白使用了Sqlmap進(jìn)行SQL注入驗(yàn)證


小白對(duì)自己竟然審計(jì)成功感覺(jué)很是高興,于是接著這股高興勁把審計(jì)的流程進(jìn)行了總結(jié)并畫(huà)出了一個(gè)審計(jì)流程圖。


評(píng)分

參與人數(shù) 1資源幣 +3 收起 理由
wentian + 3 贊一個(gè)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

 點(diǎn)擊右側(cè)快捷回復(fù)  

本版積分規(guī)則

小黑屋|資源共享吧 ( 瓊ICP備2023000410號(hào)-1 )

GMT+8, 2025-3-12 22:53 , Processed in 0.053202 second(s), 17 queries , MemCached On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回復(fù) 返回頂部 返回列表