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

[BJDCTF2020]Easy MD51

1.进去以后看到一个熟悉的表单页面。

2.那我们先三板斧试试。试了以后发现没有什么用。

3.那我们转战f12,源码没发现什么东西。那我看看网络里面有没有什么东西。

4.发现一个Hint。这里要说一下Hint这个东西,在CTF里面。Hint一般都是提示什么的。我们在找线索的时候看到了一定要着重关注一下。

select * from ‘admin’ where password=md5($pass,true)这段代码就是我们的线索了,前面的一段是查询数据库中的password。重点在于后面的

md5($pass, true)返回16 字节原始二进制数据(可能包含可打印和非打印字符)。

也就是说我们输入的东西要转成16字节的原始二进制数据,然后才能被password读取。这里写脚本来得到答案很麻烦,我们也和其他解题方式一样采用万能的ffifdyop。这里说一下ffifdyop哈希了以后是276f722736c95d99e921722cf9ed621c,这个字符串前几位刚好是 'or '6

所以是永真的。

5.然后进入到这么一个页面。那显而易见,东西肯定藏在源代码里面。

6.果然有东西

7.我们一行行审计下去

$a = $GET['a'];和$b = $_GET['b'];这两行的意思是在URL中取a的值赋值给$a,取b的值赋值给$b

重点在于下面这两行if($a != $b && md5($a) == md5($b))

&&是同时满足两个条件,那可以看到,a的值不能等于b。但是a和b的md5值要相等。这里还是弱比较。

弱比较是个什么东西,这里说一下。(摘自AI)

弱比较 (==):只比较,不比较类型。在比较前,PHP 会自动将不同类型的变量转换成同一类型再进行比较。

弱比较的东西比较多,这里的答案也很多。我们这里选一种最容易理解的。

?a[]=1&b[]=2

这段代码的意思是,a是个数组值等于1,b也是个数组值等于2,那MD5弱比较里面,不管你值是多少,都是NULL,那不就是相等了吗?

8.进入下一关

9.道理是一样的,传参的方式变成了POST,建议使用hackbar。弱等于变成了强等于

这里提一下强等于和弱等于的区别

比较方式运算符比较内容是否进行类型转换
弱比较==只比较值
强比较===比较值和类型

10.那我们还是根据md5()函数不能处理数组的原理来构造payload

param1[]=1&param2[]=2

11.得到flag

http://www.jsqmd.com/news/803595/

相关文章:

  • 独立开发者如何利用Taotoken低成本构建多模型支持的AI应用
  • 独立开发者如何利用Taotoken快速为自己的产品集成AI功能
  • 增量市场的庖丁解牛
  • 2026 毕业季降 AI 率排行榜:5 款高效工具对比测评 - 殷念写论文
  • 避坑指南:用R语言的survival包做Cox回归时,你可能会遇到的5个错误及解决办法
  • 从RNNoise到WebRTC:手把手教你将开源降噪模型集成到实时音视频项目中
  • 《2026 年企业高效使用猎聘的全流程操作指南》 - 速递信息
  • Java十道高频面试题(一)
  • AI推广的核心原理是什么?
  • 2026年安阳直流电弧炉与工业固废处理设备深度横评指南|优能德电气 18537242761 - 企业名录优选推荐
  • 从零实现分布式存储系统(第二阶段):网络层 + NameNode + DataNode + 容错机制
  • 2026雅思线上小班选课攻略:避开坑班,选择高提分小班课程 - 品牌2025
  • 从触摸事件到RunLoop:一次点击背后,iOS系统到底为你做了哪些事?
  • 别再盲信SOTA!DeepSeek HumanEval原始日志曝光:37次超时、22个未覆盖corner case,附可复用的稳定性加固补丁
  • 模拟真人手写软件,支持随机调节
  • 从无人机飞控到机械臂:四元数如何解决万向锁这个‘老大难’问题?
  • FAA Part 107商业无人机法规深度解析:从合规操作到进阶应用
  • 硬件安全验证:Assertain框架与LLM生成断言实践
  • Robodyssey机器人教育:从STEM理念到项目实践,点燃孩子科技兴趣
  • 苏锡常制造企业短视频抖音号视频号优化运营推广公司实力排行盘点 - 速递信息
  • 2026宁波婚纱摄影排名|品牌硬实力多维对比 - charlieruizvin
  • 【数据科学】【会计学】第八篇 预算制定领域
  • 2026锁扣管桩服务商推荐:围堰支护/基坑支护哪家好选型指南 - 速递信息
  • 告别枯燥语法!深度拆解 easy-vibe:2026 年初学者迈入“Vibe Coding”的第一课
  • 专业级Windows系统依赖修复:3步彻底解决Visual C++运行库问题
  • AI Agent开源情报工具箱:Bash脚本自动化OSINT侦察实践
  • 告别格式烦恼:北航毕业论文LaTeX模板的5步终极指南
  • 量子计算威胁下的密码安全:从后量子密码到密码敏捷性实战解析
  • 清末阜阳武将程文炳的家国判断
  • 考研复试被问懵?别怕!这份高数核心概念速查手册(含泰勒展开、傅里叶变换)帮你稳住