bixia1994
本题目是比较经典的重进入,本文尝试用Samczsun提出的四步法来解答该题目。即找到外部调用,判断外部调用是否可以被利用,是否满足三种外部调用模式,尝试利用它。
Samczsun最近发的雄文篇之二,网上有很多翻译版本的。如果你只想简单读一下Samczsun的文章,建议直接去读翻译版的。如果你想看看他到底在文章里说了什么,这篇文章可以给你提供具体的分析思路以及可运行的源代码!
很巧的是,在我写作这篇文章的时候,我注意到登链社区已经有人写了跟我一样的题材:给人惊吓的代码 可以对比参考者一起看看
本题的核心思想跟之前做过的一道题目:Consensys CTF-02 栈溢出重定向利用的核心思想一致,即找到合约中的一个入口函数,通过该函数可以手动的构造一个栈。在手动构造的栈中,按照函数调用的顺序,将所需要的参数依次放入手动构造的栈里,然后依次调用所需的函数。最后找到一个出口,一般是一个jump Destination,结束调用。