欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

什么是SQL注入攻擊?如何防止SQL注入攻擊?

SQL 注入是最常見和最基本的網(wǎng)絡攻擊類型之一。不幸的是,SQL 注入也是應用程序可能面臨的最具破壞性的威脅之一。這些攻擊經(jīng)常導致數(shù)據(jù)丟失,對共享數(shù)據(jù)庫的基礎設施尤其危險。本文介紹了 如何防止 SQL 注入。請繼續(xù)閱讀以了解什么是 SQL 注入、這些攻擊的工作原理以及公司采取哪些步驟來保護其數(shù)據(jù)庫免受惡意注入。

什么是SQL注入攻擊?如何防止SQL注入攻擊?

什么是 SQL 注入攻擊?

SQL 注入 (SQLi) 是一種網(wǎng)絡攻擊,黑客通過應用程序運行惡意 SQL 語句來操縱數(shù)據(jù)庫。這些攻擊會影響任何依賴 SQL 數(shù)據(jù)庫(MySQL、Oracle、Sybase、Microsoft SQL Server、Access、Ingres 等)的網(wǎng)站或 Web 應用程序。

我們的 MySQL 命令備忘單 概述了掌握此 RDBMS 所需的最重要命令。

SQLi 的后果從輕微到嚴重不等。在注入之后,黑客可以:

  • 損壞、竊取或刪除數(shù)據(jù)。
  • 獲得對系統(tǒng)的 root 訪問權限。
  • 創(chuàng)建新記錄為更高級的漏洞打開大門,例如 APT 攻擊。
  • 提升訪問網(wǎng)絡上其他應用程序和系統(tǒng)的權限。
  • 損害服務器或其他后端基礎設施。
  • 發(fā)起 DDoS(拒絕服務)攻擊。
  • 通過數(shù)據(jù)庫服務器訪問操作系統(tǒng) 。

傷害的程度取決于攻擊者的能力。受害者可能會遇到從幾個數(shù)據(jù)庫錯誤到完全接管 Web 服務器的任何事情。

如何防止 SQL 注入攻擊?

企業(yè)可以采取多種有效措施來防止 SQLi 攻擊。

消毒輸入

輸入清理(或驗證)是檢查和過濾用戶輸入的做法。這種技術確保應用程序可以識別非法用戶輸入和危險的可執(zhí)行文件。

開發(fā)人員可以通過三種方式清理輸入:

  • 白名單清理: 只有預先批準的字符和代碼字符串才能到達數(shù)據(jù)庫。
  • 黑名單清理: 開發(fā)人員禁止某些字符進入數(shù)據(jù)庫(換行符、額外的空格、標簽、制表符等)。
  • 轉義清理: 查詢中的所有數(shù)據(jù)都需要在查詢執(zhí)行之前進行 SQL 轉義。

通常,白名單比黑名單更簡單、更安全。聰明的黑客可以找到繞過黑名單的方法,因此請盡可能使用白名單驗證用戶輸入。

另一個好的做法是使用下拉菜單和單選按鈕驗證用戶輸入。這些輸入字段可防止用戶輸入輸入并停止注入可執(zhí)行代碼。

參數(shù)化 SQL 代碼

參數(shù)化查詢要求開發(fā)人員首先定義所有 SQL 代碼,然后將每個參數(shù)傳遞給查詢。這種編碼風格使數(shù)據(jù)庫能夠區(qū)分代碼和數(shù)據(jù),這是動態(tài) SQL 查詢無法實現(xiàn)的功能。

參數(shù)化 SQL 代碼可防止攻擊者更改查詢的意圖,即使他們插入了命令。例如,如果黑客輸入用戶 ID '1'='1,則查詢將查找與整個'1'='1 字符串匹配的用戶名 。數(shù)據(jù)庫不會將查詢作為命令接受。

限制用戶權限

采用 零信任安全性 并將用戶限制為他們執(zhí)行角色所需的最低限度的權限。具有讀寫執(zhí)行權限的帳戶越少越好。

例如,如果一個網(wǎng)站只返回數(shù)據(jù)庫內(nèi)容與 SELECT 聲明,不授予連接其他特權,比如 INSERT, UPDATE或者 DELETE。

另一個好的做法是不信任所有用戶輸入。以與來自外部和第三方來源的輸入相同的方式處理來自內(nèi)部用戶的輸入。此外,永遠不要讓 Web 應用程序以管理員權限連接到數(shù)據(jù)庫。

設置防火墻

使用 Web 應用程序防火墻 (WAF) 過濾 Web 應用程序和數(shù)據(jù)庫之間的所有流量。防火墻保護所有面向 Web 的應用程序,因此設置防御以阻止 SQLi 和類似的網(wǎng)絡攻擊。

  • 閱讀有關 不同類型防火墻的信息, 并找到能夠為您的企業(yè)提供理想保護的防火墻。
  • 更新和補丁
  • 使用最新的補丁和更新使所有系統(tǒng)和防御保持最新。這樣做有助于:
  • 捕獲允許 SQL 注入的新錯誤。
  • 防止攻擊者利用舊軟件版本中存在的弱點和錯誤。
  • 定期修補所有 Web 應用程序軟件組件,包括庫、插件、框架、Web 服務器和數(shù)據(jù)庫服務器。

定期測試

運行安全測試以檢查數(shù)據(jù)庫和相關應用程序的彈性。定期測試對于發(fā)現(xiàn)所有網(wǎng)絡攻擊的漏洞至關重要。考慮運行:

  • 從攻擊者的角度查看應用程序的動態(tài)分析測試 (DAST)。
  • 在代碼級別尋找漏洞的靜態(tài)分析測試 (SAST)。
  • 對應用程序中潛在入口點的手動測試也有助于檢測 SQLi 漏洞。這里有幾個測試需要考慮:
  • 提交單引號字符并檢查數(shù)據(jù)庫響應。
  • 運行布爾條件(OR 1=1、OR 1=2 等)并查找響應中的差異。
  • 提交在執(zhí)行時觸發(fā)時間延遲的有效負載。測量響應時間的差異。
  • 運行觸發(fā)帶外網(wǎng)絡交互的 OAST 負載。監(jiān)控潛在漏洞的結果交互。
  • 了解 滲透測試,這是市場上最全面、最真實的測試形式。
  • 永遠不要以純文本形式存儲敏感數(shù)據(jù)

加密數(shù)據(jù)庫中的所有私人和機密數(shù)據(jù)。如果攻擊者設法泄露敏感數(shù)據(jù),加密還提供了額外的保護級別。

不向用戶顯示數(shù)據(jù)庫錯誤

數(shù)據(jù)庫錯誤消息絕不能顯示在客戶端 Web 瀏覽器上。攻擊者可以使用錯誤消息中的技術細節(jié)來調整查詢以實現(xiàn)成功注入。

不要顯示帶有有用信息的錯誤消息,而是設置簡單的基于單詞的錯誤消息,為給您帶來的不便表示歉意。

培訓和維護 SQLi 意識

防止 SQL 注入是一項團隊工作,所有員工都必須知道網(wǎng)絡安全的重要性 。為所有開發(fā)人員、QA 人員、系統(tǒng)管理員和DevOps提供合適的安全培訓 。

雖然很危險,但 SQLi 攻擊很容易預防

盡管 SQL 注入可能具有破壞性,但組織良好的公司永遠不應成為這些攻擊的受害者。設置適當?shù)念A防措施并確保您的數(shù)據(jù)庫能夠抵抗 SQL 注入。

文章鏈接: http://m.qzkangyuan.com/3512.html

文章標題:什么是SQL注入攻擊?如何防止SQL注入攻擊?

文章版權:夢飛科技所發(fā)布的內(nèi)容,部分為原創(chuàng)文章,轉載請注明來源,網(wǎng)絡轉載文章如有侵權請聯(lián)系我們!

聲明:本站所有文章,如無特殊說明或標注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權益,可聯(lián)系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
服務器vps推薦

蜜罐可以幫助減輕網(wǎng)絡攻擊嗎?它有什么不同的類型?

2021-12-31 10:57:13

服務器vps推薦

什么是UDP泛洪DDoS攻擊?如何去防止它?

2021-12-31 11:15:13

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 右玉县| 永州市| 德保县| 勃利县| 鞍山市| 洛川县| 贡山| 齐齐哈尔市| 武威市| 凤阳县| 卓资县| 敦煌市| 确山县| 中西区| 马公市| 鄱阳县| 兴城市| 苍山县| 苏尼特左旗| 搜索| 当涂县| 札达县| 肇东市| 天长市| 永城市| 五华县| 西和县| 晴隆县| 清镇市| 丹江口市| 郯城县| 石台县| 新密市| 泾源县| 丹东市| 丽江市| 瓮安县| 资中县| 栾川县| 余干县| 衡南县|