Skip to content

标题: 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

这是第二个解迷成功的同学。