Skip to content

Instantly share code, notes, and snippets.

View yajin's full-sized avatar

Yajin (Andy) Zhou yajin

View GitHub Profile

The Further Analysis of the Poly Network Attack

By BlockSec

The attack consists of two main steps. The first step is to change the keeper and the second step is to withdraw the tokens (executing the unlock function). The second step has been fully analyzed. For the first step, Kevin (https://twitter.com/kelvinfichter) has pointed out that the hash collision is one smart trick used by the hacker to invoke the putCurEpochConPubKeyBytes function. However, why the attacker can have a valid transaction to make this call in the first place is still unknown.

In this blog, we use the malicious transaction from Ontology (0xf771ba610625d5a37b67d30bf2f8829703540c86ad76542802567caaffff280c) to illustrate the whole process.

In summary, we find that: