自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何使用加密的Payload來(lái)識(shí)別并利用SQL注入漏洞

安全 數(shù)據(jù)安全
在這篇文章中,安全教育培訓(xùn)專家SunilYadav將會(huì)討論一個(gè)案例,并介紹如何通過(guò)一個(gè)加密的Payload來(lái)發(fā)現(xiàn)并利用SQL注入漏洞。

寫在前面的話

密碼學(xué)具有諸多優(yōu)點(diǎn),信息的保密性同樣離不開密碼學(xué),但是從歷史經(jīng)驗(yàn)來(lái)看,在保護(hù)應(yīng)用和數(shù)據(jù)安全方面我們絕對(duì)不能過(guò)分依賴于密碼學(xué)。在這篇文章中,安全教育培訓(xùn)專家SunilYadav將會(huì)討論一個(gè)案例,并介紹如何通過(guò)一個(gè)加密的Payload來(lái)發(fā)現(xiàn)并利用SQL注入漏洞。

請(qǐng)注意:我們?cè)诖瞬淮蛩阌懻撁艽a學(xué)方面的問(wèn)題(例如如何破解加密算法),我們討論的是應(yīng)用程序的安全缺陷,這方面問(wèn)題是很多開發(fā)者最容易忽略的問(wèn)題,而本文所描述的這個(gè)漏洞將允許我們通過(guò)一個(gè)加密的Payload來(lái)識(shí)別并利用程序中的SQL注入漏洞。

實(shí)際上,這個(gè)漏洞是我們?cè)谝淮握鎸?shí)的滲透測(cè)試過(guò)程中所發(fā)現(xiàn)的。為了給大家進(jìn)行演示,我們?cè)趯?shí)驗(yàn)環(huán)境中對(duì)該漏洞進(jìn)行了復(fù)現(xiàn),接下來(lái)我們會(huì)討論整個(gè)測(cè)試過(guò)程的具體細(xì)節(jié)。

[[189940]]

漏洞發(fā)現(xiàn)

近期,我們對(duì)一個(gè)電子商務(wù)應(yīng)用進(jìn)行了滲透測(cè)試。我們發(fā)現(xiàn),其中絕大多數(shù)的請(qǐng)求參數(shù)值都經(jīng)過(guò)了加密處理。當(dāng)請(qǐng)求參數(shù)值被加密之后,我們是很難對(duì)應(yīng)用進(jìn)行滲透測(cè)試/模糊測(cè)試的,除非我們能夠破解它所使用的加密算法。如果在時(shí)間有限的黑盒測(cè)試過(guò)程中遇到這樣的問(wèn)題,那絕對(duì)是一個(gè)噩耗。

下面這張圖片顯示的就是這個(gè)測(cè)試項(xiàng)目中的訂單詳情頁(yè)面,其中的訂單ID(orderid)參數(shù)就是以加密形式發(fā)送的:

測(cè)試項(xiàng)目中的訂單詳情頁(yè)面

地址欄中的參數(shù)值“BDKfx3xNKsc=”是經(jīng)過(guò)加密的,雖然加密后的ID參數(shù)值為base64編碼格式,但這里不僅僅只采用了base64編碼。除此之外我們還發(fā)現(xiàn),如果我們登出了應(yīng)用,并使用相同的用戶賬號(hào)重新登錄,然后再次訪問(wèn)相同的頁(yè)面。此時(shí),這個(gè)經(jīng)過(guò)加密的參數(shù)值就變成了“nPBri1km2ic=”,具體如下圖所示:

經(jīng)過(guò)加密的參數(shù)值就變成了“nPBri1km2ic=”

由此可以看出,加密過(guò)程要么使用了一個(gè)隨機(jī)密鑰,要么就是加密密鑰中有一部分?jǐn)?shù)據(jù)是由會(huì)話ID構(gòu)成的。從表面上看,這個(gè)應(yīng)用是非常安全的,沒(méi)錯(cuò)吧?但是我們都知道,這世界上沒(méi)有絕對(duì)安全的程序,所以我們?nèi)匀灰朕k法找出其中有可能存在的一些加密缺陷。

首先,我們嘗試在多個(gè)地方注入單引號(hào)(’)來(lái)測(cè)試系統(tǒng)是否能夠?qū)τ脩舻妮斎脒M(jìn)行有效驗(yàn)證。但是,由于這些輸入必須以加密格式提供給系統(tǒng),所以我們的請(qǐng)求參數(shù)被系統(tǒng)拒絕了。

接下來(lái),我們注意到了該應(yīng)用的購(gòu)物車分享功能。這個(gè)功能允許用戶將自己購(gòu)物車?yán)锏纳唐贩窒斫o好友,當(dāng)用戶保存好購(gòu)物車?yán)锏纳唐凡Ⅻc(diǎn)擊分享之后,系統(tǒng)會(huì)生成一個(gè)帶有隨機(jī)令牌的鏈接。通過(guò)訪問(wèn)這個(gè)鏈接(URL),用戶就可以直接查看好友的購(gòu)物車了。而且在保存購(gòu)物車商品之前,用戶還需要給購(gòu)物車命名。

應(yīng)用的購(gòu)物車分享功能

由于這是一個(gè)使用頻率非常低的文本輸入域,所以我們的模糊測(cè)試打算從這里入手,并嘗試找出SQL注入漏洞或XSS漏洞,但這一次仍然一無(wú)所獲。不過(guò),我們意識(shí)到了一件事情,那就是我們所發(fā)現(xiàn)的這個(gè)分享地址和購(gòu)物車命名框也許會(huì)成為我們的突破口。在進(jìn)一步分析之后,我們發(fā)現(xiàn)購(gòu)入車分享地址中所使用的令牌就是購(gòu)物車名稱加密后所得到的密文。

雖然這個(gè)購(gòu)物車分享功能并不會(huì)受到任何網(wǎng)絡(luò)攻擊的影響,但是我們卻能夠利用這個(gè)功能并根據(jù)輸入的信息(明文,即購(gòu)物車名稱)來(lái)生成加密Payload(密文)?,F(xiàn)在,我們就可以利用這個(gè)功能來(lái)生成一個(gè)攻擊Payload,并利用它來(lái)檢查應(yīng)用程序中可能存在的漏洞,例如SQL注入漏洞以及身份認(rèn)證繞過(guò)等等。為了檢測(cè)SQL注入漏洞,我們需要生成單引號(hào)(’)所對(duì)應(yīng)的加密值,具體如下圖所示:

檢測(cè)SQL注入漏洞

這樣一來(lái),對(duì)于那些只接受加密值作為輸入數(shù)據(jù)的文本域,我們就可以使用這種加密Payload來(lái)進(jìn)行模糊測(cè)試了。雖然尋找注入點(diǎn)的過(guò)程花費(fèi)了我們不少的時(shí)間,但最終我們還是找到了一個(gè)SQL注入漏洞。具體如下圖所示,我們?cè)跍y(cè)試訂單物品(orderitem)頁(yè)面的IP參數(shù)時(shí),系統(tǒng)返回了一個(gè)SQL錯(cuò)誤信息:

測(cè)試訂單物品(orderitem)頁(yè)面的IP參數(shù)

從錯(cuò)誤信息中可以看出,這個(gè)電子商務(wù)應(yīng)用生成了動(dòng)態(tài)查詢語(yǔ)句,這里就有可能存在一個(gè)SQL注入漏洞,而我們可以利用這個(gè)漏洞從數(shù)據(jù)庫(kù)中提取出有價(jià)值的信息。在這里,我們準(zhǔn)備使用SQL UNION查詢語(yǔ)句來(lái)從數(shù)據(jù)庫(kù)中提取數(shù)據(jù),而UNION操作符可以合并兩條或多條select子句。

接下來(lái),我們需要確定數(shù)據(jù)庫(kù)表中的列數(shù)。在進(jìn)行了一系列測(cè)試之后,我們從返回信息中得知了列數(shù)(30)?,F(xiàn)在,我們就可以從數(shù)據(jù)庫(kù)中提取有效信息了。我們創(chuàng)建了一個(gè)加密Payload,具體如下所示:

創(chuàng)建了一個(gè)加密Payload

通過(guò)上面這條SQL語(yǔ)句所生成的Payload(ID參數(shù)),我們得到了系統(tǒng)所使用的數(shù)據(jù)庫(kù)版本信息。

最后,我們還利用這個(gè)漏洞攻下了數(shù)據(jù)庫(kù)系統(tǒng),并拿到了后臺(tái)服務(wù)器的Shell。

總結(jié)

這個(gè)電子商務(wù)應(yīng)用程序使用了加密參數(shù)來(lái)實(shí)現(xiàn)安全保護(hù),這也是通過(guò)信息隱匿來(lái)實(shí)現(xiàn)安全性的一個(gè)例子,但是這種做法并不能保證軟件的安全。只有在密鑰得到有效保護(hù)的情況下,采用健壯加密算法進(jìn)行加密的數(shù)據(jù)才能夠真正地保證安全。實(shí)際上,密碼學(xué)以及信息加密手段已經(jīng)成為了我們防止隱私消息被竊聽或篡改的一種常用方法,但是由于系統(tǒng)在實(shí)現(xiàn)加密過(guò)程中的錯(cuò)誤以及開發(fā)人員對(duì)加密手段的使用不當(dāng),往往會(huì)導(dǎo)致更加嚴(yán)重的安全漏洞出現(xiàn)。

責(zé)任編輯:趙寧寧 來(lái)源: FreeBuf
相關(guān)推薦

2021-09-16 09:05:45

SQL注入漏洞網(wǎng)絡(luò)攻擊

2010-10-22 15:18:18

SQL注入漏洞

2014-02-28 17:29:06

2016-09-28 16:38:47

2009-11-02 13:47:09

2009-10-25 13:32:09

2023-12-01 16:21:42

2009-02-12 10:14:16

2021-11-08 07:26:36

Vailyn漏洞安全工具

2021-01-21 22:18:59

機(jī)器學(xué)習(xí)加密貨幣數(shù)據(jù)

2018-03-29 10:16:04

2012-12-19 10:36:06

2015-01-21 11:06:20

SQL注入SQL注入漏洞

2013-10-28 09:09:23

2021-04-21 08:00:00

Web工具漏洞

2013-11-07 09:31:22

2009-12-24 10:40:09

2017-08-09 17:09:47

2010-06-30 17:56:06

2013-07-27 14:14:25

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)