【Web安全】sqlmap的使用笔记及示例
【Web安全】sqlmap的使用笔记
文章目录
- 【Web安全】sqlmap的使用笔记
- 1. 目标
- 2. 脱库
- 2.1. 脱库(补充)
- 3. 其他
- 3.1. 其他(补充)
- 4. 绕过脚本tamper讲解
1. 目标
| 操作 | 作用 | 必要示例 |
|---|---|---|
| -u | 指定URL,检测注入点 | sqlmap -u 'http://example.com/?id=1' |
| -m | 指定txt,里面有很多个URL | sqlmap -m urls.txt |
| -r | 检测POST请求的注入点,使用BP等工具抓包,将http请求内容保存到txt文件中 | sqlmap -r request.txt |
| –cookie | 指定cookie的值,单/双引号包裹 | sqlmap -u "http://example.com?id=x" --cookie 'session_id=1234' |
| -D | 指定数据库 | sqlmap -u 'http://example.com/?id=1' -D mydatabase |
| -T | 指定表 | sqlmap -u 'http://example.com/?id=1' -D mydatabase -T mytable |
| -C | 指定字段 | sqlmap -u 'http://example.com/?id=1' -D mydatabase -T mytable -C mycolumn |
2. 脱库
| 操作 | 作用 | 必要示例 |
|---|---|---|
| -b | 获取数据库版本 | sqlmap -u <url> -b |
| –current-db | 当前数据库 | sqlmap -u <url> --current-db |
| –dbs | 获取数据库 | sqlmap -u <url> --dbs |
| –tables | 获取表 | sqlmap -u <url> --tables -D <database> |
| –columns | 获取字段 | sqlmap -u <url> --columns -D <database> -T <table> |
| –schema | 字段类型 | sqlmap -u <url> --schema -D <database> |
| –dump | 获取数据 | sqlmap -u <url> --dump -D <database> -T <table> |
| –start | 开始的行 | sqlmap -u <url> --start=1 -D <database> -T <table> |
| –stop | 结束的行 | sqlmap -u <url> --stop=10 -D <database> -T <table> |
| –search | 搜索库表字段 | sqlmap -u <url> --search -C <column> |
| –tamper | WAF绕过 | sqlmap -u <url> --tamper=<tamper_script> |
2.1. 脱库(补充)
- –current-db获取的是当前的数据库名称,而–dbs获取的是所有的数据库名称
- WAF 指的是“Web Application Firewall”,即网络应用防火墙,例如sqlmap -u ‘http://xx/?id=1’ --tamper ‘space2comment.py’,sqlmap有很多内置的绕过脚本(脚本按照用途命名),在/usr/share/sqlmap/tamper/目录下
- –search:如果你正在寻找包含特定关键字的列,这个命令将列出所有包含该关键字的列的名称及其所属的表和数据库。
3. 其他
| 操作 | 作用 | 必要示例 |
|---|---|---|
| –batch | 不再询问确认 | sqlmap -u 'http://example.com/?id=1' --batch |
| –method=GET | 指定请求方式 | sqlmap -u 'http://example.com/?id=1' --method=GET |
| –random-agent | 随机UA | sqlmap -u 'http://example.com/?id=1' --random-agent |
| –user-agent | 自定义UA | sqlmap -u 'http://example.com/?id=1' --user-agent 'MyUserAgent' |
| –referer | 自定义referer | sqlmap -u 'http://example.com/?id=1' --referer 'http://referer.com' |
| –proxy=“123” | 代理 | sqlmap -u 'http://example.com/?id=1' --proxy='http://123.123.123.123:8080' |
| –threads 10 | 线程数1~10 | sqlmap -u 'http://example.com/?id=1' --threads 10 |
| –level=1 | 测试等级1~5 | sqlmap -u 'http://example.com/?id=1' --level=1 |
| –risk=1 | 风险等级0~3 | sqlmap -u 'http://example.com/?id=1' --risk=1 |
3.1. 其他(补充)
- 测试等级:这个等级决定了 SQLMap 将尝试的测试数量和类型。较高的等级意味着 SQLMap 将执行更多类型的测试,这些测试可能更复杂,有时也更具侵入性。例如,在较低的等级上,SQLMap 可能只测试最常见的注入类型,而在较高等级上,它会尝试更多不常见的或复杂的注入技术。
- 风险等级:风险等级影响测试的侵入性。较高的风险等级可能会运行更具侵入性的测试,这些测试可能会对数据库造成更大的负担或风险。例如,一些高风险测试可能包括执行实际的数据库操作(如更新或删除数据),而低风险测试则尽量避免这种潜在的破坏性操作。
| 操作 | 作用 | 必要示例 |
|---|---|---|
| -a | 自动识别和测试所有参数 | sqlmap -u 'http://example.com/?id=1' -a |
| –current-user | 获取当前数据库用户 | sqlmap -u 'http://example.com/?id=1' --current-user |
| –is-dba | 是不是数据库管理员 | sqlmap -u 'http://example.com/?id=1' --is-dbs |
| –users | 枚举数据库服务器上的用户 | sqlmap -u 'http://example.com/?id=1' --users |
| –privileges | 枚举数据库用户的权限 | sqlmap -u 'http://example.com/?id=1' --privileges |
| –passwords | 尝试获取数据库用户的密码 | sqlmap -u 'http://example.com/?id=1' --passwords |
| –hostname | 获取数据库服务器的主机名 | sqlmap -u 'http://example.com/?id=1' --hostname |
| –statements | 捕获并显示SQL语句 | sqlmap -u 'http://example.com/?id=1' --statements |
4. 绕过脚本tamper讲解
sqlmap在默认情况下除了使用CHAR()函数防止出现单引号,没有对注入的数据进行修改,我们还可以使用–tamper参数对数据进行修改来绕过WAF等设备,其中部分脚本主要用正则模块替换攻击载荷字符编码的方式尝试绕过WAF的检测规则:
sqlmap XXXXX --tamper "模块名"
sqlmap内置了53个脚本,其中常见的是:
- apostrophemask.py:将引号替换为UTF-8字符,用于过滤单引号
- base64encode.py:替换为base64编码
- multiplespaces.py:围绕SQL关键字添加多个空格
- space2plus:用+号替换空格
- nonrecursivereplacement.py:作为双重查询语句,用双重查询代替预定义的SQL关键字,使适用于非常弱的自定义过滤器,例如将SELECT替换为空
- space2randomblank.py:将空格替换为其他的有效字符
- unionalltounion.py:将UNION ALL SELECT替换为UNION SELECT
- securesphere.py:追加特制的字符串
- space2hash.py:将空格替换为#号,并添加一个随机字符串和换行符
- space2mssqlblank.py(mssql):将空格替换为其他空符号
- space2mssqlhash.py:将空格替换为#号,并添加一个换行符
相关文章:
【Web安全】sqlmap的使用笔记及示例
【Web安全】sqlmap的使用笔记 文章目录 【Web安全】sqlmap的使用笔记1. 目标2. 脱库2.1. 脱库(补充) 3. 其他3.1. 其他(补充) 4. 绕过脚本tamper讲解 1. 目标 操作作用必要示例-u指定URL,检测注入点sqlmap -u http://…...
机器学习第12天:聚类
文章目录 机器学习专栏 无监督学习介绍 聚类 K-Means 使用方法 实例演示 代码解析 绘制决策边界 本章总结 机器学习专栏 机器学习_Nowl的博客-CSDN博客 无监督学习介绍 某位著名计算机科学家有句话:“如果智能是蛋糕,无监督学习将是蛋糕本体&a…...
若依框架导出下载pdf/excel以及导入打印等
一、打印文件 // 报表打印 handlePdf(row) {wayAPI(row.billcode).then((res) > {var binaryData [];binaryData.push(res);let url window.URL.createObjectURL(new Blob(binaryData, {type: "application/pdf"})); window.open("/static/pdf/web/v…...
汇编-PROC定义子过程(函数)
过程定义 过程用PROC和ENDP伪指令来声明, 并且必须为其分配一个名字(有效的标识符) 。目前为止, 我们所有编写的程序都包含了一个main过程, 例如: 当要创建的过程不是程序的启动过程时, 就用RET指令来结束它。RET强制…...
服务器主机安全的重要性及防护策略
在数字化时代,服务器主机安全是任何组织都必须高度重视的问题。无论是大型企业还是小型企业,无论是政府机构还是个人用户,都需要确保其服务器主机的安全,以防止数据泄露、网络攻击和系统瘫痪等严重后果。 一、服务器主机安全的重…...
PDF转成图片
使用开源库Apache PDFBox将PDF转换为图片 依赖 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>fontbox</artifactId><version>2.0.4</version> </dependency> <dependency><groupId>org.apache…...
Qt无边框设计
//指定窗口为无边框 this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowMinMaxButtonsHint);重写鼠标事件: void mousePressEvent(QMouseEvent* event) override; void mouseMoveEvent(QMouseEvent* event) override;定义位置: QPoint dif…...
规则引擎Drools使用,0基础入门规则引擎Drools(二)高级语法
文章目录 系列文章索引五、规则属性1、enabled属性2、dialect属性3、salience属性4、no-loop属性5、activation-group属性6、agenda-group属性7、auto-focus属性8、timer属性9、date-effective属性10、date-expires属性 六、Drools高级语法1、global全局变量2、query查询3、fun…...
C语言二十三弹---求第N项斐波那契数列的值
C语言求第N项斐波那契数列的值 定义:斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89…自然中的斐波那契数列࿰…...
Pickcode:教孩子们编码的新视觉语言
Pickcode 通过视觉课程、聊天机器人、游戏和绘图来教授编程。 Pickcode 是一种新的语言和编辑器,可以直观地指导用户编写代码来制作聊天机器人、动画图画和游戏。Pickcode 旨在让用户在学习更高级的语言之前能够充满信心地开始学习编码。 Pickcode 可视化编程语言…...
乐划锁屏插画大赏热度持续,进一步促进价值内容的创造与传播
锁屏,原本只是为了防止手机在口袋里“误触”而打造的功能,现如今逐渐成为文化传播领域的热门入口。乐划锁屏不断丰富锁屏内容和场景玩法,通过打造“乐划锁屏插画大赏”系列活动为广大内容创作者提供了更多展示自我的机会,丰富平台内容。 从2020年到2023年,乐划锁屏插画大赏已连…...
【ArcGIS Pro微课1000例】0034:矢量数据几何校正案例(Spatial Adjustment)
本案例讲解矢量数据几何校正,根据一个矢量数据去校正另外一个矢量数据。 文章目录 一、加载实验数据二、空间校正三、注意事项一、加载实验数据 在ArcGIS Pro中加载数据效果如下: design:需要校正的数据图层plan+roadcenter:目标图层可以看到,design图层没有在正确的位置…...
2023亚太杯数学建模B题:玻璃温室中的微气候法规,思路模型代码论文
问题B 玻璃温室中的微气候法规 赛题思路:思路获取见文末名片,第一时间更新 温室作物的产量受到各种气候因素的影响,包括温度、湿度和风速[1]。其中,适 宜的温度和风速是植物生长[2]的关键。为了调节玻璃温室内的温度、风速等气…...
Eclipse常用设置-乱码
在用Eclipse进行Java代码开发时,经常会遇到一些问题,记录下来,方便查看。 一、properties文件乱码 常用的配置文件properties里中文的乱码,不利于识别。 处理流程:Window -> Preferences -> General -> Ja…...
MySQL面试,MySQL事务,MySQL锁,MySQL集群,主从,MySQL分区,分表,InnoDB
文章目录 数据库-MySQLMySQL主从、集群模式简单介绍1、主从模式 Replication2、集群模式3、主从模式部署注意事项 UNION 和 UNION ALL 区别分库分表1.垂直拆分2、水平拆分 MySQL有哪些数据类型1、整数类型**,2、实数类型**,3、字符串类型**,4…...
HarmonyOS应用开发者认证题目满分指南
为了帮助大家快速的上手HarmonyOS应用程序开发,官方制作了一些免费的课程:HarmonyOS第一课。每个课程后面都有一些练习题,下面就是这些题目的满分答案。 【习题】运行Hello World工程 判断题 1.DevEco Studio是开发HarmonyOS应用的一站式集…...
openssl+ SM2 + linux 签名校验开发实例(C++)
文章目录 一、SM2校验理论基础二、SM2签名校验开发实例(C) 一、SM2校验理论基础 SM2的校验过程是使用椭圆曲线上的公钥验证签名的有效性。以下是SM2校验的理论基础相关知识点: SM2签名算法: SM2的校验基于椭圆曲线数字签名算法&a…...
有关Vue、微信小程序、UniApp中的CSS中的宽度width单位、自适应
在Vue中,可以使用以下单位来设置宽度(width) 像素(px):最常用的单位,表示一个绝对长度单位。例如,width: 200px; 表示宽度为200像素。百分比(%):…...
黑马React18: ReactRouter
黑马React: ReactRouter Date: November 21, 2023 Sum: React路由基础、路由导航、导航传参、嵌套路由配置 路由快速上手 1. 什么是前端路由 一个路径 path 对应一个组件 component 当我们在浏览器中访问一个 path 的时候,path 对应的组件会在页面中进行渲染 2. …...
算法刷题-动态规划-1
算法刷题-动态规划-1 不同路径不同路径||方法一:方法二 第N个泰波那契数递归写法滚动数组 三步问题递归操作滚动数组 使用最小画法爬楼梯递归 解码方法方法一方法二:(大佬讲解) 不同路径 //机器人不同的路径进入到指定的地点 publ…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...
