日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

聊聊針對Web應用的SQL注入攻擊與應對策略

來源: 責編: 時間:2024-05-22 09:31:01 166觀看
導讀作者 | 陳峻審校 | 重樓引言近年來,隨著人們使用Web應用的與日俱增,各種與在線交易和通信相關的大量個人數據被存儲在其后端的數據庫中。對于那些由數據庫驅動的Web應用而言,SQL注入攻擊是一種相當嚴重的安全風險。攻擊

作者 | 陳峻P7R28資訊網——每日最新資訊28at.com

審校 | 重樓P7R28資訊網——每日最新資訊28at.com

引言

近年來,隨著人們使用Web應用的與日俱增,各種與在線交易和通信相關的大量個人數據被存儲在其后端的數據庫中。對于那些由數據庫驅動的Web應用而言,SQL注入攻擊是一種相當嚴重的安全風險。攻擊者可以通過利用系統漏洞,繞過應用防火墻,未經授權地訪問到底層數據庫,并竊取各種敏感的數據信息。因此,我們需要制定一套針對SQL注入攻擊的有效應對措施,來提高Web應用的整體安全態勢。P7R28資訊網——每日最新資訊28at.com

基本概念

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

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

帶內SQLi

當攻擊者可以使用同一通信通道,實施攻擊并收集攻擊結果時,這種攻擊就被稱為帶內SQL注入。作為一種最流行、最直接的攻擊,帶內SQL注入又包括:基于錯誤的SQL注入和基于聯合的SQL注入兩種最常見的形式。 P7R28資訊網——每日最新資訊28at.com

  • 基于錯誤的SQL注入使用數據庫服務器的錯誤信息,來收集有關數據庫結構的信息。畢竟,在Web應用的實時運行過程中,各種錯誤會被記錄到安全文件中,那么攻擊者便可以通過枚舉來遍歷整個數據庫。
  • 基于聯合的SQL注入是將兩到多個SELECT查詢的結果合并為一個結果,然后作為HTTP響應的一部分予以發送。

推理SQLi

與帶內SQL注入相比,推理SQL注入的攻擊時間更長。攻擊者可以通過發送有效負載、分析Web應用的響應、以及數據庫服務器的相應行為,來重新創建數據庫結構。由于無法獲取Web應用傳遞的數據,因此攻擊者無法查看到類似帶內攻擊的結果。而且,由于攻擊者需要逐個字符地枚舉數據庫,因此在攻擊大型數據庫時,其效率比較低下。P7R28資訊網——每日最新資訊28at.com

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

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

帶外SQLi

由于依賴的是在Web應用數據庫服務器上已啟用的功能,因此帶外SQL注入并不常見。P7R28資訊網——每日最新資訊28at.com

應對措施

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

P7R28資訊網——每日最新資訊28at.com

上圖展示的是WAF防范SQL注入的邏輯過程。可見,WAF強大之處在于,它可以快速、方便地執行策略,并按需變更規則,從而對各種攻擊性請求做出更快的反應。P7R28資訊網——每日最新資訊28at.com

攻擊檢測

那么,WAF到底是遵循一個什么樣的流程來對攻擊進行檢測的呢?下面我們以一個典型的軟件型WAF為例,來深入探究。P7R28資訊網——每日最新資訊28at.com

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

WAF繞過

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

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

此外,常見的WAF繞過方法還有:關鍵字替換,特殊符號與編碼,利用注釋,重復參數污染,緩沖區溢出,以及利用多種繞過技術打“組合拳”,通過未經授權地訪問Web應用的系統文件,進而改變預期運行邏輯。P7R28資訊網——每日最新資訊28at.com

小結

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

作者介紹

陳峻(Julian Chen),51CTO社區編輯,具有十多年的IT項目實施經驗,善于對內外部資源與風險實施管控,專注傳播網絡與信息安全知識與經驗。P7R28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-89875-0.html聊聊針對Web應用的SQL注入攻擊與應對策略

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: CSS 實現從上到下從左到右的列表布局

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

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 富宁县| 南和县| 鹿泉市| 姜堰市| 临洮县| 滁州市| 竹山县| 揭西县| 隆德县| 石屏县| 白水县| 陵水| 寿阳县| 南京市| 绥棱县| 安陆市| 靖西县| 晋州市| 信阳市| 蓬安县| 天全县| 湘乡市| 儋州市| 庆元县| 鄯善县| 铅山县| 绥中县| 咸丰县| 阳江市| 秀山| 洛浦县| 永州市| 寿宁县| 和林格尔县| 靖宇县| 德江县| 南丹县| 瑞昌市| 延吉市| 稷山县| 东山县|