当前位置: 首页 > 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…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...