解题思路

打开靶场,题目提示是sql注入

 输入数据,判断下闭合

1'1'
123

报错:

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1''' at line 1

 报错提示数据库类型是mysql,并且可以发现一个1'和123不见了,报错的是'1'''。

这里可以获取两个信息

一是,用户名和密码是分开查询的,因为只报错了用户名部分,123不见了,如果是同一条语句查询,后面123也会显示。

二是,闭合为单引号,因为一个1'不见了,说明一个'将前面的单引号闭合,导致第一个1消失。为什么报错'1''',先去掉报错信息自动添加的单引号,变成1'',再去掉我们自己填的1',剩下的单引号就是语句查询的单引号,也就是我们提前闭合后,语句落下的单引号,也证实了这是单引号闭合。

接下来可以尝试,密码输入1'1',发现不报错,可以猜测,密码根本就没有去查询... 

输入万能永真 用户名和密码:

1' or 1=1#

 

字符探测可以知道,是or被过滤了,使用大小写和双写绕过没有什么用

但是这里union 和 select 没有被过滤,用这个探测列数

1' union select 1,2,3,4#
Error: The used SELECT statements have a different number of columns
1' union select 1,2,3#

 三列时不报错,说明是三列。

到这里,手工注入就可以倒下了..因为后面会发现括号也被过滤了..

只能看有没有更多的信息,然后抓包查看响应包、或者查看响应页面网页源码,可以发现一串编码

<!--MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VSVZRNRFHOPJ5-->

 用AI或者其他工具,可以发现是用base32编码的,解码:

c2VsZWN0ICogZnJvbSB1c2VyIHdoZXJlIHVzZXJuYW1lID0gJyRuYW1lJw==

 这个就比较明显是base64,解码:

select * from user where username = '$name'

 也没啥信息,证实了我们之前说的...只查询了用户名。

后面就只能去看源码了,关键源码:

if($arr[1] == "admin"){if(md5($password) == $arr[2]){echo $flag;}else{die("wrong pass!");}}

 可以看到1列必须是admin,然后2列必须是password的md5值的加密,才能输出flag。

那么这个数组1,2是什么呢。就是我们语句的2、3列。

1' union select 1,2,3#

1列呢,是flag,2列是我们的用户名,我们要填入admin,3列则是填入密码md5值的加密。

最坑的地方是,那么密码是什么?

结合前面说的,密码都没查询语句,其实,这里的3列密码就是我们自己输入的密码...

那么加密123456

e10adc3949ba59abbe56e057f20f883e

然后Payload就是输入用户名密码:

1' union select 1,'admin','e10adc3949ba59abbe56e057f20f883e'#
123456

成功显示

总结

结合代码审计的sql注入题,挺坑的,我感觉不如直接给源码得了,或者结合下文件包含什么的... 

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

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

相关文章

“AI 曼哈顿计划”:科技竞赛还是人类挑战?

美国国会下属的经济与安全审查委员会已将“推动建立并资助一项堪比曼哈顿计划的通用人工智能研发项目”列为其对国会的核心建议之一&#xff0c;明确显示出对AI竞赛战略意义的高度重视。与此同时&#xff0c;美国能源部在近几个月中多次公开将人工智能的突破比作“下一场曼哈顿…

音频信号的预加重:提升语音清晰度

一、预加重介绍预加重是一种信号处理技术&#xff0c;主要用于增强音频信号中的高频成分。由于人类语音的频谱特性&#xff0c;尤其是在辅音和音调的表达上&#xff0c;高频成分对于语音的清晰度至关重要。然而&#xff0c;在录音和传输过程中&#xff0c;这些高频成分往往会受…

WebSocket实战:实现实时聊天应用 - 双向通信技术详解

目录一、WebSocket&#xff1a;实时通信的"高速公路"1.1 HTTP的短板&#xff1a;永远的"单相思"1.2 WebSocket的优势&#xff1a;真正的"双向对话"二、30分钟搭建聊天服务器2.1 环境准备2.2 WebSocket配置类2.3 核心消息处理器三、前端实现&…

宏集案例 | 基于CODESYS的自动化控制系统,开放架构 × 高度集成 × 远程运维

​​案例概况客户&#xff1a;MACS Sterilisationsanlagen GmbH&#xff08;Ermafa Environmental Technologies GmbH 旗下&#xff09; 应用场景&#xff1a;医疗与感染性废弃物的无害化处理控制系统应用产品&#xff1a;宏集Berghof高性能控制器设备&#xff08;一&#xff0…

学习JNI 二

创建一个名为Learn1项目&#xff08;Android Studio&#xff09;。一、项目结构二、配置 build.gradlebuild.gradle.kts(:app)plugins {alias(libs.plugins.android.application)alias(libs.plugins.jetbrains.kotlin.android) }android {namespace "com.demo.learn1&quo…

基于Spring Boot+Vue的DIY手工社预约管理系统(Echarts图形化、腾讯地图API)

2.10 视频课程管理功能实现2.11手工互动&#xff08;视频弹幕&#xff09;2.8预约设置管理功能实现&#x1f388;系统亮点&#xff1a;Echarts图形化、腾讯地图API&#xff1b;文档包含功能结构图、系统架构图、用例图、实体属性图、E-R图。一.系统开发工具与环境搭建1.系统设计…

leetcode 每日一题 1353. 最多可以参加的会议数目

更多技术访问 我的个人网站 &#xff08;免费服务器&#xff0c;没有80/443端口&#xff09; 1353. 最多可以参加的会议数目 给你一个数组 events&#xff0c;其中 events[i] [startDayi, endDayi] &#xff0c;表示会议 i 开始于 startDayi &#xff0c;结束于 endDayi 。 …

AI+智慧园区 | 事件处置自动化——大模型重构园区治理逻辑

在智慧园区的建设浪潮中&#xff0c;事件管理一直是园区高效运营的关键环节。考拉悠然所推出的大模型 智慧园区解决方案&#xff0c;在事件智能闭环管理方面独树一帜&#xff0c;为园区的日常运营编织了一张严密、高效、智能的管理网络&#xff0c;实现了从事件感知到处置的全…

FFmpeg Windows安装

FFmpeg 用于音频文件转换 Builds - CODEX FFMPEG gyan.dev ffmpeg-release-full.7z 下载完成之后 zip解压 大概就是 ffmpeg/ └── bin/ └── ffmpeg.exe 配置环境变量 ffmpeg -version 有可能idea还是找不到命令 就把命令路径写在程序里 例如

【2025/07/10】GitHub 今日热门项目

GitHub 今日热门项目 &#x1f680; 每日精选优质开源项目 | 发现优质开源项目&#xff0c;跟上技术发展趋势 &#x1f4cb; 报告概览 &#x1f4ca; 统计项&#x1f4c8; 数值&#x1f4dd; 说明&#x1f4c5; 报告日期2025-07-10 (周四)GitHub Trending 每日快照&#x1f55…

JVM 基础 - JVM 内存结构

前言 本文主要对JVM 内存结构进行讲解&#xff0c;注意不要和Java内存模型混淆了。 运行时数据区 内存是非常重要的系统资源&#xff0c;是硬盘和 CPU 的中间仓库及桥梁&#xff0c;承载着操作系统和应用程序的实时运行。JVM 内存布局规定了 Java 在运行过程中内存申请、分配…

【案例】二手车交易价格预测-472

二手车交易价格预测 数据来源数据特征探索构建模型参考数据来源 天池 https://tianchi.aliyun.com/competition/entrance/231784/information 数据特征探索 目标特征工程做好之后,能同时进行 lightgbm catboost 神经网络等模型,所以尽量都转换为数值类特征。 如果仅仅是使用…

【Spring】Java SPI机制及Spring Boot使用实例

目录 一、SPI是什么 1.1 SPI 和 API 有什么区别&#xff1f; 二、使用场景 三、使用介绍 四、Spring Boot实例运用 五、总结 一、SPI是什么 SPI全称Service Provider Interface&#xff0c;是Java提供的一套用来被第三方实现或者扩展的API&#xff0c;它可以用来启用框架…

多维度数据资产测绘技术在安全管控平台中的应用实践

一、数据资产治理困境&#xff1a;从 “黑箱” 到 “可见性” 的行业挑战在数字化转型加速的当下&#xff0c;企业数据资产呈现爆发式增长&#xff0c;而传统资产梳理手段因维度单一、时效性差&#xff0c;导致 “资产黑箱” 问题频发。某省级运营商曾在安全评估中发现&#xf…

搭建react18+项目过程中遇到的问题(vite)

问题1. 页面中使用import.meta.env获取环境变量有红色波浪线提示错误按提示给ts.config.ts文件中的compilerOptions增加了"module": “esnext” (es2020 | es2022 | system)这几个也不行 但是另一个问题出现了安装的第三方库引入报错了 按照提示我们将module改成了’…

Linux epoll简介与C++TCP服务器代码示例

Linux epoll 简介与示例 TCP 服务器 1. 为什么要用 epoll select/poll 每次调用都把全部文件描述符从用户态拷贝到内核态,随连接数增长而线性变慢;epoll 采用事件驱动+就绪队列的方式,内核只把“已就绪”的描述符返回给用户态,O(1) 规模扩展;支持 边沿触发 Edge-Triggere…

IPv4和IPv6双栈配置

根据IPv6的学习&#xff0c;完成以下一个简单的双栈配置案例&#xff0c;具体结构如下图所示。PC1的 IPv4&#xff1a;192.168.2.1/24 、IPv6&#xff1a;2001:db8:2::2/64&#xff0c;PC2的 IPv4&#xff1a;192.168.3.1/24 、IPv6&#xff1a;2001:db8:3::2/64总共需要两台PC…

Robyn高性能Web框架系列08:使用 Rust 扩展 Robyn

使用 Rust 扩展 RobynPyO3 Bridge示例&#xff1a;一个简单的Rust扩展1、安装必须的组件2、初始化Rust项目3、编写Rust代码4、在Robyn中使用Rust代码在“Robyn高性能Web框架系列07&#xff1a;多进程、性能调优”一节中&#xff0c;我们讲解了Robyn丰富的性能调优方式&#xff…

利用Pandas进行条件替换与向前填充

目录一、需求二、实现代码案例代码详细解释1. 导入库和创建数据2. 条件替换与填充a. 条件掩码 - mask()b. 向前填充 - ffill()c. 类型转换 - astype(int)3. 打印结果三、实际应用场景四、可能的变体五、总结一、需求 示例数据&#xff1a; 项 目 0 1 0 1 0 1 2 0 2 3 …

springboot数据脱敏(接口级别)

文章目录自定义脱敏注解脱敏注解接口脱敏注解反射AOP实现字段脱敏切面定义脱敏策略脱敏策略的接口电话号码脱敏策略邮箱脱敏不脱敏姓名脱敏身份证号脱敏JacksonAOP实现脱敏定义序列化序列化实现脱敏切面定义JacksonThreadLocal拦截器实现脱敏定义ThreadLocal自定义序列化序列化…