




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1網(wǎng)絡(luò)安全原理與應(yīng)用(第三版)第五章Web安全5.1
Web安全概述5.1.1
Web服務(wù)Web是一個運行于Internet上的基本的client/server應(yīng)用。Browser/Server,客戶為瀏覽器,服務(wù)器為WebServer;在Web應(yīng)用中,WebServer后面常常與數(shù)據(jù)庫打交道服務(wù)器:規(guī)定了服務(wù)器的傳輸設(shè)定、信息傳輸格式及服務(wù)器的基本開放結(jié)構(gòu);客戶機:Web瀏覽器,用于向服務(wù)器發(fā)送資源索取請求,并將接收到的信息進行解碼和顯示;通信協(xié)議:Web瀏覽器與服務(wù)器之間遵照HTTP協(xié)議進行通信HPPT協(xié)議它定義了Web瀏覽器向Web服務(wù)器發(fā)送索取Web頁面請求的格式,以及Web頁面在Internet上的傳輸方式。HTTP工作過程:(1)Web服務(wù)器在80端口等候Web瀏覽器的請求;(2)Web瀏覽器通過三次握手與服務(wù)器建立起TCP/IP連接,然后Web瀏覽器向Web服務(wù)器發(fā)送索取頁面的請求:Get/dailynews.html(3)服務(wù)器以相應(yīng)的文件為內(nèi)容響應(yīng)Web瀏覽器的請求5.1
Web安全概述5.1.2Web服務(wù)面臨的安全威脅(1)注入攻擊:如果應(yīng)用程序沒有正確過濾用戶輸入,攻擊者可以輸入特定的SQL代碼來讀取、修改或刪除數(shù)據(jù)庫中的數(shù)據(jù)。常見的有SQL注入、NoSQL注入、OS注入、LDAP注入等。跨站腳本攻擊(XSS):當(dāng)應(yīng)用程序未對用戶輸入進行適當(dāng)?shù)倪^濾和轉(zhuǎn)義時,攻擊者可以在網(wǎng)頁中注入惡意腳本。當(dāng)其他用戶訪問這個網(wǎng)頁時,這些腳本會在他們的瀏覽器中執(zhí)行,可能導(dǎo)致用戶的敏感信息被竊取,或者被誘導(dǎo)執(zhí)行某些操作。跨站請求偽造(CSRF):攻擊者通常會誘導(dǎo)用戶訪問一個惡意網(wǎng)站,然后利用用戶的身份在目標網(wǎng)站上執(zhí)行敏感操作,如更改密碼、發(fā)送郵件等。5.1.2Web服務(wù)面臨的安全威脅(2)文件上傳漏洞:如果應(yīng)用程序沒有對上傳的文件進行嚴格的檢查和過濾,攻擊者可以上傳惡意文件,例如可執(zhí)行的腳本文件或包含惡意代碼的文件。這些文件可能會被執(zhí)行,導(dǎo)致攻擊者能夠控制服務(wù)器或竊取敏感數(shù)據(jù)。反序列化漏洞:當(dāng)應(yīng)用程序從不受信任的來源接收序列化的數(shù)據(jù)時,如果沒有進行適當(dāng)?shù)尿炞C和過濾,攻擊者可以注入惡意對象,導(dǎo)致應(yīng)用程序執(zhí)行惡意代碼或泄露敏感數(shù)據(jù)。目錄遍歷漏洞:如果應(yīng)用程序沒有對用戶請求的文件路徑進行嚴格的檢查和過濾,攻擊者可以通過構(gòu)造特定的請求來訪問服務(wù)器上的敏感文件或執(zhí)行惡意代碼。敏感信息泄露:如果應(yīng)用程序在處理敏感數(shù)據(jù)時未采取適當(dāng)?shù)陌踩胧缂用艽鎯?、訪問控制等,可能導(dǎo)致敏感數(shù)據(jù)泄露,例如數(shù)據(jù)庫連接字符串、API密鑰等。5.1.2Web服務(wù)面臨的安全威脅(3)會話劫持:當(dāng)攻擊者能夠竊取用戶的會話令牌時,他們可以利用這個令牌冒充用戶進行操作。會話劫持可以通過多種方式實現(xiàn),例如嗅探網(wǎng)絡(luò)通信或利用應(yīng)用程序的會話管理漏洞。文件包含漏洞:如果應(yīng)用程序沒有對包含的文件進行嚴格的檢查和過濾,攻擊者可以指定包含惡意文件,導(dǎo)致應(yīng)用程序執(zhí)行惡意代碼或泄露敏感數(shù)據(jù)。代碼注入:當(dāng)應(yīng)用程序沒有對用戶輸入的數(shù)據(jù)進行適當(dāng)?shù)倪^濾和驗證時,攻擊者可以注入惡意代碼。例如,如果應(yīng)用程序允許用戶上傳自定義腳本或配置文件,并且沒有進行適當(dāng)?shù)尿炞C和過濾,攻擊者可以上傳包含惡意代碼的文件,導(dǎo)致應(yīng)用程序執(zhí)行這些代碼。拒絕服務(wù):拒絕服務(wù)攻擊是指故意導(dǎo)致應(yīng)用程序的可用性降低。典型的示例是:讓W(xué)eb應(yīng)用程序負載過度,使其無法為普通用戶服務(wù)。5.2Web服務(wù)的安全問題5.2.1Web服務(wù)器的安全問題(1)未及時更新:Web服務(wù)器服務(wù)器和相關(guān)組件可能會有安全漏洞的存在。(2)不安全的配置:錯誤的配置選項和權(quán)限設(shè)置可能會導(dǎo)致Web服務(wù)器安全漏洞。(3)DDoS攻擊:分布式拒絕服務(wù)(DDoS)攻擊可能會導(dǎo)致服務(wù)器性能下降或完全不可用。(4)SQL注入和跨站腳本攻擊(5)未加密的數(shù)據(jù)傳輸:如果未正確配置SSL/TLS證書,敏感數(shù)據(jù)的傳輸可能會受到威脅。5.2.1Web服務(wù)器的安全問題(6)默認憑據(jù)和漏洞路徑:攻擊者可以嘗試使用默認的管理員憑據(jù)來入侵服務(wù)器,或者尋找已知的漏洞路徑。(7)不安全的插件和模塊:某些第三方插件和模塊可能存在安全漏洞,因此應(yīng)該審查并定期更新它們。(8)訪問控制不當(dāng):不正確的訪問控制列表(ACL)和權(quán)限設(shè)置可能會導(dǎo)致不希望的訪問。(9)錯誤消息處理不當(dāng):默認的錯誤消息可能包含敏感信息,會泄露服務(wù)器配置和其他信息給潛在的攻擊者。(10)監(jiān)控和日志不足:監(jiān)控和日志記錄的不足可能會導(dǎo)致無法及時檢測和應(yīng)對安全威脅。5.2.2ASP與Access的安全性ASP+Access解決方案的主要安全隱患來自Access數(shù)據(jù)庫的安全性,其次在于ASP網(wǎng)頁設(shè)計過程中的安全漏洞。1.Access數(shù)據(jù)庫的存儲隱患在ASP+Access應(yīng)用系統(tǒng)中,如果獲得或者猜到Access數(shù)據(jù)庫的存儲路徑和數(shù)據(jù)庫名,則該數(shù)據(jù)庫就可以被下載到本地。2.Access數(shù)據(jù)庫的解密隱患由于Access數(shù)據(jù)庫的加密機制非常簡單,所以即使數(shù)據(jù)庫設(shè)置了密碼,解密也很容易。5.2.2ASP與Access的安全性3.源代碼的安全隱患由于ASP程序采用的是非編譯性語言,這大大降低了程序源代碼的安全性。任何人只要進入站點,就可以獲得源代碼,從而造成ASP應(yīng)用程序源代碼的泄露。4.程序設(shè)計中的安全隱患ASP代碼利用表單(Form)實現(xiàn)與用戶交互的功能,而相應(yīng)的內(nèi)容會反映在瀏覽器的地址欄中,如果不采用適當(dāng)?shù)陌踩胧?,只要記下這些內(nèi)容,就可以繞過驗證直接進入某一頁面。5.2.3Java與JavaScript的安全性1.JavaScript的安全性問題(1)JavaScript可以欺騙用戶,將用戶本地硬盤上的文件上載到Internet上的任意主機。(2)JavaScript能獲得用戶本地硬盤上的目錄列表,這既代表對隱私的侵犯又代表安全風(fēng)險。(3)JavaScript能監(jiān)視用戶某段時間內(nèi)訪問的所有網(wǎng)頁,捕捉URL并將它們傳到Internet上的某臺主機中。(4)JavaScript能夠觸發(fā)NetscapeNavigator送出電子郵件信息而不需經(jīng)過用戶允許。這個技術(shù)可被用來獲得用戶的電子郵件地址。(5)嵌入網(wǎng)頁的JavaScript代碼是公開的,缺乏安全保密功能。5.2.3Java與JavaScript的安全性(1)跨站請求偽造攻擊(CSRF):攻擊者可能會利用JavaApplet的漏洞,通過偽造請求來執(zhí)行惡意操作。例如,攻擊者可能會偽造一個表單提交請求,導(dǎo)致用戶在不知情的情況下執(zhí)行某些敏感操作。(2)代碼注入攻擊:攻擊者可能會向JavaApplet注入惡意代碼,從而控制應(yīng)用程序的行為。例如,攻擊者可能會注入惡意腳本,竊取用戶的敏感信息或執(zhí)行其他惡意操作。(3)資源泄露:JavaApplet可能存在資源泄露漏洞,攻擊者可以利用這些漏洞獲取敏感信息,例如本地文件路徑、系統(tǒng)配置等。(4)權(quán)限提升:JavaApplet可能存在權(quán)限提升漏洞,攻擊者可以利用這些漏洞獲取更高的權(quán)限,從而執(zhí)行敏感操作。5.2.4Cookie的安全性Cookies是網(wǎng)站服務(wù)器發(fā)送到用戶瀏覽器的文本文件,它可以記錄用戶的偏好、登錄信息、瀏覽習(xí)慣等。在瀏覽器第一次連接Web服務(wù)器時,由服務(wù)器端寫入到客戶端的系統(tǒng)中。當(dāng)用戶再次訪問該網(wǎng)站時,網(wǎng)站可以通過讀取Cookies來識別用戶,從而提供個性化的服務(wù)或恢復(fù)用戶的瀏覽狀態(tài)。Cookies的技術(shù)使得網(wǎng)站能夠提供更加便捷和個性化的服務(wù),改善HTTP協(xié)議的無狀態(tài)性,增強用戶體驗。
5.2.4Cookie的安全性Cookie可以記住用戶和跟蹤用戶的行為;可能影響用戶的隱私和安全網(wǎng)站和應(yīng)用程序的開發(fā)人員應(yīng)該遵循安全原則確保用戶數(shù)據(jù)的隱私和安全,并減少潛在的安全威脅。
如,不存儲隱私數(shù)據(jù)、敏感數(shù)據(jù)、安全標志;Cookie可以設(shè)置過期時間,防止長時間使用;避免第三方Cookie引入跟蹤和隱私問題。
無痕瀏覽器通常會阻止第三方Cookie和其他追蹤技術(shù)的使用,以防止第三方網(wǎng)站跟蹤用戶的行蹤。這些追蹤技術(shù)可以用于收集用戶的個人信息、搜索歷史和瀏覽習(xí)慣,從而侵犯用戶的隱私。5.3Web客戶端的安全惡意網(wǎng)站:用戶可能會訪問惡意網(wǎng)站,這些網(wǎng)站可能包含惡意代碼,例如惡意軟件、惡意腳本或釣魚攻擊,以嘗試竊取敏感信息或感染用戶的設(shè)備。插件和擴展:瀏覽器的插件和擴展可能存在安全漏洞,攻擊者可以利用這些漏洞來入侵用戶的系統(tǒng)或竊取用戶的數(shù)據(jù)。彈出窗口和廣告:惡意廣告和彈出窗口可能包含惡意代碼,通過點擊這些廣告或彈出窗口,用戶的設(shè)備可能受到威脅。5.3Web客戶端的安全跨站點腳本(XSS):XSS攻擊是一種常見的攻擊方式,攻擊者通過注入惡意腳本到網(wǎng)頁中,可以竊取用戶的Cookie、Session數(shù)據(jù)或其他敏感信息??缯军c請求偽造(CSRF):攻擊者可以誘使用戶在未經(jīng)許可的情況下執(zhí)行操作,例如更改賬戶設(shè)置或進行金融交易,因此用戶可能會受到損失。密碼管理問題:瀏覽器內(nèi)置的密碼管理器可能不夠安全,存儲密碼的方式可能會受到威脅,如果瀏覽器密碼被泄露,用戶的賬戶可能會受到攻擊。不安全的擴展和附加組件:用戶安裝的瀏覽器擴展和附加組件可能不是完全可信的,一些惡意擴展可能會監(jiān)視用戶的行為或操縱瀏覽器。5.3Web客戶端的安全不安全的連接:使用不安全的HTTP連接而不是加密的HTTPS連接可能會導(dǎo)致敏感數(shù)據(jù)在傳輸過程中被竊取。隱私問題:瀏覽器可能會收集用戶的瀏覽數(shù)據(jù)和個人信息,這些信息可能會被濫用,或者在不經(jīng)用戶允許的情況下共享給第三方。瀏覽器漏洞:瀏覽器自身可能包含漏洞,攻擊者可以利用這些漏洞來執(zhí)行惡意代碼或入侵用戶的系統(tǒng)。5.3.1防范惡意網(wǎng)頁惡意網(wǎng)頁是指嵌入了用JavaApplet、JavaScript或者ActiveX設(shè)計的非法惡意程序的網(wǎng)頁,通常用于攻擊用戶的計算機或竊取其敏感信息。當(dāng)用戶瀏覽包含惡意代碼的網(wǎng)頁時,這些程序會利用瀏覽器的漏洞,進行修改用戶的注冊表、修改瀏覽器的默認設(shè)置、獲取用戶的個人資料、刪除硬盤文件、格式化硬盤等非法操作。5.3.1防范惡意網(wǎng)頁(1)增加安全意識,約束上網(wǎng)行為。(2)安裝防病毒軟件。(3)注冊表加鎖。(4)禁用遠程注冊表操作服務(wù)。(5)避免重蹈覆轍。(6)禁用ActiveX插件、控件和Java腳本。(7)使用更安全的瀏覽器。5.3.2隱私侵犯1.網(wǎng)上數(shù)據(jù)搜集的方法(1)通過用戶的IP地址進行。(2)通過Cookie獲得用戶的個人信息。(3)因特網(wǎng)服務(wù)提供商在搜集、下載、集中、整理和利用用戶個人隱私材料方面具有得天獨厚的有利條件(4)使用WWW的欺騙技術(shù)。(5)網(wǎng)絡(luò)詐騙郵件。5.3.2隱私侵犯2.網(wǎng)上數(shù)據(jù)搜集對個人隱私造成的侵害信息泄露風(fēng)險:當(dāng)個人數(shù)據(jù)被收集時,如果這些數(shù)據(jù)未得到適當(dāng)?shù)谋Wo,可能會被泄露或被不法分子利用,從而造成財務(wù)或身份盜竊等危害。社交媒體隱私問題:在社交媒體上發(fā)布個人照片、位置信息、個人狀態(tài)等都可能被濫用,導(dǎo)致個人隱私受到侵犯。例如,住址泄露、私人照片被傳播等。個人權(quán)利侵犯:個人隱私是每個人的基本權(quán)利之一。在互聯(lián)網(wǎng)時代,也需要確保個人的隱私權(quán)利得到尊重和保護。沒有個人隱私的保護,將導(dǎo)致個人信息遭受不法分子的侵害。歧視風(fēng)險:大數(shù)據(jù)可能會產(chǎn)生偏差和歧視。例如,大數(shù)據(jù)分析可能會偏向某個群體,導(dǎo)致對其他群體的忽視和排斥。安全隱患:大數(shù)據(jù)通常存儲在云端,由于網(wǎng)絡(luò)連接方式的特殊性,存在安全隱患。例如,大數(shù)據(jù)可能會被黑客攻擊,導(dǎo)致數(shù)據(jù)泄露或篡改。5.4SSL技術(shù)5.4.1SSL概述SSL(SecureSocketLayer)協(xié)議提供的安全特性:(1)利用認證技術(shù)識別身份。在客戶機向服務(wù)器可利用數(shù)字證書實現(xiàn)雙向身份證驗,但通常SSL協(xié)議只要求驗證服務(wù)器端。(2)利用加密技術(shù)保證通道的保密性。在客戶機和服務(wù)器進行數(shù)據(jù)交換之前,通過握手協(xié)議交換加密密鑰,傳輸?shù)南⒕鶠榧用艿南?。?)利用數(shù)字簽名技術(shù)保證信息傳送的完整性。對相互傳送的數(shù)據(jù)進行Hash計算并加載數(shù)字簽名,從而保證信息的完整性。5.4.2SSL體系結(jié)構(gòu)SSL位于TCP/IP協(xié)議棧中的傳輸層和應(yīng)用層之間,利用TCP協(xié)議提供可靠的端到端安全服務(wù)。5.4.2SSL體系結(jié)構(gòu)1.SSL協(xié)議的記錄層記錄層的功能是根據(jù)當(dāng)前會話狀態(tài)給出參數(shù),對當(dāng)前連接中要傳輸?shù)母邔訑?shù)據(jù)實施壓縮/解壓縮、加/解密、計算/校驗MAC等操作。5.4.2SSL體系結(jié)構(gòu)2.握手協(xié)議握手協(xié)議(HandshakeProtocol)是SSL上層3個協(xié)議中最重要的一個,作用是產(chǎn)生會話的安全屬性。當(dāng)客戶和服務(wù)器準備通信時,它們就要協(xié)商:身份驗證(可選)、協(xié)議版本、密鑰交換算法、壓縮算法、加密算法,并且生成密鑰和完成密鑰交換。5.4.2SSL體系結(jié)構(gòu)3.改變加密規(guī)格協(xié)議改變加密規(guī)格協(xié)議的消息只包含一個字節(jié),值為1。這條消息的唯一功能是使得延遲狀態(tài)改變?yōu)楫?dāng)前狀態(tài),該消息更新了在這一連接中應(yīng)用的密碼機制。4.報警協(xié)議報警協(xié)議的每個消息包含兩個字節(jié)。第一個字節(jié)表示報警的嚴重程度,可取值為1和2,分別表示警告(warning)和致命(fatal);第二個字節(jié)包含一個編碼,用于指明具體的警告類型。如,致命的警告消息有:unexpected_message、bad_record_mac、decompression_failure、handshake_failure、illegal_parameter;5.5Web服務(wù)器的安全配置5.5.1IIS的安裝與配置5.5.2IIS的安全配置方法HTTPS使用HTTPS時,下列的元素將被加密:請求文件的URL文件的內(nèi)容瀏覽器表格(用戶填寫的)BS及SB的cookiesHTTP頭的內(nèi)容HTTPS的相關(guān)文件:RFC2818IIS配置HTTPS第一步:獲取證書為Web服務(wù)器配置SSL要在IIS中啟用SSL,首先必須獲得用于加密和解密通過網(wǎng)絡(luò)傳輸?shù)男畔⒌淖C書。IIS具有自己的證書請求工具,您可以使用此工具向證書頒發(fā)機構(gòu)發(fā)送證書請求。導(dǎo)入證書到控制臺添加HTTPS綁定,包括(類型,IP,端口,域名,SSL證書)通過https://訪問網(wǎng)站5.6SQL注入攻擊5.6.1SQL注入攻擊原理SQL注入(StructuredQueryLanguageInjection)是指攻擊者利用web應(yīng)用程序?qū)τ脩糨斎霐?shù)據(jù)的合法性不作檢測或檢測不嚴格的弱點,從客戶端提交特殊的數(shù)據(jù)庫查詢代碼,欺騙數(shù)據(jù)庫服務(wù)器執(zhí)行非授權(quán)的任意查詢,從而使服務(wù)端數(shù)據(jù)庫泄露敏感信息,甚至利用數(shù)據(jù)庫注入攻擊獲取高權(quán)限(如管理員賬號)執(zhí)行危險操作實現(xiàn)入侵。5.6.1SQL注入攻擊原理SQL語句是一種用于與數(shù)據(jù)庫交互的結(jié)構(gòu)化查詢語言。如:當(dāng)用戶執(zhí)行登錄操作時,實際上向后端發(fā)送了一條SQL請求以確認身份。SQL注入漏洞的本質(zhì):后端代碼執(zhí)行過程中,將用戶輸入的數(shù)據(jù)也當(dāng)作代碼來執(zhí)行,違背代碼和數(shù)據(jù)分離原則SQL注入漏洞有兩個關(guān)鍵條件:用戶能控制輸入的內(nèi)容;
后端對前端傳遞過來的數(shù)據(jù)沒有過濾,或過濾不嚴謹;5.6.1SQL注入攻擊原理步驟:攻擊者在Web表單(POST、GET)、域名或URL頁面請求中插入針對性構(gòu)造的特殊SQL命令;Web服務(wù)器缺少對用戶輸入的合法性判斷;服務(wù)器端執(zhí)行含有惡意SQL代碼的請求;執(zhí)行未經(jīng)授權(quán)的數(shù)據(jù)庫操作,如增加、刪除、查詢、修改操作如用戶輸入:username='OR'1'='1'--和password='OR'1'='1'--,在這個情況下,構(gòu)造的SQL查詢語句將變成:SELECT*FROMusersWHEREusername=''OR'1'='1'--'ANDpassword=''OR'1'='1'SQL注入攻擊危害(1)數(shù)據(jù)庫數(shù)據(jù)泄露:攻擊者可以通過注入惡意SQL語句來訪問、檢索或刪除數(shù)據(jù)庫中的敏感信息。(2)身份驗證繞過:攻擊者可以利用SQL注入來繞過身份驗證,以管理員或其他特權(quán)用戶的身份執(zhí)行操作。(3)數(shù)據(jù)篡改:攻擊者可以修改數(shù)據(jù)庫中的數(shù)據(jù),從而對應(yīng)用程序的正常功能造成破壞。(4)拒絕服務(wù)攻擊:通過執(zhí)行惡意的SQL查詢,攻擊者可以耗盡數(shù)據(jù)庫資源,導(dǎo)致拒絕服務(wù)。SQL注入漏洞檢測技術(shù)主要分為白盒和黑盒兩種測試技術(shù)白盒測試技術(shù)需要獲取源代碼來發(fā)掘程序代碼中可能存在的SQL注入漏洞,常用的技術(shù)包括約束生成和求解、符號執(zhí)行、數(shù)據(jù)流分析等方法。黑盒技術(shù)無需獲取源代碼,通過使用自動化的SQL注入掃描器發(fā)現(xiàn)漏洞,是使用較為廣泛的方法。自動的SQL注入工具:Sqlmap,Pangolin,Havij,SQLIer,SQLID……為了保障網(wǎng)絡(luò)安全,建議定期進行安全漏洞檢測和修復(fù)。但切記使用這些工具時,必須遵守相關(guān)法律法規(guī)和道德標準,不得用于非法活動。預(yù)防SQL注入攻擊使用參數(shù)化的SQL查詢語句,確保用戶輸入的數(shù)據(jù)不會被解釋為SQL代碼的一部分。如:SELECT*FROMEmployeesWHEREDepartment=@Department在程序中對用戶輸入進行有效的驗證和過濾,只允許預(yù)期的數(shù)據(jù)類型和格式。例如,限制輸入長度、使用正則表達式驗證等。給予數(shù)據(jù)庫用戶最小必要的權(quán)限,限制其對數(shù)據(jù)庫的訪問范圍。不要向用戶顯示詳細的錯誤信息,特別是關(guān)于數(shù)據(jù)庫結(jié)構(gòu)和查詢的信息。開發(fā)人員應(yīng)采用安全編碼實踐,避免拼接字符串來構(gòu)建SQL查詢。檢測和阻止SQL注入攻擊使用Web應(yīng)用程序防火墻(WAF)來檢測和阻止可能的SQL注入攻擊;針對SQL查詢的執(zhí)行引入異常處理機制,以捕獲和處理執(zhí)行過程中的異常情況,防止詳細錯誤信息泄露給攻擊者;對應(yīng)用程序進行定期的安全審計,包括對數(shù)據(jù)庫查詢的檢查,以發(fā)現(xiàn)和修復(fù)潛在的SQL注入漏洞。;使用自動化的漏洞掃描工具來定期掃描應(yīng)用程序,以識別潛在的SQL注入漏洞;及時應(yīng)用數(shù)據(jù)庫系統(tǒng)和應(yīng)用程序框架的安全更新和修補,以防止已知漏洞被利用。5.6.2SQL注入攻擊方法第一步:SQL注入點探測。第二步:收集后臺數(shù)據(jù)庫信息。第三步:猜解后端數(shù)據(jù)庫結(jié)構(gòu)。第四步:尋找Web后臺管理入口或其他敏感信息。5.6.3SQL注入攻擊檢測技術(shù)(1)基于規(guī)則匹配的檢測方法基于規(guī)則匹配的檢測方法是一種用于檢測SQL注入攻擊的常用技術(shù)。這種方法主要通過匹配已知的SQL注入模式或特征來檢測潛在的注入點?;谝?guī)則匹配的檢測方法具有簡單、快速的特點,但也有一些局限性。例如,它可能無法檢測到未知的注入模式或復(fù)雜的注入技巧。此外,需要提前構(gòu)建知識規(guī)則庫。如果規(guī)則定義不當(dāng)或不完整,可能會產(chǎn)生誤報或漏報的情況。5.6.3SQL注入攻擊檢測技術(shù)(2)基于網(wǎng)絡(luò)爬蟲技術(shù)的檢測網(wǎng)絡(luò)爬蟲是一種自動的訪問網(wǎng)頁元素程序?;谂老x的SQL注入自動化檢測的思想是將網(wǎng)絡(luò)爬蟲技術(shù)和Fuzzing技術(shù)結(jié)合,實現(xiàn)自動化與智能化SQL注入檢測?;诰W(wǎng)絡(luò)爬蟲技術(shù)的SQL注入漏洞檢測具有自動化、高效的特點,能夠快速檢測出潛在的注入點。然而,這種方法也可能存在誤報或漏報的情況,并且對于復(fù)雜的注入技巧或隱藏的注入點可能無法檢測到。5.6.3SQL注入攻擊檢測技術(shù)(3)基于動態(tài)分析的檢測方法基于動態(tài)分析的SQL注入漏洞檢測是一種通過觀察應(yīng)用程序在運行時的行為來檢測SQL注入漏洞的方法。這種方法通過執(zhí)行一系列的輸入并觀察應(yīng)用程序的響應(yīng)來判斷是否存在SQL注入漏洞。基于動態(tài)分析的SQL注入漏洞檢測能夠檢測到隱藏的注入點,并且能夠根據(jù)應(yīng)用程序的實際行為進行準確的判斷。然而,這種方法需要執(zhí)行應(yīng)用程序并觀察其響應(yīng),因此可能需要較長的時間和資源。此外,對于一些復(fù)雜的注入技巧或隱藏的注入點,可能仍然存在誤報或漏報的情況。5.6.3SQL注入攻擊檢測技術(shù)(4)基于污點分析技術(shù)的漏洞檢測方法基于污點分析技術(shù)的SQL注入漏洞檢測方法是一種通過追蹤應(yīng)用程序中數(shù)據(jù)流來檢測SQL注入漏洞的方法。這種方法利用污點跟蹤技術(shù),標記應(yīng)用程序中的輸入數(shù)據(jù),并觀察這些數(shù)據(jù)在應(yīng)用程序中的傳播和變化?;谖埸c分析技術(shù)的SQL注入漏洞檢測方法能夠準確地檢測到潛在的注入點,并給出詳細的上下文信息。然而,這種方法需要深入了解應(yīng)用程序的數(shù)據(jù)流和內(nèi)部結(jié)構(gòu),并且需要仔細配置和調(diào)整以獲得最佳效果。此外,對于一些復(fù)雜的注入技巧或隱藏的注入點,可能仍然存在誤報或漏報的情況。5.6.4常見的SQL注入攻擊方式1.聯(lián)合查詢注入在UNION操作中注入額外的SQL語句,將結(jié)果合并到原始查詢中,從而獲取未經(jīng)授權(quán)的數(shù)據(jù)例如:應(yīng)用程序的查詢可能類似于:SELECTproduct_id,product_name,priceFROMproductsWHEREcategory_id='用戶輸入';攻擊者可能嘗試構(gòu)造一個惡意的輸入,例如:1'UNIONSELECT1,username,passwordFROMusers;--,SELECTproduct_id,product_name,priceFROMproductsWHEREcategory_id='1'UNIONSELECT1,username,passwordFROMusers;--'5.6.4常見的SQL注入攻擊方式2.盲注(1)布爾盲注
當(dāng)Web頁面僅返回True和False(布爾值),那么就可以利用布爾盲注,根據(jù)頁面返回的True或者是False判斷SQL語句的猜解是否正確,從而獲得后端數(shù)據(jù)庫的信息。布爾盲注一般適用于頁面沒有回顯字段(不支持聯(lián)合查詢),且web頁面返回True或者false。構(gòu)造SQL語句,利用and,or等關(guān)鍵字使其后的語句的值為True或False,從而使web頁面返回True或False,達到注入的目的來獲取信息
5.6.4常見的SQL注入攻擊方式2.盲注(2)時間盲注時間盲注又稱延遲注入,它提交對執(zhí)行時間敏感的函數(shù)sql語句,通過執(zhí)行時間的長短來判斷是否執(zhí)行成功,假設(shè)一個簡單的用戶身份驗證查詢語句:SELECT*FROMusersWHEREusername='輸入的用戶名'ANDpassword='輸入的密碼’;攻擊者可能嘗試在用戶名字段中輸入:admin'ANDIF(1=1,SLEEP(5),0)--這個查詢時出現(xiàn)5秒的延遲,攻擊者可以確定條件為真,即用戶名是admin
5.6.4常見的SQL注入攻擊方式3.報錯注入構(gòu)造惡意的SQL,觸發(fā)數(shù)據(jù)庫報錯,而在報錯信息中就存在著我們想要的信息假設(shè)一個簡單的用戶身份驗證查詢語句:Floor()報錯注入例如:
SELECT*FROMproductsWHEREprice=FLOOR((用戶輸入的價格));構(gòu)造:SELECT*FROMproductsWHEREprice=FLOOR((1);SELECT*FROMusersWHEREusername='admin'--));updatexml報錯注入利用數(shù)據(jù)庫的updatexml函數(shù)來導(dǎo)致錯誤,以獲取敏感信息。這個函數(shù)通常用于更新XML字段中的數(shù)據(jù)。updatexml(xml_document,xpath_string,new_value)extractvalue報錯注入extractvalue(xml_document,xpath_string),第一個參數(shù)可以傳入目標xml文檔,第二個參數(shù)是用Xpath路徑法表示的查找路徑,作用是從目標XML中返回包含所查詢值的字符串。例如:語句SELECTExtractValue('<a><b>ccc</b></a>','/a/b');的執(zhí)行結(jié)果為:ccc。報錯注入的用法,與updatexml相似5.6.4常見的SQL注入攻擊方式4.堆疊注入將語句堆疊在一起進行查詢。mysql_multi_query()支持多條sql語句同時執(zhí)行,語句間以分號(;)分隔,在;結(jié)束一個SQL語句后繼續(xù)構(gòu)造下一條語句,兩條語句會一起執(zhí)行,這就是堆疊注入例如:SELECT*FROMusersWHEREusername='用戶輸入1'ANDpassword='用戶輸入2’,構(gòu)造:
SELECT*FROMusersWHEREusername='';INSERTINTOusers(username,password)VALUES('attacker','hacked')--'ANDpassword='';5.6.5防范SQL注入關(guān)鍵措施1.參數(shù)化查詢:使用參數(shù)化查詢語句而不是字符串拼接。這樣可以確保用戶輸入的數(shù)據(jù)不會被解釋為SQL代碼的一部分,而是作為參數(shù)傳遞到查詢中。2.輸入驗證和過濾:對用戶輸入進行有效的驗證和過濾,確保只允許預(yù)期的數(shù)據(jù)類型和格式。使用白名單驗證來限制用戶輸入的字符集,拒絕不合法的輸入。3.ORM(對象關(guān)系映射)使用ORM庫,它們通常會自動處理參數(shù)化查詢,減少手動拼接SQL語句的機會。5.6.5防范SQL注入關(guān)鍵措施4.最小權(quán)限原則:為數(shù)據(jù)庫用戶分配最小必要的權(quán)限,以降低潛在攻擊者的影響范圍。5.錯誤處理在生產(chǎn)環(huán)境中限制詳細錯誤信息的顯示,確保不向用戶泄露敏感的數(shù)據(jù)庫結(jié)構(gòu)和查詢信息。將錯誤信息記錄到日志中,以便審計和調(diào)試。6.使用存儲過程將SQL邏輯封裝在存儲過程中,這樣可以減少直接執(zhí)行SQL查詢的機會。5.6.5防范SQL注入關(guān)鍵措施7.Web應(yīng)用程序防火墻(WAF)使用WAF來檢測和防御SQL注入攻擊。WAF可以根據(jù)已知的攻擊模式和特征來攔截潛在的注入嘗試。8.會話管理和憑證存儲使用安全的會話管理和憑證存儲機制,確保用戶身份驗證和授權(quán)信息的安全性,防止攻擊者通過SQL注入繞過身份驗證。9.定期審計和漏洞掃描定期審計應(yīng)用程序的代碼和數(shù)據(jù)庫訪問邏輯,使用漏洞掃描工具來發(fā)現(xiàn)潛在的SQL注入漏洞。10.安全編碼實踐在開發(fā)過程中采用安全編碼實踐,避免拼接字符串來構(gòu)建SQL查詢。使用框架和庫,以減少手動處理SQL查詢的機會。5.7跨站腳本攻擊(XSS)XSS(Cross-SiteScripting)攻擊稱為跨站腳本攻擊。是指攻擊者在Web頁面中提交惡意腳本,當(dāng)用戶瀏覽包含惡意腳本的頁面時,在不知情的情況下執(zhí)行該腳本,導(dǎo)致被攻擊的行為。攻擊成功后,攻擊者可能得到更高的權(quán)限(如執(zhí)行一些操作)、保密的網(wǎng)頁信息、會話和Cookie等各種內(nèi)容。與SQL注入類似,XSS也是利用提交惡意信息來實現(xiàn)攻擊的行為。但是XSS一般提交的是Javascript腳本,運行在Web前端,也就是用戶的瀏覽器;而SQL注入提交的SQL指令是在后臺數(shù)據(jù)庫服務(wù)器執(zhí)行。所以兩者攻擊的對象是不一樣。5.7.1XSS分類1.反射型XSS反射型XSS中,攻擊者通過構(gòu)造惡意的URL,將腳本注入到用戶的瀏覽器中,然后由瀏覽器執(zhí)行。該攻擊類型得名于惡意腳本“反射”到用戶的瀏覽器,而不是存儲在目標網(wǎng)站的數(shù)據(jù)庫中,又稱非持續(xù)性XSS。5.7.1XSS分類2存儲型XSS存儲型XSS,又稱持續(xù)性跨站腳本攻擊。在此類攻擊中,腳本被存儲在目標網(wǎng)站的數(shù)據(jù)庫中,然后在用戶請求頁面時從數(shù)據(jù)庫中檢索并傳遞給用戶的瀏覽器執(zhí)行。5.7.1XSS分類3.DOM型XS
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電梯標準與規(guī)范-深度研究
- 神經(jīng)介入DSA手術(shù)麻醉管理-深度研究
- 軟件定義網(wǎng)絡(luò)棧-深度研究
- 知識管理實踐-深度研究
- 新型食品保鮮技術(shù)研究-深度研究
- 金融市場風(fēng)險防控體系-深度研究
- 融合傳感器的故障預(yù)警-深度研究
- 定西師范高等??茖W(xué)?!懂厴I(yè)設(shè)計展示》2023-2024學(xué)年第二學(xué)期期末試卷
- 武漢紡織大學(xué)外經(jīng)貿(mào)學(xué)院《法庭觀摩》2023-2024學(xué)年第二學(xué)期期末試卷
- 銅川職業(yè)技術(shù)學(xué)院《小學(xué)教育科研方法》2023-2024學(xué)年第二學(xué)期期末試卷
- 徐州2025年江蘇徐州市口腔醫(yī)院招聘非在編醫(yī)務(wù)人員53人筆試歷年參考題庫附帶答案詳解-1
- 影視制作項目委托制作協(xié)議
- 廣東2024年12月佛山市教育局公開選調(diào)1名公務(wù)員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 植物角創(chuàng)設(shè)培訓(xùn)
- 法院生活費申請書
- 2025年湖南工藝美術(shù)職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 【課件】學(xué)校后勤管理工作
- 2025-2030年中國聚丙烯酰胺(PAM)市場發(fā)展狀況及未來投資戰(zhàn)略決策報告新版
- 課題申報書:產(chǎn)教融合背景下護理專業(yè)技能人才“崗課賽證”融通路徑研究
- 《新媒體概論》課件
- EMS能源管理系統(tǒng)V1.4.0用戶需求說明書V1.0-20160916
評論
0/150
提交評論