NoSQLi Lab
随着NoSQL的普及,我决定构建一个实验室来实践攻击NoSQL数据库的各种技术。这就是最终成果…
由于之前开发工作中使用过Redis,本次实验选择MongoDB。实验室包含两种攻击场景:等效于SQL注入"or 1=1"的漏洞类型,以及NoSQL特有的脚本注入攻击。后续可能增加更多场景,但目前这两个已足够入门。
环境安装指南
实验环境安装简便,唯一需要注意的是确保Linux发行版包含最新的PHP MongoDB驱动。正确驱动为:
|
|
错误驱动为:
|
|
实验室代码托管于Github:https://github.com/digininja/nosqlilab。以下演示在Debian Stretch上的部署步骤(Jessie使用旧版驱动无法运行):
|
|
访问服务器IP应显示实验室首页。
数据库初始化
首先通过"Reset Database"链接填充测试数据。成功时页面显示"Database Reset Successfully"且无报错。
若出现PHP源码显示,说明PHP未安装或未启用;若页面渲染中断且无成功消息,可能是MongoDB库缺失,请检查Apache错误日志。可通过phpinfo()页面验证驱动安装状态。
漏洞测试页面
环境就绪后存在两个漏洞页面:
- Guess The Key
- User Lookup
具体攻击方法不再赘述,可参考OWASP NoSQL注入测试指南。如遇困难,解决方案章节提供示例答案。
问题反馈
支持本站:本站项目均为无偿开发,可通过affiliate链接支持作者(获得账户积分或返现)