AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

聊聊針對(duì)Web應(yīng)用的SQL注入攻擊與應(yīng)對(duì)策略

來源: 責(zé)編: 時(shí)間:2024-05-22 09:31:01 148觀看
導(dǎo)讀作者 | 陳峻審校 | 重樓引言近年來,隨著人們使用Web應(yīng)用的與日俱增,各種與在線交易和通信相關(guān)的大量個(gè)人數(shù)據(jù)被存儲(chǔ)在其后端的數(shù)據(jù)庫中。對(duì)于那些由數(shù)據(jù)庫驅(qū)動(dòng)的Web應(yīng)用而言,SQL注入攻擊是一種相當(dāng)嚴(yán)重的安全風(fēng)險(xiǎn)。攻擊

作者 | 陳峻hrE28資訊網(wǎng)——每日最新資訊28at.com

審校 | 重樓hrE28資訊網(wǎng)——每日最新資訊28at.com

引言

近年來,隨著人們使用Web應(yīng)用的與日俱增,各種與在線交易和通信相關(guān)的大量個(gè)人數(shù)據(jù)被存儲(chǔ)在其后端的數(shù)據(jù)庫中。對(duì)于那些由數(shù)據(jù)庫驅(qū)動(dòng)的Web應(yīng)用而言,SQL注入攻擊是一種相當(dāng)嚴(yán)重的安全風(fēng)險(xiǎn)。攻擊者可以通過利用系統(tǒng)漏洞,繞過應(yīng)用防火墻,未經(jīng)授權(quán)地訪問到底層數(shù)據(jù)庫,并竊取各種敏感的數(shù)據(jù)信息。因此,我們需要制定一套針對(duì)SQL注入攻擊的有效應(yīng)對(duì)措施,來提高Web應(yīng)用的整體安全態(tài)勢(shì)。hrE28資訊網(wǎng)——每日最新資訊28at.com

基本概念

作為一種典型的攻擊形式,SQL注入(簡(jiǎn)稱SQLi)通常會(huì)使用惡意SQL代碼,來操縱后端數(shù)據(jù)庫,獲取機(jī)密信息和數(shù)據(jù)庫管理員權(quán)限,進(jìn)而盜取用戶列表、以及破壞整個(gè)數(shù)據(jù)庫。目前,根據(jù)訪問后端數(shù)據(jù)的方法和潛在危害,我們可以將SQL注入分為:hrE28資訊網(wǎng)——每日最新資訊28at.com

  • 向字符串或字符參數(shù)直接注入,如:SELECT * from table where example = 'Example'
  • 對(duì)數(shù)字參數(shù)予以注入,如:SELECT * from table where id = 123而根據(jù)數(shù)據(jù)庫管理系統(tǒng)(DBMS)和注入條件的漏洞類型,我們又可以將SQL注入分為:經(jīng)典的帶內(nèi)SQLi、盲猜式的推理SQLi、以及險(xiǎn)招式的帶外SQLi。其中:

帶內(nèi)SQLi

當(dāng)攻擊者可以使用同一通信通道,實(shí)施攻擊并收集攻擊結(jié)果時(shí),這種攻擊就被稱為帶內(nèi)SQL注入。作為一種最流行、最直接的攻擊,帶內(nèi)SQL注入又包括:基于錯(cuò)誤的SQL注入和基于聯(lián)合的SQL注入兩種最常見的形式。 hrE28資訊網(wǎng)——每日最新資訊28at.com

  • 基于錯(cuò)誤的SQL注入使用數(shù)據(jù)庫服務(wù)器的錯(cuò)誤信息,來收集有關(guān)數(shù)據(jù)庫結(jié)構(gòu)的信息。畢竟,在Web應(yīng)用的實(shí)時(shí)運(yùn)行過程中,各種錯(cuò)誤會(huì)被記錄到安全文件中,那么攻擊者便可以通過枚舉來遍歷整個(gè)數(shù)據(jù)庫。
  • 基于聯(lián)合的SQL注入是將兩到多個(gè)SELECT查詢的結(jié)果合并為一個(gè)結(jié)果,然后作為HTTP響應(yīng)的一部分予以發(fā)送。

推理SQLi

與帶內(nèi)SQL注入相比,推理SQL注入的攻擊時(shí)間更長(zhǎng)。攻擊者可以通過發(fā)送有效負(fù)載、分析Web應(yīng)用的響應(yīng)、以及數(shù)據(jù)庫服務(wù)器的相應(yīng)行為,來重新創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。由于無法獲取Web應(yīng)用傳遞的數(shù)據(jù),因此攻擊者無法查看到類似帶內(nèi)攻擊的結(jié)果。而且,由于攻擊者需要逐個(gè)字符地枚舉數(shù)據(jù)庫,因此在攻擊大型數(shù)據(jù)庫時(shí),其效率比較低下。hrE28資訊網(wǎng)——每日最新資訊28at.com

目前,推理SQL注入也包含:基于盲布爾的SQL注入和基于盲時(shí)間的SQL注入兩種形式。 hrE28資訊網(wǎng)——每日最新資訊28at.com

  • 基于盲布爾的SQL注入旨在讓Web應(yīng)用根據(jù)查詢,返回的“真”或“假”不同的答案。
  • 盲時(shí)間的SQL注入通過查詢,使得數(shù)據(jù)庫在響應(yīng)前等待指定的時(shí)間(以秒為單位)。那么根據(jù)HTTP響應(yīng)是有延遲、還是能即時(shí)給出,攻擊者就能確定查詢結(jié)果是“真”還是“假”。

帶外SQLi

由于依賴的是在Web應(yīng)用數(shù)據(jù)庫服務(wù)器上已啟用的功能,因此帶外SQL注入并不常見。hrE28資訊網(wǎng)——每日最新資訊28at.com

應(yīng)對(duì)措施

通常,Web應(yīng)用防火墻(簡(jiǎn)稱WAF)可以通過篩選和監(jiān)控Web應(yīng)用與互聯(lián)網(wǎng)之間的HTTP流量,以及時(shí)發(fā)現(xiàn)跨站偽造、跨站腳本、文件包含和SQL注入等常見攻擊。在OSI模型中,WAF工作在第七層。作為一種反向代理,它往往被安裝在Web應(yīng)用的前端,從而在客戶端請(qǐng)求到達(dá)服務(wù)器之前形成一道中間件式的屏障。和其他防火墻類似,WAF也需要通過一系列規(guī)則與策略的集合,來過濾惡意請(qǐng)求,進(jìn)而防范應(yīng)用漏洞被利用。目前,經(jīng)常被部署到Web應(yīng)用系統(tǒng)中的WAF類型包括:軟件型WAF、硬件型WAF、云WAF、以及Web應(yīng)用內(nèi)置的WAF服務(wù)。hrE28資訊網(wǎng)——每日最新資訊28at.com

hrE28資訊網(wǎng)——每日最新資訊28at.com

上圖展示的是WAF防范SQL注入的邏輯過程。可見,WAF強(qiáng)大之處在于,它可以快速、方便地執(zhí)行策略,并按需變更規(guī)則,從而對(duì)各種攻擊性請(qǐng)求做出更快的反應(yīng)。hrE28資訊網(wǎng)——每日最新資訊28at.com

攻擊檢測(cè)

那么,WAF到底是遵循一個(gè)什么樣的流程來對(duì)攻擊進(jìn)行檢測(cè)的呢?下面我們以一個(gè)典型的軟件型WAF為例,來深入探究。hrE28資訊網(wǎng)——每日最新資訊28at.com

  • 首先,在接收到用戶提交的數(shù)據(jù)請(qǐng)求后,WAF會(huì)根據(jù)既有的白名單進(jìn)行合法性檢查。如果已被涵括在白名單之內(nèi),它直接轉(zhuǎn)發(fā)給后端的Web服務(wù)器予以響應(yīng)處理;如果落入了黑名單,則立即拒絕數(shù)據(jù)請(qǐng)求的通過;而如果既不在白名單、也不在黑名單(也就是我們常說的“灰名單”)內(nèi),則要進(jìn)行數(shù)據(jù)包的解析。
  • 解析后的數(shù)據(jù)包會(huì)被拿去與我們前面提到的規(guī)則策略進(jìn)行匹配,如果符合規(guī)則,則可以交給后端的Web服務(wù)器予以響應(yīng)處理;如果不符合,則被判定為惡意攻擊,進(jìn)而執(zhí)行相應(yīng)的警告、阻斷、以及留下記錄,以便后續(xù)分析之用。
  • 作為一個(gè)閉環(huán),安全團(tuán)隊(duì)需要從WAF的記錄中,獲取諸如:攻擊源的IP地址、攻擊目標(biāo)的URL等實(shí)用信息,以便進(jìn)行后續(xù)的安全分析或策略調(diào)整。

WAF繞過

我們常說“道高一尺,魔高一丈”,針對(duì)WAF在產(chǎn)品設(shè)計(jì)和部署配置上的參差不齊,SQL注入攻擊者時(shí)常會(huì)運(yùn)用各種手段來繞過WAF,達(dá)到攻擊目的。例如,由于不同的WAF產(chǎn)品會(huì)自定義不同的警告頁面,因此攻擊者可以根據(jù)不同的頁面信息,來辨別出Web應(yīng)用使用了哪一款WAF,從而制定出相應(yīng)的能夠繞過WAF的數(shù)據(jù)請(qǐng)求特征。下面便是該領(lǐng)域的一些典型威脅與漏洞:hrE28資訊網(wǎng)——每日最新資訊28at.com

  • 參數(shù)篡改:攻擊者使用那些對(duì)于目標(biāo)Web應(yīng)用根本不存在的參數(shù),從安全性較低的數(shù)據(jù)庫中獲取異常信息。
  • 參數(shù)化查詢:攻擊者頻繁地使用多種參數(shù)化查詢方式,增加SQL注入漏洞被利用的可能性。
  • 頁面擴(kuò)展的可見性:根據(jù)顯示頁面擴(kuò)展出的可見信息,攻擊者可以猜測(cè)出Web應(yīng)用可能用到的技術(shù)與組件。
  • SQL版本泄露:攻擊者可以通過定位SQL的版本,去查找并利用相應(yīng)類型的SQL漏洞。
  • 可猜測(cè)的表名/列名:典型且常用的表名或列名,往往是攻擊者執(zhí)行漏洞查找的突破口。
  • 空字節(jié)編碼:攻擊者可以通過在其提供的數(shù)據(jù)中添加URL編碼的空字節(jié)字符,來繞過WAF過濾器的完整性檢查。
  • 信任憑據(jù)截獲:攻擊者可以通過截獲安全性較低的Web應(yīng)用的用戶憑據(jù),達(dá)到曲線注入的效果。

此外,常見的WAF繞過方法還有:關(guān)鍵字替換,特殊符號(hào)與編碼,利用注釋,重復(fù)參數(shù)污染,緩沖區(qū)溢出,以及利用多種繞過技術(shù)打“組合拳”,通過未經(jīng)授權(quán)地訪問Web應(yīng)用的系統(tǒng)文件,進(jìn)而改變預(yù)期運(yùn)行邏輯。hrE28資訊網(wǎng)——每日最新資訊28at.com

小結(jié)

綜上所述,針對(duì)Web應(yīng)用的SQL注入攻擊與應(yīng)對(duì),好似一個(gè)永無止境的“貓鼠游戲”。我們只有通過持續(xù)檢測(cè),持續(xù)跟蹤,持續(xù)調(diào)整,持續(xù)更新,以及持續(xù)引入新的防御技術(shù),才能更加靈活地應(yīng)對(duì)SQL注入、遠(yuǎn)程代碼執(zhí)行(RCE)、以及跨站點(diǎn)腳本(XSS)等復(fù)雜多變的攻擊,才能在這場(chǎng)安全競(jìng)賽中占得先機(jī)。hrE28資訊網(wǎng)——每日最新資訊28at.com

作者介紹

陳峻(Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項(xiàng)目實(shí)施經(jīng)驗(yàn),善于對(duì)內(nèi)外部資源與風(fēng)險(xiǎn)實(shí)施管控,專注傳播網(wǎng)絡(luò)與信息安全知識(shí)與經(jīng)驗(yàn)。hrE28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-89875-0.html聊聊針對(duì)Web應(yīng)用的SQL注入攻擊與應(yīng)對(duì)策略

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: CSS 實(shí)現(xiàn)從上到下從左到右的列表布局

下一篇: 大灣區(qū)首個(gè)大規(guī)模全液冷智算中心完工:一期投資超 32 億元,可提供 1.5 萬 P 算力

標(biāo)簽:
  • 熱門焦點(diǎn)
Top