CTF---Web入门第九题 FALSE

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

原文地址:https://www.cnblogs.com/ECJTUACM-873284962/p/7811844.html