当前位置: 首页 > news >正文

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

http://www.cnnetsun.cn/news/118578.html

相关文章:

  • 如何在5分钟内用Mermaid语法轻松生成专业流程图?
  • 大型语言模型服务工具:让AI开发像喝柠檬水一样清爽 [特殊字符]
  • 如何快速掌握Mermaid在线编辑器:面向技术文档编写者的完整教程
  • WGPU性能调优实战:从卡顿到流畅的终极指南
  • 8、iOS 开发中的音频与视频处理
  • 18、构建社交增强现实应用:从坐标存储到社交上下文添加
  • HFT-Orderbook:高性能交易订单簿的终极解决方案
  • veScale:PyTorch原生大语言模型训练框架完整指南
  • Easy Effects终极音效配置指南:50+专业预设深度解析
  • 嵌入式Web服务器实战:STM32Cube与Mongoose完美融合
  • EmotiVoice语音抗噪能力测试:嘈杂环境可用性
  • 拒绝制造虚假情感依赖:产品设计准则
  • 推荐12个中英文降AIGC率工具,亲测有效!(含免费)
  • Taskflow:现代C++并行编程框架深度解析
  • Strapi无头CMS架构深度解析与现代化应用实践
  • 高效实现!分布式链路追踪:TraceIdFilter + MDC + Skywalking
  • EmotiVoice声音克隆功能实测:5秒样本还原度高达90%以上
  • AI服务热更新终极方案:零停机模型动态替换完整指南
  • 彻底告别语言障碍:Agent Zero多语言界面配置终极指南
  • 全国铁路货运站点分布图使用全攻略
  • AMD GPU终极指南:快速部署FlashAttention实现3-5倍AI加速
  • 从零开始掌握Stability AI视频生成:5步解决常见问题并提升效果
  • 只需3秒音频样本!EmotiVoice实现精准声音克隆
  • EmotiVoice日志分析:定位语音生成异常原因
  • Nacos配置推送失败的5个致命陷阱及终极修复方案
  • Sealos动态PVC管理终极指南:三步告别存储运维烦恼
  • 基于SpringBoot+Vue的滑雪场管理系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】
  • Java Web 短流量数据分析与可视化abo系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】
  • 【计算机毕业设计案例】基于springboot+微信小程序的DIY电脑推荐与交流平台DIY组装电脑踩坑,手残党DIY装机分享(程序+文档+讲解+定制)
  • Bazel终极指南:快速构建大规模多语言项目的完整解决方案