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->D
insideD
msg.sender
will beC
andtx.origin
will beA
.
Last updated