标题: PHP逆向工程趣味迷题 创建: 2021-10-01 21:59 更新: 2021-10-07 16:20 链接: https://scz.617.cn/web/202110012159.txt 有一个PHP 7.3.30的OPcache文件 https://scz.617.cn/web/scz_puzzles.php.bin a) 设法执行它 b) 回答它的问题 c) 假设答案是"...",那么有两组SHA256验证集 sth = hashlib.sha256() sth.update(b"...") sth.hexdigest() 634d3f95e2c1b43ba54f4374616549552b2ea0be80cd67cee8b118886f5fbe9a import hashlib sth = hashlib.sha256() sth.update(b"..."+b"202110012150") sth.hexdigest() 0b0b70ec088918e2f2b1412c7a775eacd637a05e1f803628ea620c8450b293bf 因为用自然语言描述,答案"..."有潜在歧义,但通过这两组SHA256验证集可以消除 潜在歧义。 d) 为了不破坏TA人解迷乐趣,这样反馈迷题答案 import hashlib sth = hashlib.sha256() sth.update(b"..."+b"") sth.hexdigest() 反馈你解迷成功时的12位时间戳及上面这个SHA256,不要直接反馈答案"..."。 e) 完全没有头绪但又确实感兴趣的朋友可以参看 《围观0CTF2018之ezDoor》 https://scz.617.cn/web/202109261107.txt 《直接调用OPcache生成之some.php.bin中的函数》 https://scz.617.cn/web/202109271017.txt 尽量不要试图逆向某些算法本身,这个算法有一点点变态,解迷也不需要了解算法细 节。但你若真是通过逆向算法细节完成解迷,请让我知道,我想表达一下敬意。 f) 迷题答案"...",献给那些永远充满着好奇心的人们 2021.10.4 ID为"小朋友"的网友在公众号后台反馈了TA对《PHP逆向工程趣味迷题》的解迷过程, TA先成功运行scz_puzzles.php.bin,继而通过VLD猜出相关代码逻辑,然后解迷成功。 TA的反馈如下,假设答案是"..." import hashlib sth = hashlib.sha256() sth.update(b"..."+b"202110041901") sth.hexdigest() 305e17c03ebf7412b2cce4e56a720b9b4e77c69748bb37e0f3844fc7ec4cf190 这是第一个解迷成功的网友。不过TA碰上了一个由VLD输出带来的坑,VLD会对字符串 进行编码,若有人死活解迷失败,或许要考虑这个坑。不知有不用VLD解迷成功的吗? 2021.10.7 王一航反馈了他对《PHP逆向工程趣味迷题》的解迷,假设答案是"..." import hashlib sth = hashlib.sha256() sth.update(b"..."+b"202110071620") sth.hexdigest() 137e90abbf0a1f091226b0bbadbd41ca88519bc51f1f488a9ac12c343728a769 这是第二个解迷成功的同学。