虎符网络安全赛道参赛有感

Posted on Apr 3, 2021

今天去协会打了 8 个小时的比赛,这也是我第一次跟队参加比赛,还是非常激动的

当然其实与其说是打比赛,不如说是被比赛打。整场比赛就只看了一道 pwn 题,此题也非常没品地换了个架构,是在 aarch64 架构下的。我大概花了一个多小时的时间配置环境,最后还是在语神和薯片二位学长的帮助下才成功把程序跑起来的。

跑起来之后还是懵,完全不知道他在做什么,放到 IDA 里面看也非常的难懂,本身程序的体量较大,又是 aarch64 的,反编译出的代码十分奇怪,看汇编也看不太懂,着实是比较的无奈。到午饭前,在和语神交流过后才算大致了解了程序在干什么。然后就是苦逼的分析,一直没看出漏洞点,也没什么思考的方向,其实就是在浪费时间。

后来拿到了 hint,原来是有堆溢出,但是由于看不懂程序,还是懵,语神给我解释了一下才知道大概是怎么样的,其实漏洞很简单,利用也比较基础,但是我还是不会写,以为有很多限制,这些都要从 binary 里面寻找,而我也看不懂 binary,所以就是不会做。最后还是语神日穿了。

此处比赛的 pwn 题是我很少接触的类型,因为其难点不在利用而在分析,一般碰到这种题我都是绕过不做。经过这次比赛我觉得这样是不行的,pwn 和 re 本就不应分家,我也应该提高自己的逆向能力。但是 binary 我暂时还看不动,准备先啃啃 malloc 的源码,顺便获得一个对堆的更理性的认知。