zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    201521044091《Java程序设计》第7周学习总结
    201521044091《java程序设计》第四次总结
    201521044091 《java程序设计》第八周学习总结
    201521044091 《Java程序设计》第5周学习总结
    201521044091 《Java程序设计》第2周学习总结
    201521044091 《Java程序设计》第3周学习总结
    MySQL设置字符集CHARACTER SET
    Create My MySQL configuration by Percona
    How to use jQuery to manipulate Cookies
    How to use OpenXml to import xml data to Sql server
  • 原文地址:https://www.cnblogs.com/x98339/p/11760287.html
Copyright © 2011-2022 走看看