# User ID controlled by request parameter with password disclosure

Description:

This lab has user account page that contains the current user's existing password, prefilled in a masked input.

To solve the lab, retrieve the administrator's password, then use it to delete the user `carlos`.

You can log in to your own account using the following credentials: `wiener:peter`

Proof of concept:

1. Analisa web target menggunakan akun testing<br>

   <figure><img src="https://261650435-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdAiS2nxqUmGSg5rZoOOl%2Fuploads%2FSKGvcbVhwcTGYyEAKp51%2Fimage.png?alt=media&#x26;token=53c4077f-548f-40b7-a8a1-76709850be83" alt=""><figcaption></figcaption></figure>
2. Terlihat pada fitur `My Account` terdapat field password yang mengembalikan nilai password<br>

   <figure><img src="https://261650435-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdAiS2nxqUmGSg5rZoOOl%2Fuploads%2Fq7YhxbL20tpbicHjgwqg%2Fimage.png?alt=media&#x26;token=1af2cb77-1b7c-4555-8d4c-c11d46705acb" alt=""><figcaption></figcaption></figure>
3. Mungkin terlihat tidak dapat dibaca karena nilai tersebut bertype `password` , namun sebenarnya dapat dilihat secara plaintext melalui inspect element<br>

   <figure><img src="https://261650435-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdAiS2nxqUmGSg5rZoOOl%2Fuploads%2FGBjtIi4dVEWq9CA2Nx1x%2Fimage.png?alt=media&#x26;token=2c94a55e-15fa-4fe5-ab4b-b5a4bf4b1547" alt=""><figcaption></figcaption></figure>
4. Selanjutnya, dapat dilihat pada fitur `My Account` terdapat parameter `id` yang mengandung nilai dari username akun yang sedang login<br>

   <figure><img src="https://261650435-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdAiS2nxqUmGSg5rZoOOl%2Fuploads%2Fe25MdDRGG5aqQqKEpJnV%2Fimage.png?alt=media&#x26;token=88336ba4-05f2-47e6-b770-b80db1400d85" alt=""><figcaption></figcaption></figure>
5. Lakukan perubahan pada nilai parameter tersebut menjadi username milik akun lain atau akun korban<br>

   <figure><img src="https://261650435-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdAiS2nxqUmGSg5rZoOOl%2Fuploads%2F2Mcf3jmRHSNnYuz7f4kb%2Fimage.png?alt=media&#x26;token=b8d94fe7-48e7-42b6-8b19-f8b962eaf1f2" alt=""><figcaption></figcaption></figure>
6. Seperti yang dapat dilihat, berhasil mengakses akun lain artinya pada aplikasi tersebut selain memiliki kerentanan yang menampilkan kembali nilai password, juga memiliki kerentanan access control. Selanjutnya, coba gunakan credentials akun korban tersebut untuk mengakses akun korban (Administrator)<br>

   <figure><img src="https://261650435-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdAiS2nxqUmGSg5rZoOOl%2Fuploads%2FHFMAepyA0e2mXggaoGJX%2Fimage.png?alt=media&#x26;token=d0309c8d-272b-4b55-8656-5b4fcb9cf00e" alt=""><figcaption></figcaption></figure>
7. Untuk menyelesaikan tantangan pada lab ini, hapus akun `carlos` <br>

   <figure><img src="https://261650435-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdAiS2nxqUmGSg5rZoOOl%2Fuploads%2FcddjkzQzLZWoI1O5aQbP%2Fimage.png?alt=media&#x26;token=63c9ef9d-356e-475c-9d1b-b1afac9578e7" alt=""><figcaption></figcaption></figure>

Thanks, Stay Ethical & Happy Hacking! 🍻
