sqlmap使用教程(6)-注入技术拓展
注入技术
选项--technique,可以用来指定SQL注入技术,默认为BEUSTQ。其中,B表示基于布尔盲注,E表示基于错误的盲注,U表示基于联合查询注入,S表示堆叠注入,T表示基于时间盲注,Q表示内联查询注入。
1. 基于布尔盲注的时候,sqlmap通过比较返回页面的不同来判断真假,但有时候一些界面元素会影响sqlmap的判断,那么可以提供一个在原始页面与真条件下的页面中都存在,而在错误页面中不存在的字符串。sqlmap提供了选项--string,用来指定该字符串,即查询值有效时在页面匹配的字符串。例如:
--technique=B --string="hello"
设置在错误页面中存在,而在原始页面中不存在的字符串:
--technique=B --not-string="fail"
2.基于错误的注入是通过输入特定语句触发页面报错。如果触发成功,则网页会包含相关错误信息,帮助用户获取想要的信息,进行判断.
--text-only,用来指定只比较网页的文本内容
--titles,可以设置仅比较网页标题
3.基于时间的盲注是根据时间延迟语句是否执行(即页面返回时间是否延长)来判断注入漏洞存在的可能性.
--time-sec,可以用来设置响应延时的时间,避免慢速网络带来的干扰
4.联合查询注入根据UNION语句注入的结果进行判断。
--union-cols,可以用来指定列数检测范围。
5.堆叠注入(Stacked injection)就是允许用户同时执行多条SQL语句,从而说明目标存在堆叠注入漏洞,但并不是在每一个环境中都可以执行堆叠注入,其可能会受到API或者数据引擎不支持的限制。
例如:
-technique=BS -v 3
6.二阶sql注入,二级SQL注入是指将输入的数据先存储再读取,然后以读取的数据构成SQL查询,形成SQL注入漏洞。为了更好理解,举一个例子:
某网站提供注册功能,我们注册了一个名字为admin'-- 的用户,注册时特殊符号被转义为普通字符,那我们就注册了一个admin'--的用户,注册后,我们使用admin'--登录后,修改密码,此时如果程序从数据库调用从外部保存下来的数据时,并没有进行过滤没有做处理,就直接执行了以下语句UPDATE users SET PASSWORD='123456' where username='admin'-- -' ,如果这时数据库中原本有一个admin的系统用户,那么我们就成功修改了admin的密码。
由于二阶SQL注入是在第二次请求的页面中产生的,所以需要指定二级响应的URL地址。选项--second-url,用来设置二级响应的URL地址。
--second-url="http://192.168.1.131/dvwa/ 7.
7.自定义注入
sqlmap在注入时,生成无效参数一般情况下,sqlmap会取已有参数的相反数作为无效参数。例如,默认提交的参数为id=1,sqlmap会取相反数,即id=-1。如果不希望使用默认的方式,可以通过一些选项设置让参数值无效,如使用大数、使用逻辑运算等。
--invalid-bignum,可以强制使用大数让值,使用前id=-1,使用后如id=9999
--invalid-string,可以强制使用随机字符串让值无效,使用前id=-1,使用后如id=dfrgdf
--risk 用来设置测试的风险,范围为1~3。其中,1会测试大部分的测试语句;2会在默认的检测上添加大量时间型盲注语句测试 ;3会增加OR语句的SQL注入测试。
设置请求线程和延迟
--threads,可以用来设置HTTP请求的线程数,默认为1(线程数就是单位时间内发送的HTTP请求数)
--delay,用来设置每次请求的时间间隔,默认没有延迟,单位为秒
清理痕迹
--purge:从本机sqlmap数据目录中,安全地删除所有内容。所谓安全删除,不仅仅是删除,而是在删除前先用随机数据覆盖原有数据,甚至对文件名和目录名也进行重命名以覆盖旧名称,所有覆盖工作完成后才执行删除。
--cleanup:清除sqlmap注入时在目标DBMS中产生的UDF文件与各种表
规避防火墙
所有的Web服务器都会安装防火墙。如果防火墙探测到有异常请求,将会阻止访问服务器的数据。由于SQL注入属于攻击行为,所以在测试过程中,可能会被目标的防护系统拦截,导致测试失败。
使用安全网址:安全网址就是指访问会返回响应状态码200,并且不会有任何报错信息的网址,--safe-url,可以用来设置使用的安全网址。还必须指定--safe-freq选项,用于设置访问请求频率,即每隔几个常规测试,访问一次安全URL。
–safe-url="http://192.168.1.31/sqli-labs/" --safe-freq=2
--safe-req,用于从文件中加载安全网址的HTTP请求。该选项也必须与--safe-freq选项一起使用。
-safe-post,可以用来指定访问安全网址时通过POST方式提交的数据。该选项必须与选项--safe-url和--safe-freq配合使用。
--safe-url="http://192.168.1.31/dvwa/login.php" --safe-post="username=admin&password=password" --safe-freq=2
使用脚本绕过防火墙:脚本保存在sqlmap安装目录的tamper文件夹中。--list-tampers,用于列出所有可用的脚本。选项--tamper,可以用来指定使用的Tamper脚本。用户也可以同时使用多个Tamper,脚本之间使用逗号分隔,如--tamper="between,randomcase"
绕过CSRF防护
1、由于Token每请求一次,就会变化一次。所以,由于该令牌不固定,可能导致注入测试失败。如果请求的URL地中中包括了token参数,sqlmap提供了选项--csrf-token,用于指定控制Token的参数。–csrf-token="token"
2、如果注入测试的目标URL不包含必需的令牌,就需要从其他位置提取令牌。sqlmap提供了选项--csrf-url,可以用来指定获取令牌的网址。
–csrf-token="token" --csrf-url="http://192.168.1.31/login.php"
3、--csrf-retries,可以用来设置反CSRF令牌重试次数,默认为0
HTTP污染技术
HTTP参数污染是绕过WAF/IPS/IDS的一种技术,选项--hpp,用来使用HTTP污染技术。
chunked传输编码方式
chunked是HTTP报文头中的一种传输编码方式,表示当前的数据需要分块编码传输,--chunked,可以用来启用chunked传输功能。
总结:如果常规扫描没有发现漏洞,可尝试用以上方法再次扫描验证,也许就有意想不到的收获。
写在最后,想要获取sqlmap更多的选项信息,记得用-hh,而不是-h(记忆方法:哈哈,找到了!两个哈(h))!!!!!!

相关文章:
sqlmap使用教程(6)-注入技术拓展
注入技术 选项--technique,可以用来指定SQL注入技术,默认为BEUSTQ。其中,B表示基于布尔盲注,E表示基于错误的盲注,U表示基于联合查询注入,S表示堆叠注入,T表示基于时间盲注,Q表示内联…...
苹果Find My市场需求火爆,伦茨科技ST17H6x芯片助力客户量产
苹果发布AirTag发布以来,大家都更加注重物品的防丢,苹果的 Find My 就可以查找 iPhone、Mac、AirPods、Apple Watch,如今的Find My已经不单单可以查找苹果的设备,随着第三方设备的加入,将丰富Find My Network的版图。产…...
3DMAX初级小白班第一课:菜单栏介绍
基本介绍 这里不可能一个一个选项全部教给大家(毕竟之后靠实操慢慢就记住了),只说一些相对需要注意的设置。 自定义-热键编辑器-热键设置 这里有你所需要的全部快捷键 自定义-自定义UI启动布局 将UI布局还原到启动的位置 自定义-通用单…...
Windows中Zookeeper与kafka的安装配置
一、Zookeeper安装与使用 1.安装包下载 直接在官网下载即可Apache ZooKeeper。 下载后直接解压到本地即可。 2.环境配置 1> 在目录中下增加data和log文件夹 2> 解压目录下的 conf 目录,将目录中的 zoo_sample.cfg 文件,复制一份,重…...
QT 官方例程阅读: XML Patterns 相关
标签用于在qt creator 中查询相关工程 一、标签 Schema Validator 模式验证器 就是根据 已知的XML 模式,验证输入的XML 文件格式是否匹配,不匹配可以输出不匹配位置 如下,,首先定义了contact 元素 的子元素列表,&…...
基于SpringBoot IP黑白名单的实现
业务场景 IP黑白名单是网络安全管理中常见的策略工具,用于控制网络访问权限,根据业务场景的不同,其应用范围广泛,以下是一些典型业务场景: 服务器安全防护: 黑名单:可以用来阻止已知的恶意IP地…...
Redis客户端之Redisson(二)Redisson分布式锁
一、原理: Redisson并没有通过setNx命令来实现加锁,而是基于 Redis 看⻔狗机制,自己实现了一套分布式锁逻辑。 1、加锁机制: 二、使用方法:...
掌握大语言模型技术: 推理优化
掌握大语言模型技术_推理优化 堆叠 Transformer 层来创建大型模型可以带来更好的准确性、少样本学习能力,甚至在各种语言任务上具有接近人类的涌现能力。 这些基础模型的训练成本很高,并且在推理过程中可能会占用大量内存和计算资源(经常性成…...
git如何导出提交记录及修改的文件清单?
导出git提交日志及修改文件 # 所有人的提交记录 git log --pretty=format:"%ai,%an:%s" --since="10 day ago" >> ~/Desktop/commit10.log#某一个人的提交记录 git log --pretty=format:"%ai,%an:%s" --since="30 day ago" |...
从零开始:Ubuntu Server中MySQL 8.0的安装与Django数据库配置详解
Ubuntu系统纯净安装MySQL8.0 1、安装Mysql8.0 sudo apt install mysql-server2、检查MySQL状态 sudo systemctl status mysql如下所示看见Active: active (running)说明mysql状态正常 ● mysql.service - MySQL Community ServerLoaded: loaded (/lib/systemd/system/mysql…...
Vue基础知识
Vue Vue基础知识 v-bind:动态绑定属性值 Vue 修改,标签内也修改 在methods 中可以定义很多函数 在 data 中可以定义很多变量 v-if / v-show:对符合条件的元素进行展示 v-for:把数据遍历出现在网页中 案例 <!DOCTYPE html><html lang"e…...
瀑布流布局 (初版)
瀑布流布局 文章目录 瀑布流布局前言1. 背景2. 点⬇️🔗去体验效果如下图所示: 一、初版waterfall布局和问题暴露?1.效果图如下:2.暴露问题如下图所示:第一张问题图:第二张问题图: 3.HTML代码如…...
硕士毕业论文写作笔记
一、写作顺序 1.标题、研究问题、研究方法 2.文献综述(占比1/5-1/6) 3.论证章节 4.结论、不足、启示 5.处理图表、参考文献的格式 6.绪论或引言 7.摘要、关键词 8.查重、装订 http://【硕士毕业论文写不下去,多亏听了张博士的论文写…...
成本更低、更可控,云原生可观测新计费模式正式上线
云布道师 在上云开始使用云产品过程中,企业一定遇见过两件“讨厌”事: 难以理解的复杂计费逻辑,时常冒出“这也能收费”的感叹; 某个配置参数调节之后,云产品使用成本不可预估的暴涨。 可观测作为企业 IT 运维必须品…...
5.列表选择弹窗(BottomListPopup)
愿你出走半生,归来仍是少年! 环境:.NET 7、MAUI 从底部弹出的列表选择弹窗。 1.布局 <?xml version"1.0" encoding"utf-8" ?> <toolkit:Popup xmlns"http://schemas.microsoft.com/dotnet/2021/maui"xmlns…...
(十三)Head first design patterns原型模式(c++)
原型模式 原型模式就是就是对对象的克隆。有一些私有变量外界难以访问,而原型模式可以做到对原型一比一的复刻。 其关键代码为下面的clone方法。此方法将本对象进行复制传递出去。 class ConcretePrototype1 : public Prototype{ public:ConcretePrototype1(stri…...
Python基础之数据库操作
一、安装第三方库PyMySQL 1、在PyCharm中通过 【File】-【setting】-【Python Interpreter】搜索 PyMySQL进行安装 2、通过PyCharm中的 Terminal 命令行 输入: pip install PyMySQL 注:通过pip安装,可能会提示需要更新pip,这时可执行&#…...
redis-发布缓存
一.redis的发布订阅 什么 是发布和订阅 Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。 Redis 客户端可以订阅任意数量的频道。 Redis的发布和订阅 客户端订阅频道发布的消息 频道发布消息 订阅者就可…...
Stata17安装教程
文章目录 **Stata17安装教程**前言系统要求Windows:macOS:Linux: 软件下载正式安装1.下载Stata 17安装包2.双击Stata17.exe开启安装3.接受同意条款,然后继续安装4.选择想要安装的版本,Stata BE为基础版、Stata SE为特别…...
Java PDFBox 提取页数、PDF转图片
PDF 提取 使用Apache 的pdfbox组件对PDF文件解析读取和转图片。 Maven 依赖 导入下面的maven依赖: <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.30</version> &l…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...
解析“道作为序位生成器”的核心原理
解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制,重点解析"道作为序位生成器"的核心原理与实现框架: 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...
Python学习(8) ----- Python的类与对象
Python 中的类(Class)与对象(Object)是面向对象编程(OOP)的核心。我们可以通过“类是模板,对象是实例”来理解它们的关系。 🧱 一句话理解: 类就像“图纸”,对…...
shell脚本质数判断
shell脚本质数判断 shell输入一个正整数,判断是否为质数(素数)shell求1-100内的质数shell求给定数组输出其中的质数 shell输入一个正整数,判断是否为质数(素数) 思路: 1:1 2:1 2 3:1 2 3 4:1 2 3 4 5:1 2 3 4 5-------> 3:2 4:2 3 5:2 3…...
在Spring Boot中集成RabbitMQ的完整指南
前言 在现代微服务架构中,消息队列(Message Queue)是实现异步通信、解耦系统组件的重要工具。RabbitMQ 是一个流行的消息中间件,支持多种消息协议,具有高可靠性和可扩展性。 本博客将详细介绍如何在 Spring Boot 项目…...
