CTF中的sha1和MD5碰撞
关于在CTF中的sha1和MD5碰撞
MD5
php中 == 是弱类型,比如 123 == 123abc 是true
而 === 是恒等计算符,同时检查表达式的值和类型 ,==不会检查。
在CTF中md5碰撞基本是不可能的所以在MD5中”0e”开头,剩下的全部为数字,不管数字是多少 == 恒成立,所以”0e” == 0
s878926199a 0e545993274517709034328855841020
s155964671a 0e342768416822451524974117254469
这两个数的值不相同,但是md5提交上去比较相同,得出flag。
sha1
查看PHP源码,是说username和password字段的值不能相同,但是他们的SHA1值要相同,这样提交才能得到flag
shattered-1.pdf
shattered-2.pdf
上边两个是Google放出的两个sha1值相同而不一样的PDF文件
如何利用
1、使用cmp命令比较两个文件发现前320字节不同
2、使用urllib将前320个字节进行urlencode编码然后使用
赋予相应的值后,getflag.
Other:
把上传的图片丢图床,这里用的是极简图床配合七牛云,上传直接复制md就可以了,不用再手动一个一个去复制然后再看看md语法了