CTF---Web入门第九题 FALSE

介绍如何利用SHA函数的一个漏洞,通过传递特殊类型的参数绕过条件判断,实现hash碰撞。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FALSE分值:10

  • 来源: iFurySt
  • 难度:易
  • 参与人数:4567人
  • Get Flag:2144人
  • 答题人数:2157人
  • 解题通过率:99%
PHP代码审计

hint:sha1函数你有认真了解过吗?听说也有人用md5碰撞o(╯□╰)o

格式:CTF{}

解题链接: http://ctf5.shiyanbar.com/web/false.php

原题链接:http://www.shiyanbar.com/ctf/1787

【解题报告】

  这是我入门Web开始写的第九道题,打开解题链接,这道题是道SHA!先做个简介:

Hash函数

SHA由NIST和NSA在1993年提出,修订版于1995年发布,称作SHA-1,它作为美国DSA数字签名方案的标准

FIPS 180-1 1995,Internet RFC3174,注意,算法是SHA,标准称为SHS,产生160-bit hash值

现在作为建议的hash算法,基于MD4的设计

题目意思是要传进两个值,这两个值不相等,然后它们的hash值又要相等,这是一个很矛盾的事情,hash碰撞是不可能的,不存在两个不同的值,然后它们的hash值还会相等,这该怎么办呢?这道题用到的是SHA函数的一个漏洞!

SHA函数默认传值的类型为字符串型,我们可以让它不传字符串型,传递其它类型,比如我们可以传入一个数组,这样它就会返回一个false,两个false会相等,通过这个方式可以绕过条件,样式如下:

http://ctf5.shiyanbar.com/web/false.php?name[]=a&password[]=b

然后我们回车去访问这个网站试试

直接就得到一个Flag,这就是本题的Key

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值