<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    緩解SQL注入威脅的三種方法

    VSole2021-09-10 12:23:27

    即使是大型科技公司,依然會被軟件和Web漏洞所困擾,其中SQL 注入是常見也是最危險的漏洞之一。在MITRE近日發布的過去兩年中最常見和最危險的25個軟件漏洞列表(見下圖)中,SQL注入漏洞的排名高居第六:

    以下是降低SQL注入漏洞風險的三大方法

    零信任方法

    首先確保客戶端輸入驗證不是唯一的防線。這種驗證是改善用戶體驗的好工具,但它不能作為一種安全機制。因為,通過更改瀏覽器中加載的JavaScript代碼,或使用導致SQL注入的參數對客戶端-服務器架構中的后端進行基本HTTP調用,可以輕松刪除客戶端驗證。

    所以開發人員應該在服務器端進行驗證,且盡可能靠近源;開發人員還應該仔細考慮數據庫用戶權限,所有SQL注入攻擊都是有害的,但有些攻擊比其他攻擊更危險:訪問用戶信息是一回事,更改或刪除信息是另一回事,應考慮特定應用程序是否真的有必要能夠截斷或刪除數據。

    除了不允許每個應用程序自由支配一個數據庫之外,一個應用程序只有一個數據庫用戶也是不明智的。應創建多個數據庫用戶,并將其連接到特定的應用程序中進行角色分工,這可以防止攻擊者快速接管整個數據庫。

    參數是最好的防御手段

    提升軟件安全性的一個關鍵方法是使用預設語句和查詢參數化。預設語句能夠限制可輸入的SQL語句:開發人員創建一個帶有占位符的基本查詢,然后用戶給定的參數可以安全地附加到這些占位符上。在使用預設語句和參數化查詢時,數據庫會首先根據帶有占位符的查詢字符串構建查詢執行計劃,然后將(不可信的)參數發送到數據庫。

    使用存儲過程時,參數化也很重要。就像在應用程序中創建的任何SQL查詢一樣,存儲過程也可能被惡意注入。因此,與SQL查詢一樣,開發人員應該在他們的存儲過程中參數化查詢,而不是連接參數,以防止注入。

    但是,在某些情況下,預設語句不可用。比如如果某種語言不支持預設語句,或者較舊的數據庫不允許開發人員將用戶輸入作為參數提供,此時輸入驗證是一個可接受的替代方案。但團隊應該確保,輸入驗證依賴的是一個使用維護良好的庫或創建一個規則來描述所有允許的模式,例如,使用正則表達式。當然,即使預設語句可用,輸入驗證也是必須的。

    多層安全和嚴格檢查

    除了參數化和輸入驗證之外,開發人員還應考慮使用對象關系映射 ( ORM ) 層來防止SQL注入。將數據從數據庫轉換為對象,反之亦然,從而減少了顯式SQL查詢和SQL注入攻擊的風險。但是需要注意的是,如果使用錯誤、過時的Sequelize或Hibernate版本,ORM庫中仍然會產生漏洞,因此開發人員必須保持警惕。

    最終,無論部署什么安全策略,都必須有一個嚴格的審查系統來審查代碼并標記所有漏洞。代碼審查和結對編程確實允許這樣做,但手動審查過程總是存在誤差。為了獲得最高級別的安全性,開發人員應該尋找專門設計的掃描工具來自動檢查SQL注入漏洞并提醒他們代碼中的所有弱點。

    數據庫sql注入
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    另類字符集編碼繞過繞過原理HTTP協議兼容性:HTTP Charset的多樣性Content-Type頭中使用charset定義字符集的應用場景不只有在responses中,request中同樣可以使用。
    Bypass安全狗MySQL注入
    BypassD盾之SQL注入繞過總結
    對于攻擊者而言,只需要在POST BODY前面添加許多無用的數據,把攻擊的payload放在最后即可繞過WAF檢測。實驗步驟首先使用BurpSuite抓取數據包,并記下數據包的Header信息編寫好我們的Python腳本進行FUZZ:#!
    本篇文章是MongoDB數據庫信息泄露漏洞復現,記錄了實際中常見的MongoDB數據庫未授權訪問漏洞并如何使用,主要分為七個部分:MongoDB簡介、MongoDB安裝、MongoDB基本操作、MongoDB相關工具使用、MongoDB漏洞復現、MongoDB實戰和MongoDB防御措施。
    發現漏洞一、環境準備1、在Linux主機上準備一套Xampp:模擬攻防2、在VSCode利用Remote Development進行遠程調試3、在Lampp的htdos目錄下創建security目錄,用于編寫服務器PHP代碼二、編寫Login.html三、編寫Login.php"; echo "location.href='welcome.php'";}else{ // echo "login-fail. "; echo "location.href='login.html'";}//關閉數據庫mysqli_close?
    數據庫注入提權總結
    2022-08-09 16:49:49
    select * from test where id=1 and ;布爾盲注常見的布爾盲注場景有兩種,一是返回值只有True或False的類型,二是Order by盲注。查詢結果正確,則延遲3秒,錯誤則無延時。笛卡爾積延時大約也是3秒HTTP頭注入注入手法和上述相差不多,就是注入點發生了變化HTTP分割注入常見場景,登錄處SQL語句如下
    Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關系數據庫管理系統。它是在數據庫領域一直處于領先地位的產品。可以說Oracle數據庫系統是世界上流行的關系數據庫管理系統,系統可移植性好、使用方便、功能強,適用于各類大、中、小微機環境。它是一種高效率的、可靠性好的、適應高吞吐量的數據庫方案。
    Oracle數據庫的基本知識Oracle數據庫介紹Oracle Database,又名Oracle RDBMS,或簡稱Oracle。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类