S Q L 注入原理_第1頁(yè)
S Q L 注入原理_第2頁(yè)
S Q L 注入原理_第3頁(yè)
S Q L 注入原理_第4頁(yè)
S Q L 注入原理_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、S Q L 注入原理 SQL注入攻擊是黑客對(duì)數(shù)據(jù)庫(kù)進(jìn)行攻擊的常用手段之一。這是由于相當(dāng)大一部分程序員在編寫代碼的時(shí)候,沒(méi)有對(duì)用戶輸入數(shù)據(jù)的合法性進(jìn)行判斷,使應(yīng)用程序存在安全隱患。 用戶可以提交一段數(shù)據(jù)庫(kù)查詢代碼,根據(jù)程序返回的結(jié)果,獲得某些他想得知的數(shù)據(jù),這就是所謂的SQL Injection,即SQL注入。 SQL注入是從正常的WWW端口訪問(wèn),而且表面看起來(lái)跟一般的Web頁(yè)面訪問(wèn)沒(méi)什么區(qū)別,所以目前市面的防火墻都不會(huì)對(duì)SQL注入發(fā)出警報(bào),如果管理員沒(méi)查看IIS日志的習(xí)慣,可能被入侵很長(zhǎng)時(shí)間都不會(huì)發(fā)覺(jué)。但是,SQL注入的手法相當(dāng)靈活,在注入的時(shí)候會(huì)碰到很多意外的情況,需要構(gòu)造巧妙的SQL語(yǔ)句,

2、從而成功獲取想要的數(shù)據(jù)。SQL注入測(cè)試就是通過(guò)利用目標(biāo)網(wǎng)站的某個(gè)頁(yè)面缺少對(duì)用戶傳遞參數(shù)控制或者控制的不夠好的情況下出現(xiàn)的漏洞,從而達(dá)到獲取、修改、刪除數(shù)據(jù),甚至控制數(shù)據(jù)庫(kù)服務(wù)器、Web服務(wù)器的目的的測(cè)試方法。1SQL注入的思路是: 發(fā)現(xiàn)SQL注入位置; 判斷后臺(tái)數(shù)據(jù)庫(kù)類型; 得到管理員權(quán)限;2SQL注入攻擊的步驟 一、SQL注入漏洞的判斷 一般來(lái)說(shuō),SQL注入一般存在于形如:等帶有參數(shù)的ASP動(dòng)態(tài)網(wǎng)頁(yè)中,有時(shí)一個(gè)動(dòng)態(tài)網(wǎng)頁(yè)中可能只有一個(gè)參數(shù),有時(shí)可能有N個(gè)參數(shù),有時(shí)是整型參數(shù),有時(shí)是字符串型參數(shù),不能一概而論??傊灰菐в袇?shù)的動(dòng)態(tài)網(wǎng)頁(yè)且此網(wǎng)頁(yè)訪問(wèn)了數(shù)據(jù)庫(kù),那么就有可能存在SQL注入。如果AS

3、P程序員沒(méi)有安全意識(shí),不進(jìn)行必要的字符過(guò)濾,存在SQL注入的可能性就非常大。3二 、SQL語(yǔ)句注入1.判斷有無(wú)注入點(diǎn) ; and 1=1 and 1=2如果 ;、 and 1=1 返回正常頁(yè)面, and 1=2 返回錯(cuò)誤頁(yè)面 則可以進(jìn)行注入。4三、數(shù)據(jù)庫(kù)類型判斷:ACCESS與SQLSERVER是最常用的數(shù)據(jù)庫(kù)服務(wù)器,盡管它們都支持TSQL標(biāo)準(zhǔn),但還有不同之處,而且不同的數(shù)據(jù)庫(kù)有不同的攻擊方法,必須要區(qū)別對(duì)待。ACCESS的系統(tǒng)表是msysobjects,且在WEB環(huán)境下沒(méi)有訪問(wèn)權(quán)限,而SQL-SERVER的系統(tǒng)表是sysobjects,在WEB環(huán)境下有訪問(wèn)權(quán)限。對(duì)于以下兩條語(yǔ)句: and (

4、select count(*) from sysobjects)0 and (select count(*) from msysobjects)0 如果打開(kāi)頁(yè)面是與原頁(yè)面是大致相同的是SQL-SERVER 類型,否則是Access類型的數(shù)據(jù)庫(kù)。利用這些系統(tǒng)值可以得到大量有用信息。5sql入侵方法有兩種:用sql注入工具。例如啊D注入工具手工注入。6手工注入猜數(shù)據(jù)庫(kù) and (select Count(*) from 數(shù)據(jù)庫(kù)名)0猜字段 and (select Count(字段名) from 數(shù)據(jù)庫(kù)名)0. 在猜不到字段名時(shí),不妨看看網(wǎng)站上的登錄表單,一般為了方便起見(jiàn),字段名都與表單的輸入框取相

5、同的名字。 7猜解表里面的字段名稱了 and (select count(*) from admin where len(*)0) 這個(gè)是核心語(yǔ)句也是大眾話的語(yǔ)句.我們要做的就是在len( ) 括號(hào)里面加上我們想到的字段名稱.8猜用戶名和密碼的具體長(zhǎng)度and (select count(*) from admin where len(name)0) 用戶字段名稱 and (select count(*) from admin where len(password)0) 密碼字段名稱 9猜解字符 and (select count(*) from admin where left(admin,1

6、)=a) -猜解用戶 “1”代表用戶名的第一個(gè)字符aand (select count(*) from admin where left(admin,2)=ad)-用戶名前二個(gè)字符 以此可以猜出 用戶名和密碼。 找出登錄口登錄10防御和檢查SQL注入的手段沒(méi)有正確過(guò)濾轉(zhuǎn)義字符 如 and “t”=“t”;1or1=1使用參數(shù)化的過(guò)濾性語(yǔ)句 要防御SQL注入,用戶的輸入就絕對(duì)不能直接被嵌入到SQL語(yǔ)句中。恰恰相反,用戶的輸入必須進(jìn)行過(guò)濾,或者使用參數(shù)化的語(yǔ)句。參數(shù)化的語(yǔ)句使用參數(shù)而不是將用戶輸入嵌入到語(yǔ)句中。在多數(shù)情況中,SQL語(yǔ)句就得以修正。然后,用戶輸入就被限于一個(gè)參數(shù)。使用參數(shù)化的語(yǔ)句意味著嵌入用戶輸入的SQL語(yǔ)句在運(yùn)行時(shí)將被拒絕11使用專業(yè)的漏洞掃描工具 如Acunetix的Web漏洞掃描程序等。一個(gè)完善的漏洞掃描程序不同于網(wǎng)絡(luò)掃描程序,它專門查找網(wǎng)站上的SQL注入式漏洞。最新的漏

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論