Hi semuanya,
Saya kembali lagi dengan temuan bug yang lain, baiklah tulisan sederhana kali ini adalah tentang bagaimana saya menemukan bug misconfiguration di pengaturan ulang kata sandi yang dapat menyebabkan "Account Takeover" pada user lain.
Bagiku ini sangat keren, tapi bug ini saya temukan di luar program Bug Bounty, jadi bug ini saya temukan di suatu web aplikasi belajar Bahasa Inggris yang dibilang sudah terkenal di Playstore.
Penasaran seperti apa? Monggo simak saja...
Nah, awal ceritanya adalah ketika saya merasa bosan setelah berjam-jam belajar di aplikasi tersebut. Pikiran konyol untuk melakukan pengujian aplikasi web tersebut pun muncul di kepala saya.
Singkat cerita, saya langsung fokus untuk melakukan pengujian pada fungsi pengaturan ulang kata sandi. Ya, menurutku karena fitur ini memegang kunci kerentanan kritis yang dapat menyebabkan pengambilan akun, apa salahnya untuk dicoba? Siapa tahu ada celah.
Oke, tidak akan terlalu lama jadi langsung saja saya akan menjelaskan Attack Skenario sebagai berikut ini.
Steps To Reproduce This Issue:
Karena ini private serta kerentanan ini sangat kritis, jadi saya tidak mungkin untuk mengungkapkan secara asli. Jadi kita akan sebutkan dengan nama situs sebagai contoh "https://private.me" untuk dapat memahami tujuanya.
1) Saya akan menggunjungi situs tersebut https://private.me
2) Selanjutanya saya mulai menekan "Forgot Password" untuk meminta pengaturan ulang kata sandi ke email target.
3) Oke disini saya memasukan email taget yang mau diambil alih, sebagai contoh saya memasukan email dengan nama email "email@target.com"
4) Sebelum menekan "SEND OTP TO MAIL" lakukan intercept request terlebih dahulu, kemudian baru menekan "SEND OTP TO MAIL",
POST Request:
Host: private.me
Connection: keep-alive
Content-Length: 302
Accept: application/json, text/plain, */*
DNT: 1
Save-Data: on
User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0
Content-Type: application/json;charset=UTF-8
Origin: http://private.me
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: http://private.me/
Accept-Encoding: gzip, deflate, br
Accept-Language: id-ID,id;q=0.9,en-US;q=0.8,en;q=0.7
POST Response:
Access-Control-Allow-Methods: GET, PUT, POST, OPTIONS
Access-Control-Allow-Origin: http://private.me
Access-Control-Max-Age: 7200
Cache-Control: max-age=0, private, must-revalidate
Content-Encoding: gzip
Content-Type: application/json; charset=utf-8
Date: Wed, 10 Feb 2021 14:00:49 GMT
ETag: W/"9af8d14201ae0803af8072dc4d21a467"
Server: nginx/1.8.0 + Phusion Passenger 5.0.15
Status: 200 OK
Vary: Accept-Encoding
Vary: Origin
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Powered-By: Phusion Passenger 5.0.15
X-Request-Id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
X-Runtime: 1.969236
X-XSS-Protection: 1; mode=block
Content-Length: 131
Connection: keep-alive






Comments
Post a Comment