《網(wǎng)絡(luò)安全防護項目教程》課件項目4 數(shù)據(jù)庫安全防護_第1頁
《網(wǎng)絡(luò)安全防護項目教程》課件項目4 數(shù)據(jù)庫安全防護_第2頁
《網(wǎng)絡(luò)安全防護項目教程》課件項目4 數(shù)據(jù)庫安全防護_第3頁
《網(wǎng)絡(luò)安全防護項目教程》課件項目4 數(shù)據(jù)庫安全防護_第4頁
《網(wǎng)絡(luò)安全防護項目教程》課件項目4 數(shù)據(jù)庫安全防護_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

學(xué)習(xí)目標:知識目標技能目標態(tài)度目標能夠熟練配置數(shù)據(jù)庫能夠掌握注入攻擊的特征能夠靈活判斷數(shù)據(jù)庫的各種狀態(tài)能解決配置過程中出現(xiàn)的問題培養(yǎng)認真細致的工作態(tài)度和工作作風(fēng)養(yǎng)成刻苦、勤奮、好問、獨立思考和細心檢查的學(xué)習(xí)習(xí)慣能與組員精誠合作,能正確面對他人的成功或失敗具有一定自學(xué)能力,分析問題、解決問題能力和創(chuàng)新的能力了解數(shù)據(jù)庫的基本知識了解數(shù)據(jù)庫安全防護的必要性掌握注入式攻擊的原理掌握數(shù)據(jù)庫系統(tǒng)安全策略新天教育培訓(xùn)集團在持續(xù)運營一段時間后,服務(wù)器都增加了大量的資料和數(shù)據(jù)。這些數(shù)據(jù)統(tǒng)一由數(shù)據(jù)庫軟件進行管理。但是新天教育部門主管擔心這些數(shù)據(jù)容易受到外部攻擊,特別是通過數(shù)據(jù)庫進行攻擊。為此,新天教育培訓(xùn)集團需要有效的安全防護手段。唐宇經(jīng)過憑借所學(xué)的知識他馬上想到了要滿足以上要求需要針對數(shù)據(jù)庫進行安全配置。7.1情境描述配置的流程怎樣?什么是數(shù)據(jù)庫防護?什么是注入攻擊?怎樣配置數(shù)據(jù)庫系統(tǒng)安全防護?12347.2任務(wù)分析本項目的具體任務(wù)有哪些?5任務(wù)1SQL數(shù)據(jù)庫安全認識 數(shù)據(jù)庫系統(tǒng)(DatabaseSystem,簡稱DBS),是為適應(yīng)數(shù)據(jù)處理的需要而發(fā)展起來的一種較為理想的數(shù)據(jù)處理系統(tǒng),也是一個為實際可運行的存儲、維護和應(yīng)用系統(tǒng)提供數(shù)據(jù)的軟件系統(tǒng),是存儲介質(zhì)、處理對象和管理系統(tǒng)的集合體。1.數(shù)據(jù)庫系統(tǒng)組成數(shù)據(jù)庫系統(tǒng)組成結(jié)構(gòu)如圖4-1-1所示。數(shù)據(jù)庫由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理,數(shù)據(jù)的插入、修改和檢索均要通過數(shù)據(jù)庫管理系統(tǒng)進行。數(shù)據(jù)管理員負責創(chuàng)建、監(jiān)控和維護整個數(shù)據(jù)庫,使數(shù)據(jù)能被任何有權(quán)使用的人有效使用。任務(wù)1-1數(shù)據(jù)庫系統(tǒng)概述任務(wù)1SQL數(shù)據(jù)庫安全認識 任務(wù)1-1數(shù)據(jù)庫系統(tǒng)概述圖4-1-1數(shù)據(jù)庫系統(tǒng)組成結(jié)構(gòu)圖任務(wù)1SQL數(shù)據(jù)庫安全認識 2.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(databasemanagementsystem,DBMS)是數(shù)據(jù)庫系統(tǒng)的核心,是在操作系統(tǒng)支持下工作,解決如何科學(xué)地組織和存儲數(shù)據(jù),如何高效獲取和維護數(shù)據(jù)的系統(tǒng)軟件。其主要功能包括:數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫的運行管理和數(shù)據(jù)庫的建立與維護。3.常見數(shù)據(jù)庫系統(tǒng)常見數(shù)據(jù)庫系統(tǒng)如表所示。任務(wù)1-1數(shù)據(jù)庫系統(tǒng)概述任務(wù)1SQL數(shù)據(jù)庫安全認識 數(shù)據(jù)庫技術(shù)是現(xiàn)代信息科學(xué)與技術(shù)的重要組成部分,是計算機數(shù)據(jù)處理與信息管理系統(tǒng)的核心,研究和解決了計算機信息處理過程中大量數(shù)據(jù)有效地組織和存儲的問題,在數(shù)據(jù)庫系統(tǒng)中減少數(shù)據(jù)存儲冗余、實現(xiàn)數(shù)據(jù)共享、保障數(shù)據(jù)安全以及高效地檢索數(shù)據(jù)和處理數(shù)據(jù)。其根本目標是要解決數(shù)據(jù)的共享問題。數(shù)據(jù)庫技術(shù)涉及到許多基本概念,主要包括:信息,數(shù)據(jù),數(shù)據(jù)處理,數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng)以及數(shù)據(jù)庫系統(tǒng)等。任務(wù)1-2數(shù)據(jù)庫技術(shù)任務(wù)1SQL數(shù)據(jù)庫安全認識 1.數(shù)據(jù)數(shù)據(jù)(Data)是用于描述現(xiàn)實世界中各種具體事物或抽象概念的,可存儲并具有明確意義的符號,包括數(shù)字,文字,圖形和聲音等。2.數(shù)據(jù)處理數(shù)據(jù)處理是指對各種形式的數(shù)據(jù)進行收集、存儲、加工和傳播的一系列活動的總和。一方面是從大量的,原始的數(shù)據(jù)中抽取、推導(dǎo)出對人們有價值的信息以作為行動和決策的依據(jù);另一方面是為了借助計算機技術(shù)科學(xué)地保存和管理復(fù)雜的、大量的數(shù)據(jù),以便人們能夠方便而充分地利用信息資源.3.數(shù)據(jù)庫數(shù)據(jù)庫(DataBase,DB)是存儲在計算機輔助存儲器中的、有組織的、可共享的相關(guān)數(shù)據(jù)集合任務(wù)1-2數(shù)據(jù)庫技術(shù)任務(wù)1SQL數(shù)據(jù)庫安全認識 4.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,DBMS)是對數(shù)據(jù)庫進行管理的系統(tǒng)軟件,用于有效組織和存儲數(shù)據(jù)、獲取和管理數(shù)據(jù)、接受和完成用戶提出的各種數(shù)據(jù)訪問請求。能支持關(guān)系型數(shù)據(jù)模型的數(shù)據(jù)庫管理系統(tǒng),稱為關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RelationalDataBaseManagementSystem,RDBMS).任務(wù)1-2數(shù)據(jù)庫技術(shù)任務(wù)1SQL數(shù)據(jù)庫安全認識 1.系統(tǒng)安全策略系統(tǒng)安全策略包括了數(shù)據(jù)庫用戶管理、數(shù)據(jù)庫操作規(guī)范、用戶認證、操作系統(tǒng)安全4個部分。(1)數(shù)據(jù)庫用戶管理。數(shù)據(jù)庫用戶對信息訪問的最直接途徑就是通過用戶訪問。因此需要對用戶進行嚴格的管理,只有真正可信的人員才擁有管理數(shù)據(jù)庫用戶的權(quán)限。(2)數(shù)據(jù)庫操作規(guī)范。數(shù)據(jù)庫中數(shù)據(jù)才是核心,不能有任何的破壞,數(shù)據(jù)庫管理員是唯一能直接訪問數(shù)據(jù)庫的人員,管理員的操作是非常重要的,因此需要對數(shù)據(jù)庫維護人員培訓(xùn),樹立嚴謹?shù)墓ぷ鲬B(tài)度,同時需要規(guī)范操作流程。任務(wù)1-3數(shù)據(jù)庫系統(tǒng)安全策略任務(wù)1SQL數(shù)據(jù)庫安全認識 (3)用戶身份認證。從安全角度出發(fā),防止欺騙性連接。

(4)操作系統(tǒng)安全。對于運行任何一種數(shù)據(jù)庫的操作系統(tǒng)來說,都需要考慮安全問題。數(shù)據(jù)庫管理員以及系統(tǒng)賬戶的口令都必須符合規(guī)定,不能過于簡單而且需要定期的更換口令,對于口令的安全同樣重要。系統(tǒng)管理員維護操作系統(tǒng)時,需要與數(shù)據(jù)庫管理員合作,避免泄密。任務(wù)1-3數(shù)據(jù)庫系統(tǒng)安全策略任務(wù)1SQL數(shù)據(jù)庫安全認識 2.數(shù)據(jù)安全策略數(shù)據(jù)安全策略決定了可以訪問特定數(shù)據(jù)的用戶組,以及這些用戶的操作權(quán)限。數(shù)據(jù)的安全性取決于數(shù)據(jù)的敏感程度,如果數(shù)據(jù)不是那么敏感,則數(shù)據(jù)的安全策略則可以稍微松一些;反之則需要制定特定的安全策略,嚴格的控制訪問對象,確保數(shù)據(jù)的安全。任務(wù)1-3數(shù)據(jù)庫系統(tǒng)安全策略任務(wù)1SQL數(shù)據(jù)庫安全認識 3.用戶安全策略用戶安全策略是由一般用戶安全、最終用戶安全、管理員安全、應(yīng)用程序及開發(fā)人員安全、應(yīng)用程序管理員安全5個部分組成。

(1)一般用戶安全。如果對于用戶的認證由數(shù)據(jù)庫進行管理,則安全管理員就應(yīng)該制定口令安全策略來維護數(shù)據(jù)庫訪問的安全性。(2)最終用戶安全。安全管理員必須為最終用戶安全制定策略。如果使用的是大型數(shù)據(jù)庫同時還有許多用戶,這是就需要安全管理員對用戶組進行分類,為每個用戶組創(chuàng)建用戶角色,并且對每個角色授予相應(yīng)的權(quán)限。任務(wù)1-3數(shù)據(jù)庫系統(tǒng)安全策略任務(wù)1SQL數(shù)據(jù)庫安全認識 (3)管理員安全。安全管理員應(yīng)當擁有闡述管理員安全的策略。在數(shù)據(jù)庫創(chuàng)建后,應(yīng)對SYS和SYSTEM用戶名更改口令,以防止對數(shù)據(jù)庫的未認證訪問,且只有數(shù)據(jù)庫管理員才可用。(4)應(yīng)用程序開發(fā)人員安全。安全管理員必須為使用數(shù)據(jù)庫的應(yīng)用程序開發(fā)人員制定一套特殊的安全策略。安全管理員可以把創(chuàng)建必要對象的權(quán)限授予應(yīng)用程序開發(fā)人員。反之,創(chuàng)建對象的權(quán)限只能授予數(shù)據(jù)庫管理員,他從開發(fā)人員那里接收對象創(chuàng)建請求.

(5)應(yīng)用程序管理員安全。在有許多數(shù)據(jù)庫應(yīng)用程序的大型數(shù)據(jù)庫系統(tǒng)中,可以設(shè)立應(yīng)用程序管理員。任務(wù)1-3數(shù)據(jù)庫系統(tǒng)安全策略任務(wù)1SQL數(shù)據(jù)庫安全認識 4.口令安全策略口令管理包括賬戶鎖定、口令老化及到期、口令歷史記錄、口令復(fù)雜性校驗。(1)賬戶鎖定。當某一特定用戶超過了失敗登錄嘗試的指定次數(shù),服務(wù)器會自動鎖定這個用戶賬戶。(2)口令老化及到期。DBA使用CREATEPROFILE語句指定口令的最大生存期,當?shù)竭_了指定的時間長度則口令到期,用戶或DBA必須變更口令。(3)口令歷史記錄。DBA使用CREATEPROFILE語句指定時間間隔,在這一間隔內(nèi)用戶不能重用口令。(4)口令復(fù)雜性校驗??诹钤O(shè)置必須滿足復(fù)雜性要求。任務(wù)1-3數(shù)據(jù)庫系統(tǒng)安全策略任務(wù)2SQL注入攻擊 SQL注入是指攻擊者通過注入惡意的SQL命令,破壞SQL查詢語句的結(jié)構(gòu),從而達到執(zhí)行惡意SQL語句的目的。SQL注入漏洞仍是目前比較常見的Web漏洞之一。1.SQL注入的成因SQL注入的產(chǎn)生其實是應(yīng)用程序?qū)τ脩敉ㄟ^瀏覽器提交的變量內(nèi)容沒有進行檢查和過濾,直接查詢數(shù)據(jù)庫,導(dǎo)致返回數(shù)據(jù)庫中其他內(nèi)容。樣例如圖4-3-1所示。假設(shè)數(shù)據(jù)庫中有個名為customers的表,該表中存儲id號、用戶名、密碼等。(轉(zhuǎn)下頁)任務(wù)2-1SQL注入概述任務(wù)2SQL注入攻擊 樣例如圖4-3-1所示。假設(shè)數(shù)據(jù)庫中有個名為customers的表,該表中存儲id號、用戶名、密碼等。任務(wù)2-1SQL注入概述圖4-3-1注入過程示意圖任務(wù)2SQL注入攻擊 任務(wù)2-1SQL注入概述圖中各序號所代表的含義如下所示。1構(gòu)造測試語句。在瀏覽器地址欄中輸入http://IP地址/?id=1and1=22Web應(yīng)用收到語句請求后,沒有對id參數(shù)進行過濾3數(shù)據(jù)庫會收到“selectname,passwordfromcustomerswhereid=1and1=2”的查詢請求,簡單起見,也可以是select*fromcustomerswhereid=1and1=24數(shù)據(jù)庫服務(wù)器返回該語句的查詢結(jié)果5Web應(yīng)用服務(wù)器將后臺數(shù)據(jù)庫服務(wù)器的處理結(jié)果返回給測試用戶6測試用戶獲取相應(yīng)信息任務(wù)2SQL注入攻擊 2.SQL注入的類型SQL注入常見分類方式主要有三種種,一種是根據(jù)注入點類型來分類,另一種是根據(jù)數(shù)據(jù)提交方式來分類,還有一種是根據(jù)執(zhí)行效果來分類。(1)根據(jù)注入點類型劃分具體情況如表所示。任務(wù)2-1SQL注入概述任務(wù)2SQL注入攻擊 (2)根據(jù)數(shù)據(jù)提交方式劃分具體情況如表所示。任務(wù)2-1SQL注入概述任務(wù)2SQL注入攻擊 (3)根據(jù)執(zhí)行效果劃分具體情況如表所示。任務(wù)2-1SQL注入概述任務(wù)2SQL注入攻擊 4.SQL注入的危害SQL注入攻擊是黑客對數(shù)據(jù)庫進行攻擊的常用手段之一。隨著B/S模式應(yīng)用開發(fā)的發(fā)展,使用這種模式編寫應(yīng)用程序的程序員越來越多。但是由于程序員的水平及經(jīng)驗也參差不齊,在編寫代碼的時候,沒有對用戶輸入數(shù)據(jù)的合法性進行判斷,使應(yīng)用程序存在安全隱患。常見的危害包括獲取管理員賬號密碼、盜取數(shù)據(jù)庫中的數(shù)據(jù)、修改數(shù)據(jù)庫中的數(shù)據(jù)、獲取Webshell等等。任務(wù)2-1SQL注入概述任務(wù)2SQL注入攻擊 手工注入,遵循SQL語句規(guī)則,構(gòu)建特殊的輸入作為參數(shù)傳給Web應(yīng)用程序,通過執(zhí)行SQL語句進而執(zhí)行攻擊者的操作。為了讓用戶了解不同數(shù)據(jù)庫(MySQL、Access、SqlServer、SQLite、MongoDB、Db2、PostgreSQL、Sybase、Oracle)的結(jié)構(gòu),掌握利用工具運行測試的原理,深刻明白SQL注入漏洞的形成根源,初接觸SQL注入或一般基礎(chǔ)者更適合于使用手工注入。注入過程:數(shù)據(jù)庫執(zhí)行的語句,是頁面提交至服務(wù)器應(yīng)用程序,應(yīng)用程序獲取id的值,然后把值拼接到查詢語句中,在到數(shù)據(jù)庫中查詢,通過程序解析后,把結(jié)果返回在頁面上。任務(wù)2-2SQL手工注入任務(wù)2SQL注入攻擊 通常情況下,手工注入構(gòu)造語句原理如下。步驟1:判斷有無注入點如查詢Table中id號為3的記錄,其SQL語句為select*fromTablewhereid=3。如果ID=3的記錄確實存在,則應(yīng)該返回正常的值;如果不存在,則返回錯誤的提示信息。本查詢是利用了and邏輯結(jié)構(gòu)的運行結(jié)果。當and前后的條件都為真時結(jié)果為真,任何1個條件為假其運行結(jié)果都為假。(1)and1=1其完整語句為select*fromTablewhereid=1and1=1,只要id=3的頁面確實存在,整個查詢結(jié)果就為真,會返回正常的頁面。(2)and1=2其完整語句為select*fromTablewhereid=1and1=2,不管id=3的頁面是不是存在,整個查詢結(jié)果都會為假,則頁面會出錯。從上可知構(gòu)造的語句可以被正常執(zhí)行,可以注入。任務(wù)2-2SQL手工注入任務(wù)2SQL注入攻擊 步驟2:猜解表名根據(jù)命名習(xí)慣,表的命名一般是adminadminuseruserpasspassword等等。and0<>(selectcount(*)from*)如判斷是否存在admin這張表就可以將前面的語句修改為and0<>(selectcount(*)fromadmin),能正確執(zhí)行,就說明存在admin表;如果不能執(zhí)行則換能想到的表名。任務(wù)2-2SQL手工注入任務(wù)2SQL注入攻擊 步驟3:猜賬號數(shù)目如果遇到0<,1<返回錯誤頁面,說明帳號數(shù)目就是1個(1)and0<(selectcount(*)fromadmin)返回正確頁面,說明存在賬號(2)and1<(selectcount(*)fromadmin)返回錯誤頁面and1=(selectcount(*)fromadmin)正確,則說明有1個賬號步驟4:猜解字段名稱在len()括號里面加上想到的字段名稱。and1=(selectcount(*)fromadminwherelen(*)>0)--and1=(selectcount(*)fromadminwherelen(用戶字段名稱name)>0)and1=(selectcount(*)fromadminwherelen(_blank>密碼字段名稱password)>0)任務(wù)2-2SQL手工注入任務(wù)2SQL注入攻擊 步驟5:猜解各個字段的長度猜解長度就是把>0變換直到返回正確頁面為止。and1=(selectcount(*)fromadminwherelen(*)>0)and1=(selectcount(*)fromadminwherelen(name)>6)錯誤and1=(selectcount(*)fromadminwherelen(name)>5)正確長度是6and1=(selectcount(*)fromadminwherelen(name)=6)正確and1=(selectcount(*)fromadminwherelen(password)>11)正確and1=(selectcount(*)fromadminwherelen(password)>12)錯誤長度是12and1=(selectcount(*)fromadminwherelen(password)=12)正確任務(wù)2-2SQL手工注入任務(wù)2SQL注入攻擊 步驟6:猜解字符and1=(selectcount(*)fromadminwhereleft(name,1)=a)猜解用戶帳號的第一位and1=(selectcount(*)fromadminwhereleft(name,2)=ab)猜解用戶帳號的第二位就這樣一次加一個字符這樣猜,猜到夠你剛才猜出來的多少位了就對了,帳號就算出來了and1=(selecttop1count(*)fromAdminwhereAsc(mid(pass,5,1))=51)--這個查詢語句可以猜解中文的用戶和_blank>密碼.只要把后面的數(shù)字換成中文的ASSIC碼就OK.最后把結(jié)果再轉(zhuǎn)換成字符.任務(wù)2-2SQL手工注入任務(wù)2SQL注入攻擊 1.SQL注入實驗環(huán)境SQL注入攻擊的一般步驟為查找可攻擊的網(wǎng)站、判斷后臺數(shù)據(jù)庫類型、確定xp_cmdshell可執(zhí)行情況、發(fā)現(xiàn)web虛擬目錄、上傳木馬、得到管理員權(quán)限等。實際應(yīng)用過程中,需要搭建環(huán)境來完成實踐任務(wù),以避免在真實應(yīng)用過程中出現(xiàn)不可控因素和受到不必要的危險。搭建網(wǎng)站來完成任務(wù)的時候通常采用如下一些方式,如表所示。任務(wù)2-3SQL注入實戰(zhàn)任務(wù)2SQL注入攻擊 1.SQL注入實驗環(huán)境SQL注入攻擊的一般步驟為查找可攻擊的網(wǎng)站、判斷后臺數(shù)據(jù)庫類型、確定xp_cmdshell可執(zhí)行情況、發(fā)現(xiàn)web虛擬目錄、上傳木馬、得到管理員權(quán)限等。實際應(yīng)用過程中,需要搭建環(huán)境來完成實踐任務(wù),以避免在真實應(yīng)用過程中出現(xiàn)不可控因素和受到不必要的危險。搭建網(wǎng)站來完成任務(wù)的時候通常采用如下一些方式,如表所示。本任務(wù)中準備Mysql+Php+Apache+Windows的環(huán)境。任務(wù)2-3SQL注入實戰(zhàn)任務(wù)2SQL注入攻擊 2.準備環(huán)境(1)一臺計算機(作為攻擊機)(2)在計算機上,安裝一臺虛擬機(以Vmware為例)(3)在虛擬機上安裝WindowsServer2008系統(tǒng)、安裝Web服務(wù)器(4)為了簡化安裝過程,在虛擬機上安裝phpstudy工具拓撲結(jié)構(gòu)如圖4-3-2所示。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-2拓撲結(jié)構(gòu)圖任務(wù)2SQL注入攻擊 3.實戰(zhàn)步驟1:測試虛擬機與真實機的連通性,配置真實機、虛擬機都能連通網(wǎng)絡(luò)(1)查看虛擬機地址,如圖4-3-3所示。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-3虛擬機“Internet協(xié)議版本4(TCP/IPv4)屬性”對話框任務(wù)2SQL注入攻擊 (2)查看真實機地址,如圖4-3-4所示。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-4真實機查詢IP地址對話框任務(wù)2SQL注入攻擊 (3)測試連通性:真實機ping虛擬機。如圖4-3-5所示。從圖中顯示信息可判斷,真實機與虛擬機連接狀況正常。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-5真實機與虛擬機連通性測試任務(wù)2SQL注入攻擊 步驟2:測試虛擬機連通網(wǎng)絡(luò)狀況,如圖4-3-6所示。從圖示情況可見,虛擬機與網(wǎng)絡(luò)連通正常。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-6虛擬機網(wǎng)絡(luò)連通狀態(tài)任務(wù)2SQL注入攻擊 步驟3:測試代碼。(1)將如下代碼寫入記事本,另存為index.html,存放在test文件夾下。任務(wù)2-3SQL注入實戰(zhàn)任務(wù)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>用戶名:</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ù)2-3SQL注入實戰(zhàn)任務(wù)2SQL注入攻擊 (2)架設(shè)IIS管理器。設(shè)置網(wǎng)站,如圖4-3-7所示。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-7“添加網(wǎng)站”對話框任務(wù)2SQL注入攻擊 (3)設(shè)置默認文檔,如圖4-3-8所示。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-8“Internet信息服務(wù)(IIS)管理器”對話框任務(wù)2SQL注入攻擊 (4)測試。服務(wù)器設(shè)置完成后進行網(wǎng)頁測試,在URL地址欄中輸入08,打開如圖4-3-9所示對話框。從圖示情況可發(fā)現(xiàn),出現(xiàn)了亂碼,不能正常顯示,因此需要修改代碼。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-9“Sql–WindowsInternetExplorer”對話框任務(wù)2SQL注入攻擊 (5)修改代碼。將<metahttp-equiv="content-type"content="text/html;charset=utf-8">代碼修改為<metahttp-equiv="content-type"content="text/html;charset=GB2312">。重新進行測試,顯示如圖4-3-10所示對話框。從圖示情況可發(fā)現(xiàn),網(wǎng)站顯示正常,說明網(wǎng)頁測試代碼沒有問題,可以進入下一步。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-10“Sql注入演示”對話框任務(wù)2SQL注入攻擊 步驟4:下載并安裝PhpStudy工具(1)下載工具。(2)安裝工具?!袷髽俗箧I雙擊安裝包,將文件解壓縮至如圖4-3-11所示的“C:\phpStudy”文件夾中,也可根據(jù)需求選擇其他位置。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-11“phpStudy2018自動解壓包”對話框任務(wù)2SQL注入攻擊 ●單擊“是”按鈕,進入如圖4-3-12所示的解壓進程,等待直至進度完成。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-12“正在解壓中…”對話框任務(wù)2SQL注入攻擊 ●安裝完成后如圖4-3-13所示。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-13“phpStudy2018PHP-5.4.45”對話框任務(wù)2SQL注入攻擊 圖中“運行模式”說明如表所示。任務(wù)2-3SQL注入實戰(zhàn)任務(wù)2SQL注入攻擊 (3)配置工具?!癫煌枨筮x擇不同的版本。單擊“運行模式”后綠色標識的“切換版本”,彈出如圖4-3-14所示php版本以及web服務(wù)器組合選擇面板,根據(jù)實際任務(wù)需求選擇自己所需要的組合。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-14php版本以及web服務(wù)器組合選擇面板任務(wù)2SQL注入攻擊 ●配置站點單擊“其他選項菜單”按鈕,打開如圖4-3-15所示菜單,單擊“站點域名管理”菜單。根據(jù)前面的操作需求,網(wǎng)站中網(wǎng)頁內(nèi)容存放在c:\phpstudy\www目錄下,因此設(shè)置如圖4-3-16所示。如在使用過程中出現(xiàn)端口沖突或該端口已用于其他應(yīng)用,建議修改端口。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-15“站點域名管理”菜單圖4-3-16“站點域名設(shè)置”對話框任務(wù)2SQL注入攻擊 設(shè)置完成后,單擊“新增”按鈕,打開如圖4-3-17所示“phpStudy”對話框,單擊“確定”按鈕,則等待程序重啟完成,設(shè)置生效。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-17“phpStudy”對話框任務(wù)2SQL注入攻擊 步驟5:創(chuàng)建與配置數(shù)據(jù)庫。(1)單擊“其他選項菜單”,打開如圖所示的“MySQL工具-快速創(chuàng)建數(shù)據(jù)庫”菜單。(2)單擊“快速創(chuàng)建數(shù)據(jù)庫”菜單,打開如圖4-3-18所示的“快速創(chuàng)建數(shù)據(jù)庫,請輸入數(shù)據(jù)庫名”對話框,在文本框中輸入需要創(chuàng)建的數(shù)據(jù)庫名,如testdb。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-18“快速創(chuàng)建數(shù)據(jù)庫,請輸入數(shù)據(jù)庫名”對話框任務(wù)2SQL注入攻擊 (3)單擊“確定”按鈕,即建立了名為testdb的數(shù)據(jù)庫。(4)回到如圖4-3-19所示的phpStudy運行界面,單擊“MySQL管理”按鈕。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-19“phpStudy2018PHP-5.4.45”對話框任務(wù)2SQL注入攻擊 在展開的菜單中選擇并單擊“phpMyAdmin”,打開如圖4-3-20所示的頁面。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-20“正常登錄”頁面任務(wù)2SQL注入攻擊 (5)創(chuàng)建users表格框架。此處的users表名可以根據(jù)設(shè)計自行定義。在“登錄”文本框中輸入默認的用戶名和密碼root,單擊右下角的“執(zhí)行”按鈕,打開如圖4-3-21所示的數(shù)據(jù)庫頁面。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-21“新建數(shù)據(jù)表”頁面任務(wù)2SQL注入攻擊 在此頁面左邊窗格中,可看到testdb數(shù)據(jù)庫,但該數(shù)據(jù)庫還只建立了結(jié)構(gòu),沒有具體內(nèi)容,可采取命令方式(SQL)和菜單方式(新建數(shù)據(jù)表)完成數(shù)據(jù)表的創(chuàng)建、記錄的輸入及查詢等操作。本任務(wù)中以命令方式創(chuàng)建表格,如圖4-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表格的框架。在如圖所示頁面的左側(cè)窗格中可看到users表格框架已經(jīng)創(chuàng)建成功。任務(wù)2-3SQL注入實戰(zhàn)任務(wù)2SQL注入攻擊 任務(wù)2-3SQL注入實戰(zhàn)圖4-3-22“創(chuàng)建數(shù)據(jù)表”SQL命令任務(wù)2SQL注入攻擊 (6)添加記錄。一方面為了檢驗表格框架是否正確,可在表中輸入記錄內(nèi)容。另一方面完善整個表格,也需要添加記錄。采用命令方式完成,在users表中插入記錄的代碼如下。INSERTINTOusers(username,password,email)VALUES('wxw',md5('test'),'wxw@');Md5(‘test’)是采用在線MD5加密的方式。如在瀏覽器URL地址欄中輸入,打開網(wǎng)頁,在如圖4-3-23所示文本框中輸入test。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-23md5在線加密單擊加密結(jié)果如圖4-3-24所示,這就是test明文經(jīng)md5加密后獲得的密文。圖4-3-24md5在線加密結(jié)果任務(wù)2SQL注入攻擊 (7)查詢記錄。執(zhí)行完成上述添加語句后,在SQL中輸入select*fromusers,測試記錄是否添加成功。測試結(jié)果如圖4-3-25所示,說明在users表中添加成功1條記錄。用戶名為wxw,密碼為test的md5加密值,email為wxw@。Testdb簡單數(shù)據(jù)庫創(chuàng)建完畢。任務(wù)2-3SQL注入實戰(zhàn)圖4-3-25“測試”圖任務(wù)2SQL注入攻擊 步驟6:搭建測試網(wǎng)站(1)設(shè)置登錄網(wǎng)頁,利用前面index.html的代碼,命名為login.php。要判斷是否能夠成功登錄,需要對登錄用戶名和密碼進行驗證。(2)構(gòu)建用戶名和密碼有效性驗證網(wǎng)頁。當用戶根據(jù)登錄頁面輸入相應(yīng)信息,單擊“提交”按鈕后,需要判斷用戶輸入的用戶名和密碼有沒有都符合要求,也就是把表單數(shù)據(jù)提交給validate.php頁面(這一步至關(guān)重要,通常是SQL漏洞所在)。任務(wù)2-3SQL注入實戰(zhàn)任務(wù)2SQL注入攻擊 步驟6:搭建測試網(wǎng)站(1)設(shè)置登錄網(wǎng)頁,利用前面index.html的代碼,命名為login.php。要判斷是否能夠成功登錄,需要對登錄用戶名和密碼進行驗證。(2)構(gòu)建用戶名和密碼有效性驗證網(wǎng)頁。當用戶根據(jù)登錄頁面輸入相應(yīng)信息,單擊“提交”按鈕后,需要判斷用戶輸入的用戶名和密碼有沒有都符合要求,也就是把表單數(shù)據(jù)提交給validate.php頁面(這一步至關(guān)重要,通常是SQL漏洞所在)。

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

<head>

<title>登錄驗證</title>

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

</head>

<body>

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

mysql_select_

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論