<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>

    如何避免 NoSQL 注入


    發現錯別字 6個月前 提問
    回答
    2
    瀏覽
    267
    請勿發布不友善或者負能量的內容。與人為善,比聰明更重要!
    Andrew
    CISP-PTE CISM-WSE
    最佳答案

    為了避免NoSQL注入,您必須始終將用戶輸入視為不受信任。您可以執行以下操作來驗證用戶輸入:

    • 使用mongoose等數據庫。

    • 如果找不到適合您環境的庫,請將用戶輸入轉換為期望的類型。例如,將用戶名和密碼轉換為字符串。

    • 在MongoDB的情況下,切勿在用戶輸入中使用where,mapReduce或group運算符,因為這些運算符使攻擊者能夠注入JavaScript,因此比其他運算符更加危險。為了加強安全性,設置javascriptEnabled到false在mongod.conf如果可能的話。

    • 此外,請始終使用最小特權模型:以盡可能低的特權運行您的應用程序,以便即使被利用,攻擊者也無法訪問其他資源。

    回答所涉及的環境:聯想天逸510S、Windows 10。

    6個月前 / 評論
    回答數量: 2
    風險管理(專業級)RM/PL 高級信息系統項目管理師

    1,只需要控制輸入,禁止使用危險的操作就可以基本避免NoSQL注入。通過參數過濾就可以避免。

    2,對于JavaScript注入,$where 和Commend方法能不用就盡量不要用了,如果必須用的話一定要限制輸入或者把要執行的內容寫成JavaScript function通過參數的方式傳進去。

    3,不要打開一些MongoDB相關的REST API,防止跨站請求偽造,給應用最小權限,不要存在未授權訪問用戶

    回答所涉及的環境:聯想天逸510S、Windows 10。

    6個月前 / 評論
    亚洲 欧美 自拍 唯美 另类