2011г.
Количество страниц: 176
Книга "Основы веб-хакинга: нападение и защита" для всех интересующихся хакингом веб-сайтов, с параллельным освещением аспектов надежной защиты. Изложение построено на учебных примерах, которые пользователь создает на своем компьютере, и реальных уязвимостях широко распространенных бесплатных движков сайтов, уже имеющихся в тестовой системе. Работа ведется в двух хакерских дистрибутивах Linux - Damn Vulnerable Linux и Back Track 4, работающих на локальном компьютере пользователя под управлением виртуальной машины в ОС Windows. Информация, приведенная в данной книге может быть использована только в ознакомительных и учебных целях. Издательство не несет ответственности за неправомерное использование читателями полученной информации, приведшее к нарушению закона.
Оглавление книги:
Основы веб-хакинга: нападение и защита (+DVD)
00. Ведение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Для кого эта книга . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Об авторе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
От издательства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ЧАСТЬ I. ПРИСТУПАЯ К РАБОТЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
01. О хакинге и хакерах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Зачем хакеры взламывают веб-сайты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Собственная безопасность хакера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
02. Подготовка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
ЧАСТЬ II. ОСНОВЫ ВЕБ-ХАКИНГА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
03. Первый взлом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
04. PHP-инклуд . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Локальный PHP-инклуд . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Удаленный PHP-инклуд . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Реальный пример PHP-инклуда - движок NaboPoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Создание хакерского веб-шелла в логах Apache через локальный инклуд . . . . . . . . . . . 41
Реальное местоположение логов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Защита от удаленного инклуда . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Защита от локального инклуда . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
05. SQL-инъекция . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Получение информации из базы данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Создание веб-шелла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Защита от SQL-инъекции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Решение проблем с кодировкой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
06. Межсайтовый скриптинг . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Области применения XSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Пассивный межсайтовый скриптинг . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Активный межсайтовый скриптинг . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Пример мини-приложения, уязвимого для XSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Как хакеры обходят механизм фильтрации тега script . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
07. Слепая SQL-инъекция . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Получение номера версии MySQL с помощью переменной @@version . . . . . . . . . . . . . . 71
Проверка возможности доступа к таблице mysql.user . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Угадывание имен таблиц . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Угадывание имен столбцов в найденной таблице . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Извлечение данных из найденных таблиц/столбцов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Слепая SQL-инъекция в движке NaboPoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Автоматизация механизма извлечения данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Поиск уязвимых сайтов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Использование временны?х задержек . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
08. Новые возможности PHP-инклуда . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Инъекция в файл /proc/self/environ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Поиск логов сервера Apache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Инклуд почтового сообщения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
09. CRLF-инклуд . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
ЧАСТЬ III. ЧТО ДАЛЬШЕ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
0A. Получение полноценного доступа к шеллу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
0B. Удаленный подбор паролей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
0C. Локальный взлом паролей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Взлом хэшей паролей *nix-систем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Особенности взлома LDAP-паролей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Взлом MD5-хэшей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
0D. Повышение привилегий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
0E. Сокрытие следов присутствия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
0F. Исследование системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
10. Алгоритмы получения контроля над сервером . . . . . . . . . . . . . . . . . . . . . . . . . 124
11. Удаленные эксплойты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
12. Противодействие хакерам . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
13. Реальные задачи IT-безопасности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Использование инсайдерской информации для взлома пароля . . . . . . . . . . . . . . . . . . . 131
ICQ и работа для частного детектива . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Работа для антихакера, или "привет из Бразилии" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Приложение 1. Основные *nix-команды . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Приложение 2. SQL-инъекции в модуле show.php форума Cyphor . . . . . . . . . . . . . . 140
Приложение 3. Взлом паролей пользователей форума Cyphor . . . . . . . . . . . . . . . . 144
Приложение 4. Использование готового эксплойта для SQL-инъекции
в форуме Cyphor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Приложение 5. Реализация SQL-инъекций в MS SQL Jet . . . . . . . . . . . . . . . . . . . . . 152
Приложение 6. Усовершенствованный текст эксплойта nabopoll.php . . . . . . . . . . . 155
Приложение 7. Получение имен таблиц и данных через слепую SQL-инъекцию
в MS Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Приложение 8. Переустановка пароля администратора и угадывание его
в instantCMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Приложение 9. Быстрые методы слепой SQL-инъекции . . . . . . . . . . . . . . . . . . . . . 161
Использование функции find_in_set(substr, strlist) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Использование конструкции find_in_set() + more1row . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Приложение 10. Хакерский словарик . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166