新手上路

- 資源幣
- 10
- 積分
- 12
- 貢獻
- 0
- 在線時間
- 2 小時
- 注冊時間
- 2020-2-19
- 最后登錄
- 2020-5-2
|
代碼審計入門教學(一)
北京的冬天太冷,似詩的南方陽光正高照著大地,北京的冬天太冷我已無法承受,我選擇在南方過冬。小白緊了緊衣服,趕腳南方比北方還冷,直想往被窩里一縮,美美地睡上一覺。
小白最近看到關于源碼審計的文章涌現(xiàn)而出,心里覺得癢癢的。再加上對源碼審計頗覺神秘高深,特想進行源碼審計。挖到漏洞后也是可以作為一個談資,順便在朋友面前炫耀。小白越想越興奮,不覺偷笑起來,幸好辦公室沒人注意,不然,還不讓人誤會他在想啥歪點子?
小白立馬坐直,提高專注度,上網(wǎng)找了個小眾的開源CMS,下載源碼后當即在虛擬機上部署,部署成功后在瀏覽器打開cms系統(tǒng)。搞到這里后小白有點蒙圈了,接下來應該如何進行審計呢?小白冥思苦想了好久,找來一些有關審計的文章,再結合常見的WEB漏洞,決定審計源碼是否能發(fā)現(xiàn)SQL注入漏洞。
問題來了,在哪里會出現(xiàn)SQL注入漏洞呢?
根據(jù)小白以往的經(jīng)驗,SQL注入漏洞容易出現(xiàn)的地方主要是:
①一切能輸入的地方。如帶ID參數(shù)的URL、搜索框、注冊、登錄和留言板等地方。
②與數(shù)據(jù)庫有交互的地方。如新聞ID不一致頁面不一致即為可能與數(shù)據(jù)庫有交互。
等等……
小白看下了,CMS系統(tǒng),有搜索框輸入的地方也有后臺登錄的地方。打算先嘗試審計后臺登錄的地方,說不定存在萬能密碼或SQL注入呢。
小白查看了虛擬機里的后臺路徑,發(fā)現(xiàn)網(wǎng)站后臺路徑前四個字母是隨機的,看來開發(fā)這套源碼的同學還是具備一定的安全意識的。
dm1.jpg (12.25 KB, 下載次數(shù): 92)
下載附件
保存到相冊
2020-2-19 22:31 上傳
1、通過對index.html文件進行閱讀,發(fā)現(xiàn)index.html登錄請求提交到XXXCMS_Top_include.php?CF=users&Class=login,該文件底部使用了checkuser()函數(shù)。
2、查找哪些文件存在checkuser()函數(shù):
dm2.jpg (26.19 KB, 下載次數(shù): 91)
下載附件
保存到相冊
2020-2-19 22:32 上傳
發(fā)現(xiàn)有兩個文件存在該函數(shù),分別是XXXCMS_Top_include.php和function.php。
3、進入function.php查看該函數(shù)具體內容:
dm3.jpg (24.99 KB, 下載次數(shù): 99)
下載附件
保存到相冊
2020-2-19 22:32 上傳
發(fā)現(xiàn)該函數(shù)使用了htmlspecialchars,flags為空,默認值為ENT_COMPAT,僅編碼雙引號?梢钥吹$sql變量中user_ps和user_qx參數(shù)都是使用了單引號,故此存在SQL注入。
4、可以判斷該文件是專門用來檢測用戶是否登錄,應該被其他文件包含使用,接著搜索哪些文件調用了XXXCMS_Top_include.php:
dm4.jpg (23.07 KB, 下載次數(shù): 97)
下載附件
保存到相冊
2020-2-19 22:33 上傳
發(fā)現(xiàn)在26個文件中有27個匹配結果。
5、訪問后臺存在的腳本XXXCMS_Info.php
dm5.jpg (6.43 KB, 下載次數(shù): 94)
下載附件
保存到相冊
2020-2-19 22:34 上傳
發(fā)現(xiàn)提示賬號密碼不正確重新登錄!
6、構造Cookie驗證結果:
DM6.jpg (25.75 KB, 下載次數(shù): 91)
下載附件
保存到相冊
2020-2-19 22:35 上傳
DM7.jpg (27.44 KB, 下載次數(shù): 95)
下載附件
保存到相冊
2020-2-19 22:35 上傳
7、成功繞過
DM8.jpg (26.17 KB, 下載次數(shù): 102)
下載附件
保存到相冊
2020-2-19 22:36 上傳
8、小白嘗試把SQL查詢語句中的單引號換成雙引號。
DM9.jpg (18.13 KB, 下載次數(shù): 91)
下載附件
保存到相冊
2020-2-19 22:37 上傳
9、重新構造Cookie進入XXXCMS_Main.php頁面:
DM10.jpg (14.39 KB, 下載次數(shù): 96)
下載附件
保存到相冊
2020-2-19 22:37 上傳
發(fā)現(xiàn)提示賬號密碼不正確重新登錄,可以證明對雙引號(")進行了轉義
小白使用了Sqlmap進行SQL注入驗證
DM11.jpg (34.57 KB, 下載次數(shù): 98)
下載附件
保存到相冊
2020-2-19 22:39 上傳
小白對自己竟然審計成功感覺很是高興,于是接著這股高興勁把審計的流程進行了總結并畫出了一個審計流程圖。
DM12.jpg (37.82 KB, 下載次數(shù): 96)
下載附件
保存到相冊
2020-2-19 22:39 上傳
|
評分
-
查看全部評分
|