zoukankan      html  css  js  c++  java
  • sqlmap使用

    sqlmap使用

    一sqlmap支持的sql注入技术

    默认使用以下六种技术, --technique参数设置使用具体技术
    B基于布尔盲注,即根据返回页面判断条件真假的注入
    E报错注入,即页面返回报错信息,或者把注入的语句的结果直接返回在页面中
    U查询注入,可以使用union的情况下的注入。默认查询十列 。--union-cols 整数-整数 增大查询列的范围 。默认查询字符为null,可以通过--union-char 字符设置相应字符
    S堆叠注入,可以同时执行多条语句的执行时的注入
    T基于时间盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟。--time-sec 数 设置等待时间,默认为5秒
    Q内联查询注入

    二sqlmap基本探测

    直接连接数据库

    sqlmap -d "mysql://用户名:密码@ip地址:端口/数据库名" --sql-shell(可选参数,进行shell管理)

    对url探测

    get方式:sqlmap -u "url"
    post方式:sqlmap -u "url" --data "post数据"
    cookie方式:sqlmap -u "url" --cookie "cookie数据"。--cookie-del 设置cookie分隔符。--load-cookies 通过带有cookie的文件进行探测注入。--drop-set-cookie如果响应中使用set-cookie设置了新的cookie,sqlmap会在之后的探测中使用它,可以用这个参数忽略新cookie。如果是对cookie进行注入则要通过--level 2及以上

    对文件探测

    -l从bp等读取http日志请求文件
    -m读取文件中多个url,同时对多个url进行探测
    -r主要用来检测http请求信息如user-agent中是否存在注入
    -c从sqlmap.config读取配置好的信息进行探测
    --scope="正则表达式"筛选文件中的一些信息

    三sqlmap枚举

    枚举数据库名--dbs
    枚举数据库表--tables
    枚举列名--columns
    枚举数据--dump
    --users枚举用户名
    --password 枚举用户密码
    --role 枚举用户权限

    四sqlmap性能优化

    --keep-alive 设置持久连接,加快探测速度
    --null-connection 检索没有body响应的内容,多用于盲注
    --thread 最大为10 设置多线程
    -o 开启所有默认性能优化
    -smart 快速判断,节约时间
    设置延迟 --delay 时间 。当页面无变化,布尔无真假,从来不报错时用延时注入
    设置超时 --timeout 时间
    设置重新连接次数 --retries 次数

    五sqlmap指定注入

    -p 指定具体探测参数
    *加到参数的后面,指定url或者报文头上的一些参数进行探测
    --os 操作系统 sqlamp会自动识别,但也可以以此指定
    --dbms 数据库类型 sqlamp会自动识别,但也可以以此指定

    六使用temper脚本

    tamper脚本使用(sqlmap目录下,tamper文件夹存放)
    --temper “脚本名称,多个脚本用逗号分隔”

    七其它参数

    --level 1-5 执行的测试等级,默认为1,cookie在2时测试,use-agent在3时测试。一些探测只有设置值达到一定等级时才探测
    --batch 自动选择yes
    --risk 执行风险等级,默认为1,2增加基于事件的测试语句,3增加or语句的sql测试
    --identify-waf检测防火墙类型
    --param-del="分割符"设置参数的分割符
    设置http协议私钥 --auth-file 包含私钥证书的文件
    --skip-urlencode 不进行url编码

    八sqlmap对http参数的注入

    用sqlmap探测,它的user-qgent会有特定的值,容易被检测过滤,所以可以使用如下命令更改
    --user-agent=""设置指定的值
    --random-agent 从自带的文件中随机选取一个值
    如果是对user-agent进行注入,可以在文件的相应参数后面加* 否则应该使--level 3及以上
    如果对host注入的level应该为5
    如果对refer注入level应该为3

    设置http认证参数

    --auth-type 有basic ntlm digest
    --auth-cred 语法为username:password

    九sqlmap进行命令执行

    --os-cmd="命令"(要知道网站的绝对路径)
    sqlmap写webshell
    --os-shell
    上传自己的wellshell,--file-write "本地文件地址" --file-dest "目标文件地址"

    十sqlmap设置代理

    隐藏自己的真实ip
    --proxy http://ip:端口
    --proxy-file 使用一个包含多条代理的文件中的代理
    --proxy-cred 语法为username:password

  • 相关阅读:
    列表与数组 Perl入门第三章
    北京地区-医类汇总
    via/route blockage/size blockage/wire/pin guide/pin blockage/partition
    dbGet(三)
    dbGet(二.一)hinst
    微服务是什么?
    Docker入门 四 Swarms集群
    Docker入门 三 用服务来扩展和负载均衡你的应用
    Linux2.2路径、删除目录及文件
    Linux2.1系统目录结构、ls、文件类型、alias
  • 原文地址:https://www.cnblogs.com/Qi-Lin/p/11334313.html
Copyright © 2011-2022 走看看