Change Any User Data on NFT Marketplace crosea.io

Aminudin
4 min readAug 19, 2023

--

Kali ini saya mau share bagaimana cara saya menemukan sebuah bug pada NFT Marketplace crosea.io. Pertama selalu saya tegaskan pekerjaan saya yang utama bukan BugBounty hunter, tapi disini saya hanya kadang suka iseng mencari bug/pentesting diwaktu luang saya. Jadi, disini saya hanya pemula dan maaf jika ada salah salah kata.

Ok jadi langsung saja, untuk yang pertama ini saya melakukan pengecekan pada edit user karena siapa tau di websitenya ini terdapat celah IDOR

Ketika saya coba klik edit terdapat popup authenticate yang dimana disitu ada process sign dan verify message untuk wallet web3, lalu saya coba klik sign & verifikasi dan seperti biasa kita disuruh melakukan sign disini saya sign menggunakan metamask.

Lalu setelah itu saya coba edit edit dan saya sambil pantau networknya, disini ada yang mengganjal

Disini tidak ada JWT auth yang mana kemungkinan bisa kita manipulasi si authnya dan saya cek di cookie tidak ada auth yang disimpen baik di cookie maupun localstorage, jadi kemungkinan auth ini di generate dari sisi client. Setelah itu saya coba search endpointnya di tab source dimana disitu letak dari semua script si client

Bisa kalian lihat, disitu ada hal yang menarik yang bisa dilihat yaitu dibagian AES.encrypt yang dimana saya tau berarti di headers auth ini di generate dari sisi client, tapi sekarang problemnya adalah kita tahu keynya tapi kita gatau parameternya apa saja atau payloadnya apa saja yang buat di generate si auth itu. Jadi disini saya coba scriptnya saya copy lalu saya suruh chatgpt men translate script tersebut agar mudah dibaca

Disini kita tau bahwa kita butuh satu parameter yang berisi sebuah nilai yang akan di enkripsi, disini saya langsung coba paramater pertamanya saya isi dengan address dari si akun, langsung saya coba di repl

dan saya coba authnya di postman

Dan berhasilll, sekarang kita coba liat di webnya apakah berubah

Misi pertama sukses! Dan kemudian saya cek lagi di source ada endpoint apa aja yang bisa di edit menggunakan auth tersebut

Disini saya menemukan ada endpoint lagi yaitu collection/edit yang kemungkinan juga bisa kita rubah dan mainkan, markicob mari kita coba

Pertama aku suruh chatgpt buat translate kodenya kedalam curl

Lalu kita import hasil curlnya ke postman, nah disitu ketahuan kita butuh apa aja

Address token, owner address nah sementara berdasarkan view source tadi yang dijadikan auth adalah owner address maka langsung kita eksekusi dan ya bisa kalian liat diatas message success, lalu kita cek di webnya dan….

Success !!!!

Timeline :

~ 13 Maret 2023 : Bug Reported
~ 20 Maret 2023 : Bug Fixed

Terimakasih banyak semuanya yang sudah baca, jangan lupa subscribe, follow dan share!!!

--

--