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