Finding Real IP Behind Cloudflare And Exploiting IDOR Vulnerabilities

Aminudin
4 min readNov 1, 2023

--

Seperti biasa saya menemukan target menarik pada NFT Marketplace tapi kali ini ada di jaringan INJECTIVE. 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 langsung saja, ketika saya sedang muter muter dan gabut saya menemukan website NFT Marketplace kembali dan seperti biasa saya langsung mencari bugnya karena saya sendiri tidak mempunya NFT hahahaha.

Seperti biasa pertama kali saya lakukan View Source untuk mengetahui apakah sourcemaps dari si website ini active atau ngga tapi setelah di cek sourcemaps di webnya di disable

Lanjut ke step kedua saya coba ke network lalu saya coba edit user dan save datanya

Kalau kalian liat diatas kita tau bahwa API nya ini dibuat menggunakan Graphql dan setelah ter intercept request edit usernya disitu bisa kita lihat ada hal yang menarik perhatian mata 🫣, apa kira kira ? Yapssss headers Authorization kosong dan sangat besar kemungkinan API nya bisa kita Exploit IDOR.

Setelah itu tidak pikir panjang saya langsung copy as curl lalu paste di postman dan kita coba send request kembali

Erere ternyata API nya dipasangi cloudflare lalu saya coba curl via terminal saja langsung

dan yaps bisa!, tapi ada tapinya nih dia bakal kena attention juga kalau cookie si cloudflarenya sudah expired dan saya ingin leluasa ketika melakukan testing jadinya saya bertekad buat nyari IP aslinya dibalik cloudflare agar bisa kita testing tanpa harus memikirkan rubah cookies si cloudflare.

Ok langsung saja pertama yang saya lakukan untuk mendapatkan IP dibalik cloudflare ini adalah ke situs https://search.censys.io/ lalu masukan hostnya

Bisa kalian check diatas muncul semua IP yang “berkaitan” sama si host tersebut jadi list IP ini bisa saja adalah beberapa subdomain dari si host atau website website yang berkaitan dengan si HOST, dan bagaimana si kita tau bahwa API graphql tadi itu IP nya yang mana ? Jadi, untuk mengetahuinya adalah manual dan identifikasi manual ( saya mageran jadi males bikin toolsnya ).

Pertama kita identifikasi dulu dan kita tau bahwa API Graphql tadi itu terletak pada path /api dan bukan subdomain terpisah dari origin HOST nya, jadi sekarang kita akan identifikasi atau cek list IP IP yang sudah kita dapatkan tadi dan kunjungi satu satu lalu samakan dengan tampilan depan host dari si API Graphqlnya.

Setelah berjam jam saya smedi akhirnya saya menemukan dan saya yakin bahwa itu adalah IP aslinya

Tapi disini problemnya satu setiap IP dia ternyata konek API nya tidak ke IP nya langsung tapi ke host nya misal tadi kita ingin mencari IP asli dari injective.talis.art nah si IP asli ini webnya konek ke HOST tersebut yang dimana jadinya dia blank karena CORS error / gagal request.

Jadi bagaimana saya tau bahwa itu adalah IP aslinya ? simplenya si langsung test aja ya wkwk, tapi kalau saya berdasarkan tampilannya bisa dicek disini terdapat section trending dan latest collection yang dimana itu mirip sama di subdomainnya lalu footernya juga kosong sedangkan di website utama di subdomain yang lain saya lihat footernya itu ada isinya.

Tapi dengan cara ini bisa juga bahwa itu adalah subdomain yang sama tapi posisi stage nya itu bukan prod bisa preprod ataupun dev, nah untuk cara gampangnya seperti diatas kalian ke bagian network saja lalu check, kalau seperti diatas itu udah gampang karena ketahuan bahwa dia HIT subdomain tersebut jadinya saya yakin bahwa ini IP yang saya cari.

Ok setelah mendapatkan IP aslinya sekarang kita test tambahkan path /api/graphql untuk mengetahui apakah dia bener bener yang saya cari

Ok dan sama hasilnya jadi tinggal kita test apakah berfungsi apa tidak di postman

Yes dan works!!! sekarang kita coba akses akunnya

dan berubah! “btw ini beda akun sama yang pertama saya show, jadi sengaja bikin akun baru di browser yang berbeda”

Timeline :

~ 9 Oct 2023 : Bug Reported
~ 9 Oct 2023 : Confirmed

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

--

--