sqlmap使用

简介: sqlmap是一种开源的渗透测试工具,可以自动检测和利用SQL注入漏洞以及接入该数据库的服务器。它拥有非常强大的检测引擎、具有多种特性的渗透测试器、通过数据库指纹提取访问底层文件系统并通过外带连接执行命令。

支持的数据库:MySQL,Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase and SAP MAXDB

sqlmap支持五种不同的注入模式:
UNION query SQL injection(可联合查询注入)
Error-based SQL injection(报错型注入)
Boolean-based blind SQL injection(布尔型注入)
Time-based blind SQL injection(基于时间延迟注入)
Stacked queries SQL injection(可多语句查询注入)
一、安装 kali
二、安装 Xsell 6
三、在kali下查看开放端口
netstat -ant
打开第22号端口
service ssh start
查看开放端口
netstat -ant
四、在这里插入图片描述最后一行给sshd_config做备份
编辑vim sshd_config 修改如图:
在这里插入图片描述在这里插入图片描述
设置开机启动:
update-rc.d ssh enable

在Xshell启动sqlmap
在这里插入图片描述连接图中网址,下载python

sqlmap使用
-u /–url
最基本格式 sqlmap -u“http://www.target.com/index.php?id=1” • -m
从文本中获取多个目标扫描,但是每一行只能有一个url.
sqlmap -m urllist.txt • -r
从文件中加载HTTP请求,这样的话 就不需要在去设定cookie,POST数据…等等

三、设置回显等级
参数:-v 默认为1:
0、只显示python错误以及严重的信息。
1、同时显示基本信息和警告信息。(默认等级)
2、同时显示debug信息。
3、同时显示注入的payload。
4、同时显示HTTP请求。
5、同时显示HTTP响应头。
6、同时显示HTTP响应页面。

四、设置HTTP数据包相关参数
HTTP Referer头 参数:–referer sqlmap可以在请求中伪造HTTP中的referer。 sqlmap -u “http://www.target.com/?id=1” --referer=”http://www.baidu.com” 当–level参数设定>=3时,会尝试进行referer注入。
–delay 可以设定两个http请求间的延迟,设定为1的时候是1秒,默认是没有延迟的。
–timeout 可以设定一个http请求超过多少秒判定为超时,默认是30秒

五、指定测试参数
-p , sqlmap 默认会测试所有的GET和POST参数,当–level的值大于等于2的时候也 会测试HTTP Cookie头的值,当大于等于3的时候也会测试User- Agent和HTTP Referer头的值。 例如:-p “id,user-angent”
–skip 在使用–level时,级别很大的时候,但是有些参数不能去测试,那么可以使用-skip参数跳过。 例如:–skip=”user-agent,referer”

六、设定探测等级
–level (sqlmap -r 情况下) 共有五个等级,默认为1,sqlmap使用的payload可以在xml/payloads.xml中看 到,自己也可以根据相应的格式添加自己的payload。
level>=2的时候就会测试HTTP Cookie。
level>=3的时候就会测试HTTP User-Agent/Referer头。
level=5 的时候会测试HTTP Host。

七、设定探测风险等级
–risk 共有四个风险等级,0-4,
默认是1会测试大部分的测试语句,
2会增加基于时间的测试语句,
3会增加OR语句的SQL注入测试。
在有些时候,例如在UPDATE,DELETE的语句中,注入一个OR的测试语句,可能导致更新的整个表,可能造成很大的风险。

八、列数据
–dbs,–users,–passwords, --technique :指定使用哪种注入类型 --current-db 当前数据库 --privileges 权限 -D database_name --tables -D database_name -T table_name --columns -D database_name -T table_name -C column_1,column_2 --dump

九、一些常用的参数
• --users 列数据库管理用户,当前用户有权限读取包含所有用户的表的权限时,就
可以列出所有管理用户。
• --current-user 在大多数据库中可以获取到管理数据的用户。 • --is-dba 判断当前的用户是否为管理,是的话会返回True。 • --privileges 当前用户有权限读取包含所有用户的表的权限时,很可能列举出每 个用户的权限,sqlmap将会告诉你哪个是数据库的超级管理员。也可以用-U参
数指定你想看那个用户的权限。
• --proxy 指定一个代理服务器 eg: –proxy http://local:8080 • select * from users where id=(((‘1’))) and 1=1 • --prefix=PREFIX 注入payload字符串前缀 • –suffix=SUFFIX 注入payload字符串后缀 • eg:sqlmap -u “www.target.com/index.php?id=1” -p id --prefix “’))” --suffix “AND (‘1’='1”

八、使用shell命令:
参数–os-shell
前提:需要网站的物理路径,其次是需要有FIILE权限。
sqlmap -r “C:\sqlmap\request.txt” -p id --dms mysql --os-shell
接下来指定网站可写目录:
“C:\www”
sqlmap -u “www.a.com/1.php?id=1” --file-write=”d:/1.txt” --file-dest=”E:/wwwroot/bihuoedu/one.php“
–batch 全自动 --start=开始条数 --stop=结束条数 --dump 导出数据 --dump-all 导出所有数据 --purge-output 清空缓存目录 --sql-shell 反弹sqlshell,类似于sql查询分析器 默认路径.sqlmap (点sqlmap)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值