当前位置: 首页 > news >正文

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 修改&#xff0c;标签内也修改 在methods 中可以定义很多函数 在 data 中可以定义很多变量 v-if / v-show&#xff1a;对符合条件的元素进行展示 v-for:把数据遍历出现在网页中 案例 <!DOCTYPE html><html lang"e…...

瀑布流布局 (初版)

瀑布流布局 文章目录 瀑布流布局前言1. 背景2. 点⬇️&#x1f517;去体验效果如下图所示&#xff1a; 一、初版waterfall布局和问题暴露&#xff1f;1.效果图如下&#xff1a;2.暴露问题如下图所示&#xff1a;第一张问题图&#xff1a;第二张问题图&#xff1a; 3.HTML代码如…...

硕士毕业论文写作笔记

一、写作顺序 1.标题、研究问题、研究方法 2.文献综述&#xff08;占比1/5-1/6&#xff09; 3.论证章节 4.结论、不足、启示 5.处理图表、参考文献的格式 6.绪论或引言 7.摘要、关键词 8.查重、装订 http://【硕士毕业论文写不下去&#xff0c;多亏听了张博士的论文写…...

成本更低、更可控,云原生可观测新计费模式正式上线

云布道师 在上云开始使用云产品过程中&#xff0c;企业一定遇见过两件“讨厌”事&#xff1a; 难以理解的复杂计费逻辑&#xff0c;时常冒出“这也能收费”的感叹&#xff1b; 某个配置参数调节之后&#xff0c;云产品使用成本不可预估的暴涨。 可观测作为企业 IT 运维必须品…...

5.列表选择弹窗(BottomListPopup)

愿你出走半生,归来仍是少年&#xff01; 环境&#xff1a;.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++)

原型模式 原型模式就是就是对对象的克隆。有一些私有变量外界难以访问&#xff0c;而原型模式可以做到对原型一比一的复刻。 其关键代码为下面的clone方法。此方法将本对象进行复制传递出去。 class ConcretePrototype1 : public Prototype{ public:ConcretePrototype1(stri…...

Python基础之数据库操作

一、安装第三方库PyMySQL 1、在PyCharm中通过 【File】-【setting】-【Python Interpreter】搜索 PyMySQL进行安装 2、通过PyCharm中的 Terminal 命令行 输入: pip install PyMySQL 注&#xff1a;通过pip安装&#xff0c;可能会提示需要更新pip&#xff0c;这时可执行&#…...

redis-发布缓存

一.redis的发布订阅 什么 是发布和订阅 Redis 发布订阅 (pub/sub) 是一种消息通信模式&#xff1a;发送者 (pub) 发送消息&#xff0c;订阅者 (sub) 接收消息。 Redis 客户端可以订阅任意数量的频道。 Redis的发布和订阅 客户端订阅频道发布的消息 频道发布消息 订阅者就可…...

Stata17安装教程

文章目录 **Stata17安装教程**前言系统要求Windows&#xff1a;macOS&#xff1a;Linux&#xff1a; 软件下载正式安装1.下载Stata 17安装包2.双击Stata17.exe开启安装3.接受同意条款&#xff0c;然后继续安装4.选择想要安装的版本&#xff0c;Stata BE为基础版、Stata SE为特别…...

Java PDFBox 提取页数、PDF转图片

PDF 提取 使用Apache 的pdfbox组件对PDF文件解析读取和转图片。 Maven 依赖 导入下面的maven依赖&#xff1a; <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.30</version> &l…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题&#xff0c; 因为搜索范围是有界的&#xff0c;上界最大木板长度补充的全部木料长度&#xff0c;下界最小木板长度&#xff1b; 即left0,right10^6; 我们可以设置一个候选值x(mid)&#xff0c;将木板的长度全部都补充到x&#xff0c;如果成功…...

区块链技术概述

区块链技术是一种去中心化、分布式账本技术&#xff0c;通过密码学、共识机制和智能合约等核心组件&#xff0c;实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点&#xff1a;数据存储在网络中的多个节点&#xff08;计算机&#xff09;&#xff0c;而非…...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器

一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下&#xff0c;音视频内容犹如璀璨繁星&#xff0c;点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频&#xff0c;到在线课堂中知识渊博的专家授课&#xff0c;再到影视平台上扣人心弦的高清大片&#xff0c;音…...