news 2026/4/30 22:53:30

ctfshow_web9

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ctfshow_web9

点进网页,发现是一个登录界面,提示“管理员认证”,并且账号输入框默认设置了“admin”,随便输入密码提交发现并有什么响应显示

但是有一次输入密码,发现有密码错误的显示,但是有的有,有的没有。反复尝试后发现是密码的长度问题,当密码长度大于10的时候,会有密码错误的回显

密码长度回显再加上“管理员认证”的提示,打消了准备使用BP爆破的密码的打算(密码长度不一定就是10位以上,但是综合考虑感觉不太会是爆破,可以先尝试其他的方法)
尝试SQL万能密码注入也没有回显,源码中也也没有什么提示,使用dirsearch扫一下网址目录结构,扫出一个robots.txt文件

python dirsearch.py -u https://0817ad67-681d-4a6d-9eba-348070b79e3d.challenge.ctf.show/

查看robots.txt文件,提示index.phps

访问index.phps文件,使用记事本打开,是一段php代码

分析代码: 1. 从POST请求中获取一个名为'password'的参数。 2. 检查密码的长度是否大于10,如果是,则输出"password error"并终止脚本。 3. 构造一个SQL查询语句,查询user表中username为'admin'且password等于`md5($password, true)`的结果。 - 注意:`md5($password, true)`中的第二个参数设置为true,这意味着md5函数返回原始二进制格式(16字节),而不是通常的32字符十六进制字符串。这个二进制数据可能会在拼接进SQL语句时产生问题,因为其中可能包含特殊字符,如单引号等。 4. 执行查询,如果查询返回的行数大于0(即找到了匹配的用户),则输出"登陆成功"和`$flag`

也就是说,我们需要让SQL查询的条件成立,让查询返回至少一行才能输出flag。

我们需要构造一个password值,使得md5($password, true)的二进制结果包含SQL注入 payload,从而让查询条件恒真。

常见的用于SQL注入的md5值:有一个著名的例子是:md5("ffifdyop", true)的结果是:or'6<乱码>。实际上,md5("ffifdyop", true)的二进制结果为:'or'6�]��!r,��b,当这个字符串被放入SQL查询时,由于其中有'or',并且后面有字符,可能会形成一个永真条件。(这个可以作为经验记小本本)

尝试输入密码为ffifdyop,最终得到flag

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 10:03:55

现代Python包管理工具效能对比:uv与pip深度评测

Python包管理在AI项目开发中扮演着至关重要的角色。随着ComfyUI-Manager这类大型AI项目的复杂度不断提升&#xff0c;传统的pip包管理方式已难以满足高效开发的需求。本文基于ComfyUI-Manager v3.38.3版本&#xff0c;深入剖析新一代包管理器uv与传统pip在实际项目中的性能表现…

作者头像 李华
网站建设 2026/4/17 22:29:58

Bark语音生成模型:从零到精通的完整实战指南

Bark语音生成模型&#xff1a;从零到精通的完整实战指南 【免费下载链接】bark 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/bark 在AI技术飞速发展的今天&#xff0c;文本到语音转换技术已经成为众多应用场景的核心需求。无论是为视障人士提供辅助工具&a…

作者头像 李华
网站建设 2026/4/25 13:44:28

Docker清道夫?在极空间NAS上部署自动化清理助手『PruneMate』

Docker清道夫&#xff1f;在极空间NAS上部署自动化清理助手『PruneMate』 哈喽小伙伴们好&#xff0c;我是Stark-C~ 我想绝大多数的NAS用户都和我一样&#xff0c;没事的时候折腾最多的就是玩玩Docker容器。今天装个新镜像&#xff0c;明天试个新服务&#xff0c;后天又看到别…

作者头像 李华
网站建设 2026/4/24 18:48:00

儿童故事机内置语音引擎:选用EmotiVoice的理由

儿童故事机内置语音引擎&#xff1a;为何选择 EmotiVoice 在儿童智能硬件市场快速发展的今天&#xff0c;家长不再满足于“能讲故事”的电子设备。他们希望手中的故事机不只是一个会发声的玩具&#xff0c;而是一个能像妈妈一样温柔、有情绪、有温度的陪伴者。这种期待背后&…

作者头像 李华
网站建设 2026/4/20 7:32:10

17、构建增强现实应用:从标记识别到社交数据展示

构建增强现实应用:从标记识别到社交数据展示 1. 标记识别增强现实应用 在开发增强现实(AR)应用时,使用工具包可以避免重复造轮子,让开发者专注于业务层和功能开发。以基于标记的 AR 应用为例,我们可以借助 String 的 AR SDK 从单视图应用开始构建。 启动与运行 应用中…

作者头像 李华
网站建设 2026/4/22 19:23:12

21、面部识别技术与AR应用开发

面部识别技术与AR应用开发 1. 项目前期准备 在开始进行面部识别相关开发前,需要做一些准备工作: - 添加文件和框架 :要将 Reachability.h 和 Reachability.m 文件(位于 External/Reachability 文件夹中)添加到项目里,同时还要添加 CFNetwork 、 SystemConfi…

作者头像 李华