新手上路

- 資源幣
- 10
- 積分
- 12
- 貢獻(xiàn)
- 0
- 在線時(shí)間
- 2 小時(shí)
- 注冊(cè)時(shí)間
- 2020-2-19
- 最后登錄
- 2020-5-2
|
代碼審計(jì)入門(mén)教學(xué)(二)
1、首先通過(guò)sublime編輯器打開(kāi)上次的XXXcms文件夾:
2、搜索關(guān)鍵特征:
小白:“說(shuō)道關(guān)鍵特征仔仔你理解嗎?”
仔仔:“關(guān)鍵特征應(yīng)該是數(shù)據(jù)庫(kù)查詢的語(yǔ)句吧~”
小白:“你這么說(shuō)也勉強(qiáng)可以,不過(guò)僅僅是數(shù)據(jù)庫(kù)查詢語(yǔ)句還不夠,還需要數(shù)據(jù)庫(kù)查詢語(yǔ)句能拼接我們可以控制的參數(shù)才可以!
仔仔:“那怎么才能知道哪些參數(shù)我們可以控制呢?”
小白:“我這里給你簡(jiǎn)單的科普下吧!
首先是php獲取參數(shù)的內(nèi)置全局服務(wù)器變量有:
$_GET、$_POST、$_SERVER、$_COOKIE等方法。
其中$_GET是最常見(jiàn)的GET請(qǐng)求,如:
http://www.yuesec.com/index.php?id=1
http://www.yuesec.com/index.php?classid=1
http://www.yuesec.com/news.php?id=1
GET請(qǐng)求類(lèi)似于以上的3個(gè)URL,index.php中的index可能是其他字符串哦,仔仔你可不要以為只有index.php和news.php的腳本才可以注入哦。
我們?cè)L問(wèn)這些請(qǐng)求,如下面這些代碼就可以獲取id的值并輸出:
dm13.jpg (9.11 KB, 下載次數(shù): 101)
下載附件
保存到相冊(cè)
2020-2-19 22:47 上傳
可以看到id參數(shù)的值和頁(yè)面輸出的值都是“hello guys! ”。
其實(shí)這段代碼也是存在安全問(wèn)題的,不信可以構(gòu)造ID值如下:
id=1%3E%3Cscript%3Ealert(1)%3C/script%3E%3C
然后網(wǎng)頁(yè)訪問(wèn):
DM14.jpg (7.56 KB, 下載次數(shù): 100)
下載附件
保存到相冊(cè)
2020-2-19 22:49 上傳
可以看到網(wǎng)頁(yè)會(huì)彈出個(gè)窗口,不小心就弄出個(gè)XSS哈,論安全編碼的重要性。
仔仔我只跟你說(shuō)$_GET獲取參數(shù)值的例子,其它的你自己去了解哈。
仔仔:“嗯嗯,我回去了解的,你繼續(xù)!
小白:“要構(gòu)成SQL注入需要數(shù)據(jù)庫(kù)查詢語(yǔ)句能拼接我們可以控制的參數(shù),$_GET可控參數(shù)我們了解了,接下來(lái)組合起來(lái)!
$id = $_GET[‘id’];
$sql = “select *from userid=$id;”;
這段代碼表示通過(guò)GET請(qǐng)求獲取id的值,然后拼接到$sql變量里面,接下來(lái)進(jìn)行數(shù)據(jù)庫(kù)查詢就構(gòu)成了SQL注入。
說(shuō)了那么說(shuō),其實(shí)就是通過(guò)搜索$_GET關(guān)鍵字確認(rèn)注入點(diǎn)位置。
通過(guò)sublime在文件中搜索存在$_GET關(guān)鍵字的文件:
DM15.jpg (24.54 KB, 下載次數(shù): 98)
下載附件
保存到相冊(cè)
2020-2-19 22:49 上傳
26個(gè)文件中存在247個(gè)匹配,我們需要在這么多的結(jié)果中篩選出能與數(shù)據(jù)庫(kù)查詢語(yǔ)句拼接的GET請(qǐng)求參數(shù)。
通過(guò)正則語(yǔ)法搜索既存在mysql_query又存在$_GET[的行:
mysql_query.*?\$_GET\[
Dm16.jpg (44.93 KB, 下載次數(shù): 97)
下載附件
保存到相冊(cè)
2020-2-19 22:50 上傳
第一個(gè)注入驗(yàn)證:
DM17.jpg (17.36 KB, 下載次數(shù): 97)
下載附件
保存到相冊(cè)
2020-2-19 22:51 上傳
先進(jìn)入該段代碼對(duì)應(yīng)的源文件:
DM18.jpg (26.46 KB, 下載次數(shù): 99)
下載附件
保存到相冊(cè)
2020-2-19 22:51 上傳
從代碼中可以看出$type變量的值等于edit條件成立就執(zhí)行elseif塊里面的內(nèi)容。
$row = mysql_fetch_array(mysql_query("SELECT * FROM sc_bannerWHERE ID=".$_GET["ID"]));
這段代碼表示先通過(guò)GET請(qǐng)求獲取ID參數(shù)傳過(guò)來(lái)的值,并且ID參數(shù)的值未做編碼轉(zhuǎn)換,然后拼接到數(shù)據(jù)庫(kù)查詢語(yǔ)句里面,最后執(zhí)行數(shù)據(jù)庫(kù)查詢語(yǔ)句。可以看到$type的值并沒(méi)有拼接到數(shù)據(jù)庫(kù)查詢語(yǔ)句里面,就算該變量過(guò)濾的再嚴(yán)格也是存在SQL注入的。
可以往上看$type確實(shí)是做了編碼處理,不過(guò)不影響我們的注入:
DM19.jpg (13.93 KB, 下載次數(shù): 101)
下載附件
保存到相冊(cè)
2020-2-19 22:52 上傳
從這段代碼中可以看出腳本從GET請(qǐng)求獲取type的值并進(jìn)行編碼,然后判斷它的值是add還是edit,根據(jù)值的不同進(jìn)入不同的條件塊。得出以下注入鏈接:
?type=edit&ID=1
由于是后臺(tái)登錄后才能進(jìn)行的訪問(wèn),所以需要把上一篇文章提到的Cookie繞過(guò)也要利用到。
接下來(lái)驗(yàn)證下是否是注入:
DM20.jpg (17.72 KB, 下載次數(shù): 89)
下載附件
保存到相冊(cè)
2020-2-19 22:53 上傳
構(gòu)造的URL頁(yè)面是存在的。
接下來(lái)通過(guò)burpsuite截包保存為test.txt文檔再用Sqlmap進(jìn)行注入:
DM21.jpg (34.21 KB, 下載次數(shù): 107)
下載附件
保存到相冊(cè)
2020-2-19 22:54 上傳
第二個(gè)注入認(rèn)證:
DM22.jpg (13.3 KB, 下載次數(shù): 95)
下載附件
保存到相冊(cè)
2020-2-19 22:55 上傳
好,就選擇這段代碼了,雙擊跳轉(zhuǎn)到這段代碼的文件:
DM23.jpg (10.68 KB, 下載次數(shù): 107)
下載附件
保存到相冊(cè)
2020-2-19 22:56 上傳
這段代碼也是獲取GET請(qǐng)求傳過(guò)來(lái)的參數(shù)的值,然后帶入數(shù)據(jù)庫(kù)查詢語(yǔ)句里執(zhí)行。
構(gòu)造好鏈接訪問(wèn):
DM24.jpg (23.94 KB, 下載次數(shù): 93)
下載附件
保存到相冊(cè)
2020-2-19 22:56 上傳
通過(guò)輸入and 1=1、and 1=2、’ and ‘1’=’1和’ and ‘1’=’2判斷是否存在注入:
and 1=1
DM25.jpg (24.41 KB, 下載次數(shù): 94)
下載附件
保存到相冊(cè)
2020-2-19 22:57 上傳
and 1=2
DM26.jpg (23.95 KB, 下載次數(shù): 91)
下載附件
保存到相冊(cè)
2020-2-19 22:57 上傳
‘ and ‘1’=’1
DM27.jpg (22.78 KB, 下載次數(shù): 101)
下載附件
保存到相冊(cè)
2020-2-19 22:58 上傳
‘ and ‘1’=’2
DM28.jpg (22.68 KB, 下載次數(shù): 97)
下載附件
保存到相冊(cè)
2020-2-19 22:58 上傳
可以看到只有and 1=1返回的頁(yè)面和正常頁(yè)面內(nèi)容一致,可以得出該處注入點(diǎn)是數(shù)字型注入。
小白:“仔仔你會(huì)手工注入嗎?貌似這不是盲注哦!”
仔仔:“手工注入不大會(huì)誒!
小白:“不會(huì)就算咯!
仔仔:“你會(huì)手工注入嗎?會(huì)的話教我唄!
小白:“看大家支不支持你學(xué)咯!
仔仔:“大家趕緊在下面評(píng)論‘支持仔仔學(xué)習(xí)手工注入’吧,仔仔在此多謝了!
小白給仔仔發(fā)了一張獲取數(shù)據(jù)庫(kù)版本的截圖:
DM29.jpg (9.76 KB, 下載次數(shù): 89)
下載附件
保存到相冊(cè)
2020-2-19 22:59 上傳
接下來(lái)重復(fù)下面的截包注入操作:
DM30.jpg (23.01 KB, 下載次數(shù): 95)
下載附件
保存到相冊(cè)
2020-2-19 23:00 上傳
sqlmap -rlgid.txt –dbs
dm31.jpg (33.91 KB, 下載次數(shù): 96)
下載附件
保存到相冊(cè)
2020-2-19 23:00 上傳
|
|