基本介绍
NoSQL Injection是一种针对NoSQL数据库的安全漏洞,类似于传统的SQL注入攻击,NoSQL数据库是一类非关系型数据库,例如:MongoDB、Cassandra、Redis等,它们使用不同的数据存储和查询机制,NoSQL Injection漏洞的本质是未正确验证和过滤用户输入导致攻击者能够执行未经授权的操作从而破坏数据库的完整性、泄露敏感数据或执行其他恶意行为
漏洞类型
NoSQL注入可以简单的分为以下两种:
- 语法注入:当我们可以破坏NoSQL查询语法注入攻击载荷时就会发生这种情况,该方法与SQL注入中使用的方法类似,然而由于NoSQL数据库使用一系列查询语言、查询语法类型和不同的数据结构,因此攻击的性质差异很大
- 运算符注入:当我们可以使用NoSQL查询运算符来操作查询时就会发生这种情况
语法注入
注入检测
下面我们思考一个再MongoDB中显示不同类别产品的购物应用程序,当用户选择Fizzy饮料类别时,其浏览器会请求以下URL:
https://insecure-webs