[RingZer0] – Password reset reloaded

Challenge Description:

Diberikan sebuah web service untuk login dan reset password, dan diberikan source code terhadap web service tersebut.

Source Code:

Dari source code tersebut kita diminta untuk login sebagai admin untuk mendapatkan flag.

Pertama tama mari kita coba test fitur reset password.

Kita mendapatkan notifikasi bahwa untuk melakukan reset password harus memberikan 16 digit code dan memasukannya ke dalam parameter k.

Selanjutnya setelah saya lihat source code tentang sistem generate code ada salah satu celah yang memungkinkan kita untuk mengetahui 16 digit code tersebut.

Berikut snippet source code:

Terlihat bahwa saat melakukan random, seed terhadap random sudah ditentukan oleh parameter $seed, sehingga memungkinkan bahwa hasil random akan menghasilkan hasil yang sama terus menerus.

Reference:

https://stackoverflow.com/questions/28305016/the-meaning-of-srand

“srand() uses a seed to determine what the number will be. srand() always produces the same number when given the same seed. If you don’t give it a seed, then it uses something in the system to determine what the seed will be, and this makes the numbers appear random – the seed is constantly changing. srand(1) will always be the same.”

 

Selanjutnya kita tinggal buat script php untuk melihat hasil random tersebut

Selanjutnya kita tinggal memasukan output kedalam parameter k yang diberikan, maka password baru akan diberikan.

LINK : https://ringzer0ctf.com/challenges/120/?k=3675356291270936

Selanjutnya kita tinggal coba login

Credential:

Username: admin

Password: CrytoIsCool!1337

FLAG : FLAG-LPmaGkfnDHrsMoOyHA7nIjOPRy

Leave a Reply

Your email address will not be published. Required fields are marked *