在扫描我的应用程序中是否存在漏洞时,我发现了一个高风险错误:
盲MongoDB NoSQL注入
我已经检查了哪些请求是通过工具发送到数据库的,该工具在请求GET调用时执行扫描和查找,它添加了下面的行来获取请求。
{“$where”:“睡眠(181000);返回1;"}
扫描接收到"Time “响应,这表示注入的”睡眠“命令成功。
我需要帮助来修复这个漏洞。有人能帮我吗?我只是想了解在连接到数据库之前,我需要在代码中添加什么来执行这个检查?
谢谢你,安舒
发布于 2020-01-17 14:34:27
类似于SQL注入或任何其他类型的代码注入,不要将不受信任的内容复制到将作为MongoDB查询执行的字符串中。
显然,您的应用程序中有一些代码天真地接受用户输入或其他内容,并将其作为MongoDB查询运行。
对不起,很难给出更具体的答案,因为您还没有给出代码,也没有描述您打算做什么。
但是通常,在您使用外部内容的每个地方,您都必须想象如果内容不包含您假定的格式,它将如何被滥用。
相反,您必须验证内容,这样它只能是您想要的格式,或者如果内容不是有效的格式,则拒绝它。
https://stackoverflow.com/questions/59786191
复制相似问题