Level 4 - Telephone ⏺
Level Setup
Level Contract
Exploit
The contract is vulnerable because the msg.sender is the address that sent the transaction to interact with the contract, but this is only the final address if the transaction involved multiple contracts.
Create a middleman contract so that
x.origin != msg.sender.
Submit instance... 🥳
Completion Message
Notes
In a simple call chain
A->B->C->DinsideDmsg.senderwill beCandtx.originwill beA.
Last updated