sqlmap常用参数总结

2017-11-03  本文已影响90人  kevinhuangk

对于任意一个url,如:http://192.168.136.131/sqlmap/mysql/get_int.php?id=1
sqlmap会:

sqlmap支持的注入模式

Sqlmap支持的数据库有:

MySQL,Oracle,PostgreSQL,MSSQL,SQLite, Access

常用参数

-v (VERBOSE)
对一个点进行尝试判断以及读取数据。
共有七个等级,默认为1:
0:只显示python错误以及严重的信息。
1:同时显示基本信息和警告信息(默认)
2:同时显示debug信息。
3:同时显示注入的payload(最好看payload测试等级)
4:同时显示HTTP请求。
5:同时显示HTTP响应头。
6:同时显示HTTP响应页面。

-d (director)
直接连接数据库。

-u (URL)
从Burp或者WebScarab代理中获取日志。
格式:sqlmap -u "http://www.baidu.com"
-l (LIST)
直接把Burp或Webscabe中解析目标,并将目标直接导出到Sqlmap来检测是否存在注入。从文本中获取多个目标扫描。
-level (执行测试等级)
-g
测试Google搜索结果中的GET参数(Top100结果)
--data
用于拆分字符,此参数用于POST方式提交,sqlmap会像检测GET参数一样检测POST的参数。
--cookie,--load-cookies,--drop-set-cookie
主要用在这两方面:
1.web应用需要登陆的时候。
2.你想要在这些头参数中测试SQL注入。
-p
sqlmap默认测试所有的GET和POST参数,当--level的值大于等于2的时候也会测试HTTP Cookie头的值,当大于等于3的时候也会测试User-Agent和HTTP Referer头的值。但是你可以手动用-p参数设置想要测试的参数。例如: -p "id,user-anget"
当你使用--level的值很大但是有个别参数不想测试的时候可以使用--skip参数。
--os
默认情况下sqlmap会自动的探测数据库服务器系统,支持的系统有:Linux、Windows。
指定无效的大数字
--dbs
当前用户有权限读取所有数据看列表信息的表中的时候,即可列出一个特定数据的所有表。
--dump,-C,-T,-D,--start
如果当前管理员有权限读取数据库其中的一个表,那么就能获取整个表中的所有内容。
-T,-D参数指定想要获取哪个库的哪个表,不适用-D参数是,默认使用当前库。
--common-tables
暴力破解表名,当--tables无法获取到数据库表时,使用该参数破解,同理用于破解列名。

当:
1、MySQL数据库版本小于5.0,没有information_schema表。
2、数据库是Microssoft Access,系统表MSysObjects是不可读的(默认)。
3、当前用户没有权限读取系统中保存数据结构的表的权限。

--file-read
从服务器中读取文件。当数据库为MySQL,PostgreSQL, MSSQL时,并当前用户有权使用特定的函数(以下情况均在该条件下),读取文件可以是文本也可以是二进制文件。
--file-write,--file-dest
把文件上传到数据库服务器中。
--os-cmd,--os-shell
运行任意操作系统命令。包含用户自定义函数sys_exec()和sys_eval()等。

如有错误,请私信我修改,谢谢。

上一篇 下一篇

猜你喜欢

热点阅读