news 2026/6/13 13:52:01

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/6/13 4:13:57

如何快速构建AI工作流:cube-studio可视化编排终极指南

如何快速构建AI工作流&#xff1a;cube-studio可视化编排终极指南 【免费下载链接】cube-studio cube studio开源云原生一站式机器学习/深度学习AI平台&#xff0c;支持sso登录&#xff0c;多租户/多项目组&#xff0c;数据资产对接&#xff0c;notebook在线开发&#xff0c;拖…

作者头像 李华
网站建设 2026/6/12 15:51:34

发现安全问题如何上报?EmotiVoice响应流程

发现安全问题如何上报&#xff1f;EmotiVoice响应流程 在虚拟主播直播中突然听到“自己”说出从未说过的话&#xff0c;或是客服系统里传来疑似熟人的声音下达转账指令——这些听起来像科幻电影的情节&#xff0c;正随着高表现力语音合成技术的普及变得触手可及。EmotiVoice作为…

作者头像 李华
网站建设 2026/6/13 4:18:08

6、iOS 开发:位置服务与传感器应用

iOS 开发:位置服务与传感器应用 1. 位置服务之地图标注 在地图应用中,标注特定位置是一项重要功能。以下是添加地图标注的详细步骤: 1. 创建标注类 :在项目导航器中右键选择“New File”,在“Cocoa Touch”类别下选择“Objective - C 类模板”,创建一个名为“MapAnn…

作者头像 李华
网站建设 2026/6/13 12:32:12

9、iOS 相机与视频捕获开发全解析

iOS 相机与视频捕获开发全解析 1. 使用相机 在 Xcode 中切换到 PhotoViewController.m 文件,文件底部之前添加的动作方法此时为空,将其按以下代码进行扩展: - (IBAction)loadPhotoPicker:(id)sender {UIImagePickerController *imagePicker = [[UIImagePickerControll…

作者头像 李华
网站建设 2026/6/12 19:59:39

Flexbox Froggy移动端体验重构:从可用性到愉悦性的技术升级

Flexbox Froggy移动端体验重构&#xff1a;从可用性到愉悦性的技术升级 【免费下载链接】flexboxfroggy A game for learning CSS flexbox &#x1f438; 项目地址: https://gitcode.com/gh_mirrors/fl/flexboxfroggy 你有没有试过在手机上学习CSS Flexbox&#xff0c;却…

作者头像 李华