簡體   English   中英

如何避免 Mongo DB NoSQL 盲(睡眠)注入

[英]How to avoid Mongo DB NoSQL blind (sleep) injection

在掃描我的應用程序以查找漏洞時,我遇到了一個高風險錯誤,即

盲目的MongoDB NoSQL注入

我已經檢查了通過執行掃描的工具發送到數據庫的確切請求,並在請求 GET 調用時發現它已添加到 GET 請求的行下方。

{"$where":"sleep(181000);return 1;"}

Scan 收到“超時”響應,表示注入的“睡眠”命令成功。

我需要幫助來修復這個漏洞。 有人可以幫我從這里出去嗎? 我只是想了解在連接到數據庫之前需要在代碼中添加什么來執行此檢查?

謝謝,安舒

與 SQL 注入或任何其他類型的代碼注入類似,不要將不受信任的內容復制到將作為 MongoDB 查詢執行的字符串中。

您的應用程序中顯然有一些代碼天真地接受用戶輸入或其他一些內容並將其作為 MongoDB 查詢運行。

抱歉,很難給出更具體的答案,因為您沒有顯示該代碼,也沒有描述您打算執行的操作。

但通常,在您使用外部內容的每個地方,您都必須想象如果內容不包含您假設的格式,它會如何被濫用。

您必須改為驗證內容,因此它只能采用您想要的格式,否則如果內容無效,則拒絕該內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM