Sql注入技術(shù):
強(qiáng)制產(chǎn)生錯(cuò)誤
對(duì)數(shù)據(jù)庫(kù)類(lèi)型粱玲、版本等信息進(jìn)行識(shí)別是此類(lèi)型攻擊的動(dòng)機(jī)所在诸尽。它的目的是收集數(shù)據(jù)庫(kù)的類(lèi)型蠢箩、結(jié)構(gòu)等信息為其他類(lèi)型的攻擊做準(zhǔn)備劳翰,可謂是攻擊的一個(gè)預(yù)備步驟敦锌。利用應(yīng)用程序服務(wù)器返回的默認(rèn)錯(cuò)誤信息而取得漏洞信息。
采用非主流通道技術(shù)
除HTTP響應(yīng)外佳簸,能通過(guò)通道獲取數(shù)據(jù)乙墙,然而,通道大都依賴與數(shù)據(jù)庫(kù)支持的功能而存在生均,所以這項(xiàng)技術(shù)不完全適用于所有的數(shù)據(jù)庫(kù)平臺(tái)听想。SQL注入的非主流通道主要有E-mail、DNS以及數(shù)據(jù)庫(kù)連接马胧,基本思想為:先對(duì)SQL查詢打包汉买,然后借助非主流通道將信息反饋至攻擊者。
使用特殊的字符
不同的SQL數(shù)據(jù)庫(kù)有許多不同是特殊字符和變量佩脊,通過(guò)某些配置不安全或過(guò)濾不細(xì)致的應(yīng)用系統(tǒng)能夠取得某些有用的信息蛙粘,從而對(duì)進(jìn)一步攻擊提供方向。
使用條件語(yǔ)句
此方式具體可分為基于內(nèi)容威彰、基于時(shí)間出牧、基于錯(cuò)誤三種形式。一般在經(jīng)過(guò)常規(guī)訪問(wèn)后加上條件語(yǔ)句歇盼,根據(jù)信息反饋來(lái)判定被攻擊的目標(biāo)舔痕。
利用存儲(chǔ)過(guò)程
通過(guò)某些標(biāo)準(zhǔn)存儲(chǔ)過(guò)程,數(shù)據(jù)庫(kù)廠商對(duì)數(shù)據(jù)庫(kù)的功能進(jìn)行擴(kuò)展的同時(shí)旺遮,系統(tǒng)也可與進(jìn)行交互赵讯。部分存儲(chǔ)過(guò)程可以讓用戶自行定義。通過(guò)其他類(lèi)型的攻擊收集到數(shù)據(jù)庫(kù)的類(lèi)型耿眉、結(jié)構(gòu)等信息后,便能夠建構(gòu)執(zhí)行存儲(chǔ)過(guò)程的命令鱼响。這種攻擊類(lèi)型往往能達(dá)到遠(yuǎn)程命令執(zhí)行鸣剪、特權(quán)擴(kuò)張、拒絕服務(wù)的目的。
避開(kāi)輸入過(guò)濾技術(shù)
雖然對(duì)于通常的編碼都可利用某些過(guò)濾技術(shù)進(jìn)行SQL注入防范筐骇,但是鑒于此種情況下也有許多方法避開(kāi)過(guò)濾债鸡,一般可達(dá)到此目的的技術(shù)手段包括SQL注釋和動(dòng)態(tài)查詢的使用,利用截?cái)囝跷常琔RL編碼與空字節(jié)的使用厌均,大小寫(xiě)變種的使用以及嵌套剝離后的表達(dá)式等等。借助于此些手段告唆,輸入構(gòu)思后的查詢可以避開(kāi)輸入過(guò)濾棺弊,從而攻擊者能獲得想要的查詢結(jié)果。
推斷技術(shù)
能夠明確數(shù)據(jù)庫(kù)模式擒悬、提取數(shù)據(jù)以及識(shí)別可注入?yún)?shù)模她。此種方式的攻擊通過(guò)網(wǎng)站對(duì)用戶輸入的反饋信息,對(duì)可注入?yún)?shù)懂牧、數(shù)據(jù)庫(kù)模式推斷侈净,這種攻擊構(gòu)造的查詢執(zhí)行后獲得的答案只有真、假兩種僧凤⌒笳欤基于推斷的注入方式主要分為時(shí)間測(cè)定注入與盲注入兩種。前者是在注入語(yǔ)句里加入語(yǔ)句諸如“waitfor 100”躯保,按照此查詢結(jié)果出現(xiàn)的時(shí)間對(duì)注入能否成功和數(shù)據(jù)值范圍的推導(dǎo)進(jìn)行判定夏伊;后者主要是“and l=l”、“and l=2”兩種經(jīng)典注入方法吻氧。這些方式均是對(duì)一些間接關(guān)聯(lián)且能取得回應(yīng)的問(wèn)題進(jìn)行提問(wèn)溺忧,進(jìn)而通過(guò)響應(yīng)信息推斷出想要信息,然后進(jìn)行攻擊盯孙。