注入神器 --SQLMAP使用示例
文章目录
- 一、查看数据库内容
- 爆库
- 爆表
- 爆字段
- 仅列数据
- 爆字段(某表所有字段)
- 爆字段(某表个别列字段)
- 爆字段(某表前几行字段)
- 二、输出结果详细程度
- 三、多种注入方式
- 单目标地址注入(GET)
- 单目标地址注入(POST)
- 注入文本文件
- 多目标地址注入
- Burp代理日志注入
- 使用正则过滤代理日志中的目标
- 四、连接请求选项
- HTTP方法
- 指定分隔符
- Cookie登录验证
- HTTP协议认证
- HTTP私钥认证
- 指定HOST头
- 指定Referer头
- 忽略HTTP错误代码
- HTTP(s)代理
- HTTP请求之间的延迟
- 超时连接前等待的秒数
- HTTP连接时最大重试数
- 随机更改给定参数值
- 避免过多请求失败会话失联
- 关闭URL编码
- 绕过CSRF保护
- 强制使用HTTPS
- 在每次请求前执行特定python代码
- 五、隐匿攻击
- 伪造User-Agent头
- 方法一:随机替换
- 方法二:指定替换
- Tor匿名网络
声明: 以下对SQLMAP的操作说明皆在靶机环境下进行演示学习,请勿进行非法行为操作!
一、查看数据库内容
用于确认存在注入点后进行查看数据库、表、列、数据行
爆库
--dbs(查看所有可用数据库)
爆表
-D <对应的数据库名> --tables(查看某库下边的所有可用表)
爆字段
-D <对应的数据库名> -T <对应的数据库表> --columns (查询某数据库、某表下的所有列名)
仅列数据
仅计算每个表总数量,不看里面数据(法律法规!)
--count
爆字段(某表所有字段)
dump某个表所有的列字段
-D <对应的数据库名> -T <对应的表名> --dump
爆字段(某表个别列字段)
仅爆dvwa数据库、users表下的user和password列字段
-D <对应的数据库名> -T <对应的表名> -C <对应的列1>,<对应的列2> --dump
爆字段(某表前几行字段)
查看某表前几行
-D <对应的数据库名> -T <对应的表名> -C <对应的列1>,<对应的列2> --stop <行数>
二、输出结果详细程度
-v
控制sqlmap结果输出的详细程度,7个级别,默认为1
- 0,仅显示回溯,错误和严重信息
- 1,显示警告信息
- 2,显示调试信息
- 3,显示注入的有效载荷
- 4,显示HTTP请求
- 5,显示HTTP响应的标头
- 6,显示HTTP响应的页面内容
三、多种注入方式
单目标地址注入(GET)
-u / --url
针对单个目标地址使用,一般结合其它参数使用
Tips:-u 后边的地址需要使用英文引号
单目标地址注入(POST)
- -data
sqlmap默认执行HTTP请求的方法是GET,当要测试POST注入的参数时需要使用该参数,一般和-r参数共用
保存当前POST请求于文本文件中
注入文本文件
-r
从文本文件中加载注入的目标,优点:可跳过Cookie认证
保存要注入的页面操作请求于文本文件中
多目标地址注入
-m
批量注入文本文件中列出的URL目标列表,sqlmap逐个扫描每个URL
Burp代理日志注入
-l(小写L)
指定一个Burp代理日志文件,从日志文件中解析出可能攻击的目标
设置日志文件名proxy.log保存,当浏览站点时便会保存日志文件
使用正则过滤代理日志中的目标
- -scope
使用正则对代理日志进行过滤,只注入所需主机
四、连接请求选项
HTTP方法
- -method
sqlmap是自动检测HTTP请求中使用的正确方法,但是一些不常用的方法需要使用该参数指定
指定分隔符
- -param-del
主要用于多个参数注入时指定分隔符,能够使sqlmap更加精准的测试目的参数
Cookie登录验证
- -cookie
该选项在如下两个情况下使用
- 该注入点需要登录才能访问
- 想要检测和利用此类标头的SQL注入(- -level设置为2或者更高,sqlmap自动测试HTTP标头)
目标网站需要cookie验证,且未设置情况下显示如下:
在未设置HTTPOnly站点下浏览器输入以下代码,获取当前cookie(方法多种)
HTTP协议认证
- -auth-type 和 - -auth-cred
用于指定使用哪个HTTP协议身份验证后端Web服务器,用于执行对目标应用程序所有的有效凭据。
支持的三种HTTP协议身份验证机制:
- Basic
- Digest
- NTLM
HTTP私钥认证
- -auth-file
适用于Web服务器需要客户端证书用于身份验证的私钥
指定HOST头
- -host
host标头自动从目标解析
指定Referer头
- referer
默认情况下请求包中无Regerer标头,可伪造此标头
忽略HTTP错误代码
- -ignore-code
适用于测试偶尔返回HTTP错误代码(导致常规sqlmap运行引起问题)的站点(如401:未经授权),而想忽略该提示继续测试,则使用该参数
HTTP(s)代理
- -proxy、- -proxy-cred、- -proxy-file 和 - -ignore-proxy
- - -proxy-file:适用于侵入的IP地址被封时自动跳到代理池的下一个地址,从而持续扫描注入
- - -ignore-proxy:忽略本地代理设置
HTTP请求之间的延迟
- -delay
适用于欺骗防火墙正常访问(无延迟访问容易被墙),可以指定在每个HTTP(s)请求之间保留的秒数。有效值为浮点型(例如0.5s),默认情况下不设置延迟。
第一个请求时间:
第二个请求时间,相隔3秒,如规避IDS发现:
超时连接前等待的秒数
- -timeout
在考虑HTTP(s)请求超时前可以指定等待的秒数,有效值为浮点型(例如:10.5s),默认30秒。
HTTP连接时最大重试数
- -retries
HTTP(s)连接超时时,可以指定最大重试次数。(默认3次)
随机更改给定参数值
- -randomize
在每个请求期间随机更改值的参数名称。长度和类型将根据提供的原始值保留。
避免过多请求失败会话失联
- -safe-url、- -safe-post、- -safe-req 和 - -safe-freq
sqlmap检测时会产生大量的请求,有时服务器检测到的客户端请求过多从而对其屏蔽,为了持续成功请求可使用:
- - -safe-url:测试期间持续性访问URL地址;
- - -safe-post:POST数据发送到给定的安全的URL地址;(安全的URL指能返回请求的数据)
- - -safe-req:从文件加载并使用安全的HTTP请求;
- - -safe-freq:每次测试请求后都会访问以下安全的URL。
关闭URL编码
- -skip-urlencode
关闭URL编码,对数据进行源数据传输(sqlmap默认对URL进行URL编码)
绕过CSRF保护
\ - -csrf-token 和 - -csrf-url
很多站点通过在表单中添加值随机生成的token的隐藏字段来防止csrf攻击,sqlmap会自动识别并绕过,但有时会失效,就需要手动添加:
- - -csrf-token:用于指定包含token的隐藏字段名,如sqlmap不能自动识别需要手动指定。
- - -csrf-url:从任意中回收值(如有漏洞的目标URL中没有包含token值而要求在其它地方提取该参数即无敌)
强制使用HTTPS
- -force-ssl
使目标强制使用SSL/HTTPS请求
在每次请求前执行特定python代码
- -eval
每次执行前执行自定义的python代码
每次返送请求前,sqlmap都会根据id值重新计算hash值并更新GET请求中的hash值
五、隐匿攻击
伪造User-Agent头
- -user-agent 和 - -random-agent
一些站点防火墙会对HTTP的User-Agent标头进行检查,从而检测攻击加入到到IPS的黑名单中
Tips:- -level设置为3或更高,sqlmap会对HTTP标头进行测试
方法一:随机替换
查看到请求包中的User-Agent自动替换了:
方法二:指定替换
Tor匿名网络
- -tor、- -tor-port、- -tor-type 和 - -check-tor
适用于出于某种原因保持匿名扫描注入
注入神器 --SQLMAP使用示例相关推荐
- 『安全工具』注入神器SQLMAP
原文: 『安全工具』注入神器SQLMAP Pic by Baidu 0x 00 前言 正是SQLMAP这种神器的存在,SQL注入简直Easy到根本停不下来.... PS:国内类似软件也有阿D,明小子, ...
- 注入神器-----SqlMap的使用
sqlmap GET参数: -u 网址 --dbs:获取注入点的所有数据库 -D:指定数据库 --tables:获取指定的表 -T:表名 --columns:获取表的指定字段 ...
- sql 注入神器sqlmap 源码分析之调试sqlmap
为什么80%的码农都做不了架构师?>>> 相信大家平时 用sqlmap 命令,比如 python sqlmap.py -u"https://team.oschina. ...
- SQL注入测试神器sqlmap
点击上方蓝字"开源优测"一起玩耍 声明 本公众号所有内容,均属微信公众号: 开源优测 所有,任何媒体.网站或个人未经授权不得转载.链接.转贴或以其他方式复制发布/发表.已经本公众 ...
- 依赖注入神器:Dagger2详解系列
依赖注入神器:Dagger2详解系列 序言 Dagger2是啥 Dagger2是啥,Google告诉我们: Dagger is a fully static, compile-time depende ...
- 工具使用|神器Sqlmap tamper的使用介绍
作者: 村里的小四 免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责. 0x01 前言 从开源软件Sqlmap学习字符的篡改,现在的web网络环境参数出入处基本都会过滤某些字符串 ...
- [网络安全提高篇] 一〇六.SQL注入之手工注入和SQLMAP入门案例详解
当您阅读到该篇文章时,作者已经将"网络安全自学篇"设置成了收费专栏,首先说声抱歉.感谢这一年来大家的阅读和陪伴,这100篇安全文章记录了自己从菜鸡到菜鸟的成长史,该部分知识也花了很 ...
- 为什么preparedstatement能防止sql注入_使用Python防止SQL注入攻击的实现示例
文章背景 每隔几年,开放式Web应用程序安全项目就会对最关键的Web应用程序安全风险进行排名.自第一次报告以来,注入风险高居其位!在所有注入类型中,SQL注入是最常见的攻击手段之一,而且是最危险的.由 ...
- 详解强大的SQL注入工具——SQLMAP
本文转自:详解强大的SQL注入工具--SQLMAP 前言 Windows下的注入工具好的又贵,免费的啊D.明小子等又不好用,我们根本没必要花 时间去找什么破解的havij.pangolin什么的,特别 ...
最新文章
- 中国电子学会青少年编程能力等级测试图形化四级编程题:正话反说
- 计算机算法的发展动态,计算机算法动态规划讲解.ppt
- java文件读写 outputstream_java IO文件读写例子(OutputStream,InputStream,Writer,Reader)...
- 普联技术java工程师_【普联技术(TP-LINK)工资】java开发工程师待遇-看准网
- 痛苦的vsftpd配置
- 竞赛程序设计知识要点图谱
- 【渝粤教育】国家开放大学2018年秋季 3722-22T燃气输配工程 参考试题
- 怎么高速旋转_洗衣机怎么选比较好,滚筒洗衣机和波轮洗衣机哪种更好?
- 在项目中使用NeatUpload
- 中级通信工程师 | 关于考试,你想了解的都在这里!
- 计算机开机错误0xc0000428,启动时出现错误码0xc0000428如何解决?
- SQL分组排序再取前N条记录
- 苹果手机桌面找不到计算机,苹果手机设置图标不见了怎么办
- STP和RSTP的BPDU报文中flag位 对比+分析
- 支付宝称:已支持微信转账,结果被骂惨了...
- 3D建模需要什么电脑配置?什么样的电脑可以用作游戏建模?
- unknown类型的使用
- 抖音企业号有什么好处?
- 服务器 u盘制作系统盘,制作U盘系统盘(WinToFlash)
- cms可视化编辑php,AyaCMS与We7CMS可视化编辑模板功能对比