《網(wǎng)絡(luò)安全防護(hù)項(xiàng)目教程》-子任務(wù)823SQL注入實(shí)戰(zhàn)_第1頁(yè)
《網(wǎng)絡(luò)安全防護(hù)項(xiàng)目教程》-子任務(wù)823SQL注入實(shí)戰(zhàn)_第2頁(yè)
《網(wǎng)絡(luò)安全防護(hù)項(xiàng)目教程》-子任務(wù)823SQL注入實(shí)戰(zhàn)_第3頁(yè)
《網(wǎng)絡(luò)安全防護(hù)項(xiàng)目教程》-子任務(wù)823SQL注入實(shí)戰(zhàn)_第4頁(yè)
《網(wǎng)絡(luò)安全防護(hù)項(xiàng)目教程》-子任務(wù)823SQL注入實(shí)戰(zhàn)_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

學(xué)習(xí)目標(biāo):知識(shí)目標(biāo)技能目標(biāo)態(tài)度目標(biāo)能夠掌握注入攻擊的特征能夠靈活判斷數(shù)據(jù)庫(kù)的各種狀態(tài)能解決配置過(guò)程中出現(xiàn)的問(wèn)題培養(yǎng)認(rèn)真細(xì)致的工作態(tài)度和工作作風(fēng)養(yǎng)成刻苦、勤奮、好問(wèn)、獨(dú)立思考和細(xì)心檢查的學(xué)習(xí)習(xí)慣能與組員精誠(chéng)合作,能正確面對(duì)他人的成功或失敗具有一定自學(xué)能力,分析問(wèn)題、解決問(wèn)題能力和創(chuàng)新的能力了解數(shù)據(jù)庫(kù)安全防護(hù)的必要性掌握注入式攻擊的原理8.1任務(wù)概述新天教育培訓(xùn)集團(tuán)在持續(xù)運(yùn)營(yíng)一段時(shí)間后,服務(wù)器都增加了大量的資料和數(shù)據(jù)。這些數(shù)據(jù)統(tǒng)一由數(shù)據(jù)庫(kù)軟件進(jìn)行管理。但是新天教育部門(mén)主管擔(dān)心這些數(shù)據(jù)容易受到外部攻擊,特別是通過(guò)數(shù)據(jù)庫(kù)進(jìn)行攻擊。為此,新天教育培訓(xùn)集團(tuán)需要有效的安全防護(hù)手段。唐宇經(jīng)過(guò)憑借所學(xué)的知識(shí)他馬上想到了要滿(mǎn)足以上要求需要針對(duì)數(shù)據(jù)庫(kù)進(jìn)行安全配置。8.2情境描述配置的流程怎樣?準(zhǔn)備實(shí)驗(yàn)環(huán)境?手工注入操作?理解手工注入規(guī)則?12348.3任務(wù)分析任務(wù)8-2SQL注入攻擊 1.SQL注入實(shí)驗(yàn)環(huán)境SQL注入攻擊的一般步驟為查找可攻擊的網(wǎng)站、判斷后臺(tái)數(shù)據(jù)庫(kù)類(lèi)型、確定xp_cmdshell可執(zhí)行情況、發(fā)現(xiàn)web虛擬目錄、上傳木馬、得到管理員權(quán)限等。實(shí)際應(yīng)用過(guò)程中,需要搭建環(huán)境來(lái)完成實(shí)踐任務(wù),以避免在真實(shí)應(yīng)用過(guò)程中出現(xiàn)不可控因素和受到不必要的危險(xiǎn)。搭建網(wǎng)站來(lái)完成任務(wù)的時(shí)候通常采用如下一些方式,如表所示。本任務(wù)中準(zhǔn)備Mysql+Php+Apache+Windows的環(huán)境。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)任務(wù)8-2SQL注入攻擊 2.準(zhǔn)備環(huán)境(1)一臺(tái)計(jì)算機(jī)(作為攻擊機(jī))(2)在計(jì)算機(jī)上,安裝一臺(tái)虛擬機(jī)(以Vmware為例)(3)在虛擬機(jī)上安裝WindowsServer2008系統(tǒng)、安裝Web服務(wù)器(4)為了簡(jiǎn)化安裝過(guò)程,在虛擬機(jī)上安裝phpstudy工具拓?fù)浣Y(jié)構(gòu)如圖8-3-2所示。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-2拓?fù)浣Y(jié)構(gòu)圖任務(wù)8-2SQL注入攻擊 3.實(shí)戰(zhàn)步驟1:測(cè)試虛擬機(jī)與真實(shí)機(jī)的連通性,配置真實(shí)機(jī)、虛擬機(jī)都能連通網(wǎng)絡(luò)(1)查看虛擬機(jī)地址,如圖8-3-3所示。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-3虛擬機(jī)“Internet協(xié)議版本4(TCP/IPv4)屬性”對(duì)話(huà)框任務(wù)8-2SQL注入攻擊 (2)查看真實(shí)機(jī)地址,如圖8-3-4所示。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-4真實(shí)機(jī)查詢(xún)IP地址對(duì)話(huà)框任務(wù)8-2SQL注入攻擊 (3)測(cè)試連通性:真實(shí)機(jī)ping虛擬機(jī)。如圖8-3-5所示。從圖中顯示信息可判斷,真實(shí)機(jī)與虛擬機(jī)連接狀況正常。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-5真實(shí)機(jī)與虛擬機(jī)連通性測(cè)試任務(wù)8-2SQL注入攻擊 步驟2:測(cè)試虛擬機(jī)連通網(wǎng)絡(luò)狀況,如圖8-3-6所示。從圖示情況可見(jiàn),虛擬機(jī)與網(wǎng)絡(luò)連通正常。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-6虛擬機(jī)網(wǎng)絡(luò)連通狀態(tài)任務(wù)8-2SQL注入攻擊 步驟3:測(cè)試代碼。(1)將如下代碼寫(xiě)入記事本,另存為index.html,存放在test文件夾下。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)任務(wù)8-2SQL注入攻擊 <html>

<head>

<title>Sql注入演示</title>

<metahttp-equiv="content-type"content="text/html;charset=utf-8">

</head>

<body>

<formaction="validate.php"method="post">

<fieldset>

<legend>Sql注入演示</legend>

<table>

<tr>

<td>用戶(hù)名:</td><td><inputtype="text"name="username"></td>

</tr>

<tr>

<td>密

碼:</td><td><inputtype="text"name="password"></td>

</tr>

<tr>

<td><inputtype="submit"value="提交"></td><td><inputtype="reset"value="重置"></td>

</tr>

</table>

</fieldset>

</form>

</body>

</html>

子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)任務(wù)8-2SQL注入攻擊 (2)架設(shè)IIS管理器。設(shè)置網(wǎng)站,如圖8-3-7所示。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-7“添加網(wǎng)站”對(duì)話(huà)框任務(wù)8-2SQL注入攻擊 (3)設(shè)置默認(rèn)文檔,如圖8-3-8所示。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-8“Internet信息服務(wù)(IIS)管理器”對(duì)話(huà)框任務(wù)8-2SQL注入攻擊 (4)測(cè)試。服務(wù)器設(shè)置完成后進(jìn)行網(wǎng)頁(yè)測(cè)試,在URL地址欄中輸入08,打開(kāi)如圖8-3-9所示對(duì)話(huà)框。從圖示情況可發(fā)現(xiàn),出現(xiàn)了亂碼,不能正常顯示,因此需要修改代碼。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-9“Sql–WindowsInternetExplorer”對(duì)話(huà)框任務(wù)8-2SQL注入攻擊 (5)修改代碼。將<metahttp-equiv="content-type"content="text/html;charset=utf-8">代碼修改為<metahttp-equiv="content-type"content="text/html;charset=GB2312">。重新進(jìn)行測(cè)試,顯示如圖8-3-10所示對(duì)話(huà)框。從圖示情況可發(fā)現(xiàn),網(wǎng)站顯示正常,說(shuō)明網(wǎng)頁(yè)測(cè)試代碼沒(méi)有問(wèn)題,可以進(jìn)入下一步。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-10“Sql注入演示”對(duì)話(huà)框任務(wù)8-2SQL注入攻擊 步驟4:下載并安裝PhpStudy工具(1)下載工具。(2)安裝工具?!袷髽?biāo)左鍵雙擊安裝包,將文件解壓縮至如圖8-3-11所示的“C:\phpStudy”文件夾中,也可根據(jù)需求選擇其他位置。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-11“phpStudy2018自動(dòng)解壓包”對(duì)話(huà)框任務(wù)8-2SQL注入攻擊 ●單擊“是”按鈕,進(jìn)入如圖8-3-12所示的解壓進(jìn)程,等待直至進(jìn)度完成。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-12“正在解壓中…”對(duì)話(huà)框任務(wù)8-2SQL注入攻擊 ●安裝完成后如圖8-3-13所示。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-13“phpStudy2018PHP-5.4.45”對(duì)話(huà)框任務(wù)8-2SQL注入攻擊 圖中“運(yùn)行模式”說(shuō)明如表所示。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)任務(wù)8-2SQL注入攻擊 (3)配置工具?!癫煌枨筮x擇不同的版本。單擊“運(yùn)行模式”后綠色標(biāo)識(shí)的“切換版本”,彈出如圖8-3-14所示php版本以及web服務(wù)器組合選擇面板,根據(jù)實(shí)際任務(wù)需求選擇自己所需要的組合。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-14php版本以及web服務(wù)器組合選擇面板任務(wù)8-2SQL注入攻擊 ●配置站點(diǎn)單擊“其他選項(xiàng)菜單”按鈕,打開(kāi)如圖8-3-15所示菜單,單擊“站點(diǎn)域名管理”菜單。根據(jù)前面的操作需求,網(wǎng)站中網(wǎng)頁(yè)內(nèi)容存放在c:\phpstudy\www目錄下,因此設(shè)置如圖8-3-16所示。如在使用過(guò)程中出現(xiàn)端口沖突或該端口已用于其他應(yīng)用,建議修改端口。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-15“站點(diǎn)域名管理”菜單圖8-3-16“站點(diǎn)域名設(shè)置”對(duì)話(huà)框任務(wù)8-2SQL注入攻擊 設(shè)置完成后,單擊“新增”按鈕,打開(kāi)如圖8-3-17所示“phpStudy”對(duì)話(huà)框,單擊“確定”按鈕,則等待程序重啟完成,設(shè)置生效。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-17“phpStudy”對(duì)話(huà)框任務(wù)8-2SQL注入攻擊 步驟5:創(chuàng)建與配置數(shù)據(jù)庫(kù)。(1)單擊“其他選項(xiàng)菜單”,打開(kāi)如圖所示的“MySQL工具-快速創(chuàng)建數(shù)據(jù)庫(kù)”菜單。(2)單擊“快速創(chuàng)建數(shù)據(jù)庫(kù)”菜單,打開(kāi)如圖8-3-18所示的“快速創(chuàng)建數(shù)據(jù)庫(kù),請(qǐng)輸入數(shù)據(jù)庫(kù)名”對(duì)話(huà)框,在文本框中輸入需要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)名,如testdb。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-18“快速創(chuàng)建數(shù)據(jù)庫(kù),請(qǐng)輸入數(shù)據(jù)庫(kù)名”對(duì)話(huà)框任務(wù)8-2SQL注入攻擊 (3)單擊“確定”按鈕,即建立了名為testdb的數(shù)據(jù)庫(kù)。(4)回到如圖8-3-19所示的phpStudy運(yùn)行界面,單擊“MySQL管理”按鈕。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-19“phpStudy2018PHP-5.4.45”對(duì)話(huà)框任務(wù)8-2SQL注入攻擊 在展開(kāi)的菜單中選擇并單擊“phpMyAdmin”,打開(kāi)如圖8-3-20所示的頁(yè)面。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-20“正常登錄”頁(yè)面任務(wù)8-2SQL注入攻擊 (5)創(chuàng)建users表格框架。此處的users表名可以根據(jù)設(shè)計(jì)自行定義。在“登錄”文本框中輸入默認(rèn)的用戶(hù)名和密碼root,單擊右下角的“執(zhí)行”按鈕,打開(kāi)如圖8-3-21所示的數(shù)據(jù)庫(kù)頁(yè)面。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-21“新建數(shù)據(jù)表”頁(yè)面任務(wù)8-2SQL注入攻擊 在此頁(yè)面左邊窗格中,可看到testdb數(shù)據(jù)庫(kù),但該數(shù)據(jù)庫(kù)還只建立了結(jié)構(gòu),沒(méi)有具體內(nèi)容,可采取命令方式(SQL)和菜單方式(新建數(shù)據(jù)表)完成數(shù)據(jù)表的創(chuàng)建、記錄的輸入及查詢(xún)等操作。本任務(wù)中以命令方式創(chuàng)建表格,如圖8-3-22所示。具體代碼如下。CREATETABLEusers(Idint(11)NOTNULLAUTO_INCREMENT,Usernamevarchar(64)NOTNULL,passwordvarchar(64)NOTNULL,emailvarchar(64)NOTNULL,PRIMARYKEY(id),UNIQUEKEYusername(username))ENGINE=MyISAMAUTO_INCREMENT=3DEFAULTCHARSET=latin1;執(zhí)行完代碼后就創(chuàng)建了users表格的框架。在如圖所示頁(yè)面的左側(cè)窗格中可看到users表格框架已經(jīng)創(chuàng)建成功。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)任務(wù)8-2SQL注入攻擊 子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-22“創(chuàng)建數(shù)據(jù)表”SQL命令任務(wù)8-2SQL注入攻擊 (6)添加記錄。一方面為了檢驗(yàn)表格框架是否正確,可在表中輸入記錄內(nèi)容。另一方面完善整個(gè)表格,也需要添加記錄。采用命令方式完成,在users表中插入記錄的代碼如下。INSERTINTOusers(username,password,email)VALUES('wxw',md5('test'),'wxw@');Md5(‘test’)是采用在線(xiàn)MD5加密的方式。如在瀏覽器URL地址欄中輸入,打開(kāi)網(wǎng)頁(yè),在如圖8-3-23所示文本框中輸入test。子任務(wù)8-務(wù)2-3SQL注入實(shí)戰(zhàn)圖8-3-23md5在線(xiàn)加密單擊加密結(jié)果如圖8-3-24所示,這就是test明文經(jīng)md5加密后獲得的密文。圖8-3-24md5在線(xiàn)加密結(jié)果任務(wù)8-2SQL注入攻擊 (7)查詢(xún)記錄。

執(zhí)行完成上述添加語(yǔ)句后,在SQL中輸入select*fromusers,測(cè)試記錄是否添加成功。測(cè)試結(jié)果如圖8-3-25所示,說(shuō)明在users表中添加成功1條記錄。用戶(hù)名為wxw,密碼為test的md5加密值,email為wxw@。Testdb簡(jiǎn)單數(shù)據(jù)庫(kù)創(chuàng)建完畢。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-25“測(cè)試”圖任務(wù)8-2SQL注入攻擊 步驟6:搭建測(cè)試網(wǎng)站(1)設(shè)置登錄網(wǎng)頁(yè),利用前面index.html的代碼,命名為login.php。要判斷是否能夠成功登錄,需要對(duì)登錄用戶(hù)名和密碼進(jìn)行驗(yàn)證。(2)構(gòu)建用戶(hù)名和密碼有效性驗(yàn)證網(wǎng)頁(yè)。當(dāng)用戶(hù)根據(jù)登錄頁(yè)面輸入相應(yīng)信息,單擊“提交”按鈕后,需要判斷用戶(hù)輸入的用戶(hù)名和密碼有沒(méi)有都符合要求,也就是把表單數(shù)據(jù)提交給validate.php頁(yè)面(這一步至關(guān)重要,通常是SQL漏洞所在)。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)任務(wù)8-2SQL注入攻擊 步驟6:搭建測(cè)試網(wǎng)站(1)設(shè)置登錄網(wǎng)頁(yè),利用前面index.html的代碼,命名為login.php。要判斷是否能夠成功登錄,需要對(duì)登錄用戶(hù)名和密碼進(jìn)行驗(yàn)證。(2)構(gòu)建用戶(hù)名和密碼有效性驗(yàn)證網(wǎng)頁(yè)。當(dāng)用戶(hù)根據(jù)登錄頁(yè)面輸入相應(yīng)信息,單擊“提交”按鈕后,需要判斷用戶(hù)輸入的用戶(hù)名和密碼有沒(méi)有都符合要求,也就是把表單數(shù)據(jù)提交給validate.php頁(yè)面(這一步至關(guān)重要,通常是SQL漏洞所在)。

為本機(jī)地址,也可以寫(xiě)為localhost。默認(rèn)用戶(hù)名和密碼為root子任務(wù)8-務(wù)2-3SQL注入實(shí)戰(zhàn)任務(wù)8-2SQL注入攻擊 ●網(wǎng)頁(yè)代碼validate.php是構(gòu)建檢驗(yàn)用戶(hù)名和密碼正確性的網(wǎng)頁(yè),代碼如下<html>

<head>

<title>登錄驗(yàn)證</title>

<metahttp-equiv="content-type"content="text/html;charset=utf-8">

</head>

<body>

<?php$conn=@mysql_connect("",'root','root')ordie("數(shù)據(jù)庫(kù)連接失??!");;

mysql_select_db("testdb",$conn)ordie("您要選擇的數(shù)據(jù)庫(kù)不存在");

$name=$_POST['username'];

$pwd=$_POST['password'];

$sql="select*fromuserswhereusername='$name'andpassword='$pwd'";

$query=mysql_query($sql);

$arr=mysql_fetch_array($query);

if(is_array($arr)){header(("location:/phpMyAdmin/index.php");

}else{

echo"您的用戶(hù)名或密碼輸入有誤,<ahref=\"Login.php\">請(qǐng)重新登錄!</a>";

}

?></body>

</html>

子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)任務(wù)8-2SQL注入攻擊 ●代碼檢測(cè)單擊“其他選項(xiàng)菜單”,選擇并單擊“MyHomePage”菜單,進(jìn)入如圖8-3-10所示的登錄頁(yè)面。根據(jù)前面數(shù)據(jù)庫(kù)構(gòu)建結(jié)果,輸入正確的用戶(hù)名wxw和正確的密碼098f6bcd4621d373cade4e832627b4f6(經(jīng)md5(‘test’)計(jì)算而來(lái)),其登錄結(jié)果如圖8-3-26所示。說(shuō)明輸入正確的用戶(hù)名和密碼時(shí),正常登錄。子任務(wù)8-2-3SQL注入實(shí)戰(zhàn)圖8-3-26“正常登錄”頁(yè)面任務(wù)8-2SQL注入攻擊 輸入不正確的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論