【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…...
小红书发AI写的种草笔记被限流?去i迹把朱雀AIGC检测值降到0实测!
自媒体创作者用 AI 写内容遇到的现实问题——发到小红书/抖音/公众号被平台判定为 AI 内容,流量直接被压制。 去i迹 是这个场景下的首选工具——实测处理后内容朱雀 AIGC 检测值可以做到 0。这个数字看起来夸张但有真实技术支撑。这篇文章从朱雀检测值 0 的实测案例…...
SAP ABAP开发避坑指南:COMMIT WORK和COMMIT WORK AND WAIT到底怎么选?
SAP ABAP开发实战:COMMIT WORK与COMMIT WORK AND WAIT的智能决策框架 在SAP ABAP开发中,数据提交操作的选择往往决定了系统的稳定性和业务数据的可靠性。许多开发者在面对COMMIT WORK和COMMIT WORK AND WAIT时,常常陷入两难:是追求…...
2026年床垫弹簧机生产厂家排名,靠谱选择看这几点
说到选床垫弹簧机生产厂家,很多人上来就问“排名”。但说句实在话,单纯看排名很容易踩坑。国内做这行的企业不少,但能做到技术过硬、服务到位、还能陪你走长远的,其实就那么几家。2026年,与其迷信榜单,不如…...
定氢探头精准把控氢含量——唐山大方汇中仪表
氢含量是影响高品质钢、特殊钢种性能的关键指标,氢脆、气孔等缺陷直接降低钢材使用寿命。定氢探头作为冶金行业氢含量检测专用元件,专为高端特种钢冶炼量身打造,是生产轨道交通钢、钎钢钎具等精品钢材的核心器件。 唐山大方汇中仪表自主研发…...
基于Flappy框架构建生产级AI智能体:从工具封装到任务规划实战
1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目,叫“pleisto/flappy”。乍一看名字,你可能会联想到那个经典的像素鸟游戏,但点进去才发现,这其实是一个关于“Flappy”的AI智能体框架。作为一个在AI和自动化领域摸爬滚…...
PCB原型制造质量对电子产品开发的关键影响
1. PCB原型制造质量的核心价值在电子产品开发流程中,PCB原型阶段常被误解为"简单打样",但实际它承载着远超表面价值的关键使命。我经历过数十个硬件项目后发现,原型板质量直接决定了后续开发60%以上的问题排查效率。当设计团队拿到…...
Android Studio中文语言包:告别英文界面困扰,3分钟打造母语开发环境
Android Studio中文语言包:告别英文界面困扰,3分钟打造母语开发环境 【免费下载链接】AndroidStudioChineseLanguagePack AndroidStudio中文插件(官方修改版本) 项目地址: https://gitcode.com/gh_mirrors/an/AndroidStudioChineseLanguage…...
构建多模型备选策略以应对单一 API 服务不稳定的工程实践
构建多模型备选策略以应对单一 API 服务不稳定的工程实践 1. 多模型接入的价值与挑战 在生产环境中依赖单一模型供应商的API服务存在潜在风险。当服务出现高延迟、配额耗尽或临时故障时,缺乏备选方案可能导致业务中断。Taotoken提供的多模型聚合能力允许开发者通过…...
PicTech 妙言小智免费图片翻译3.0升级:排版优化让体验全面飞跃!
👋 Welcome! Im here to help you create powerful, SEO-optimized content in multiple ways. 🚀 PicTech 妙言小智免费图片翻译3.0升级:排版优化让体验全面飞跃! Meta Description: PicTech 妙言小智免费图片翻译3.0重磅升级&a…...
VisionCull Pro
链接:https://pan.quark.cn/s/c8e22f287518...
