
.avif?fit=max&auto=format&n=S3bjUwszwbn6inbo&q=85&s=c8af37fc4a50764dfe778e88bd30d460)
- Bu kontratın Governor’ı
0x31a91336414d3b955e494e7d485a6b06b55fc8fbadresindeki TimelockController kontratıydı. - Orada
AccessControlile yönetilenEXECUTORvePROPOSERrolleri vardı, biz de role sahip olarak yönetimi ele geçirip kendimize Governor rolünü verdik.
ZURNANIN KOPTUĞU YER
elimizdeki bilgiler aşşağıdaki gibi- WS token (Wrapped Sonic):
0xa3c0eCA00D2B76b4d1F170b0AB3FdeA16C180186 - TimelockController (Governor):
0x31a91336414d3b955e494e7d485a6b06b55fc8fb - Senin cüzdanın (örnek):
0x12dC3655fAC6388ACFe6753C0214Ecec34B87217
1- Rol Hashleri
- cast keccak “PROPOSER_ROLE” # => PROPOSER_ROLE hash
- cast keccak “EXECUTOR_ROLE” # => EXECUTOR_ROLE hash
- cast keccak “TIMELOCK_ADMIN_ROLE” # => TIMELOCK_ADMIN_ROLE hash
2- Mevcut konfigürasyonu okumak
Gerekenler: minDelay, kimde hangi rol var, executor açık mı (0x000…000 herkesi ifade eder).EXECUTOR 0x000…000 ise: “herkes execute edebilir” anlamına gelir (kritik yanlış konfig).
minDelay == 0 ise işler çok kolay (anında schedule→execute).
3- BATCH HAZIRLAMA
Hedef batch (aynı anda çağrılacak fonksiyonlar):- Timelock.grantRole(PROPOSER_ROLE, biz) → ileriye dönük planlama serbestisi
- Timelock.grantRole(EXECUTOR_ROLE, 0x000…000 veya biz) → herkes/biz execute edebilelim
- VaultCore.transferGovernance(attacker) veya VaultCore tarafındaki “governor set” türevi fonksiyon (sende VaultCore’un ABI’sine göre değişebilir)
transferGovernance(newGov) → sonra claimGovernance() (biz çağırırız).
3.1 calldataları çıkar
5- executeBatch
herkese açıksa herkes çağırabilir mindelay 0 geçtiyse direkt:- Sana PROPOSER verir,
- EXECUTOR’ı genişletir (isteğe göre herkese),
- VaultCore.transferGovernance(attacker) çağrılır.
6- Claim Vakti
Uğraşmak istemiyom
https://remix.ethereum.org/ kendi metamask hesabınla giriş yap, 3 4 dolar birşey attım içine denemek için, burdada aynı adresi yokladığımda bu adrese hiçbir allahın kulu konmamıştı, yani gene gene gene istediğim adrese istediğim şekilde tokeni yollayabiliyodum..png?fit=max&auto=format&n=S3bjUwszwbn6inbo&q=85&s=79083aa21b863ec50334c675457d3ad4)
