4-Oracle和MongoDB注入

数据库注入

  • 明确数据库类型、权限
  • 明确提交方法、参数类型等
  • 高或低权限:
    • 明确数据库记录信息系统表
    • 依次库、表、列、值注入查询
    • 找后台、登录、获取shell
  • 高权限:文件读取、命令执行、注册表读取

渗透工具

  • sqlmap
  • 忍者系统
  • 穿山甲(pangolin):能够做一些简单的SQL注入、对于post注入效果也不是很好,另外执行的速度也很慢,只能在window平台使用
  • jsql工具(apt-get -f install jsql):对一些简单的注入有用对于post注入的效果不好
  • NoSQLAttack

靶场

  • 各种网安平台,vulhub,vulnhub,sqlilabs

各种数据库的注入特点

access,mysql, mssql , mongoDB,postgresql, sqlite,oracle,sybase等

access(非关系型数据库)注入

  • Access数据库结构:表名->列名->数据,表之间不相关
  • Access数据库都是存放在网站目录下,后缀格式为 mdb,asp,asa,可以通过一些爆库手段、目录猜解等直接下载数据库
  • 没有文件读写函数
  • 不需要获取版本、数据库名信息,因为没有
  • 获取表名列名只能靠猜,自己找字典,或者用sqlmap
基础查询示例

select * from xxx where id=1 union select 1,2,tb_name,4

表名或列名猜不到要怎么办?
access三大攻击手法

1.access注入攻击片段-联合查询法
2.access注入攻击片段-逐字猜解法
3.工具类的使用注入(推荐)

Access注入攻击方式

主要有:union 注入、http header 注入、偏移注入等

Access暴力猜解不出时使用偏移注入
  • Access偏移注入:解决列名获取不到的情况
  • 查看登陆框源代码的表单值或观察URL特征等也可以针对表或列获取不到的情况,例如url有zb_blog,表名就可能是zb_admin,源代码中id的值也可能是表名
  • 参考

sql server(mssql)注入

postgresql注入

oracle注入

MongoDB注入

  • MonogoDB注入
  • SQLmap不能识别MongoDB,因此介绍nosqlattack,只能安装在linix上
  • 这个数据库习惯和python去搭建
  • 该数据库的sql语句(查询语句)和其他数据库有较大区别,是以键值对形式进行查询的
posted @ 2025-03-27 21:44  micryfotctf  阅读(33)  评论(0)    收藏  举报