Головоломки на PHP для хакера

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Книга представляет собой задачник по Web-технологиям с уклоном в защиту Web-приложений от злоумышленников. Цель книги — помочь Web-разработчику научиться самостоятельно обнаруживать и устранять уязвимости в своем коде.

Author(s): М. В. Кузнецов, И. В. Симдянов
Publisher: БХВ-Петербург
Year: 2006

Language: Russian
Commentary: 1146149838
Pages: 464

Оглавление ......Page 4
Введение ......Page 12
Благодарности ......Page 13
Часть I. ЗАДАЧИ ......Page 14
1.1.2. Выравнивание по правому краю ......Page 16
1.1.4. Вывод данных в три столбца ......Page 18
1.1.9. Передача массива через cookies ......Page 19
1.1.11. Вертикальный вывод строки ......Page 20
1.1.12. Число в денежном формате ......Page 21
1.2.1. Удаление всех тегов из HTML-страницы ......Page 22
1.2.5. Проверка корректности ввода адреса электронной почты ......Page 23
1.2.9. Изменение регистра ......Page 24
1.2.13. Интерпретация тегов bbCode ......Page 25
1.2.14. Подсветка PHP-кода ......Page 26
1.3.1. Загрузка файлов на сервер ......Page 27
1.3.3. Уязвимость скрипта загрузки ......Page 28
1.3.4. Счетчик загрузок ......Page 29
1.3.7. Определение количества строк в файле ......Page 30
1.3.10. Количество файлов в каталогах ......Page 31
1.3.14. Удаление каталога ......Page 32
1.3.17. Сортировка содержимого текстового файла ......Page 33
1.3.20. Система регистрации ......Page 34
1.3.24. Взлом гостевой книги ......Page 35
1.4.1. Система регистрации ......Page 37
1.4.2. SQL-инъекция по числовому параметру ......Page 39
1.4.4. Поиск пользователя — SQL-инъекция ......Page 40
1.4.5. Удаление пользователей,при помощи SQL-инъекции ......Page 42
1.4.6. Постраничная навигация ......Page 44
1.4.7. Алфавитная навигация ......Page 46
1.4.8. Сортировка ......Page 47
1.4.10. Удаление сразу нескольких позиций ......Page 48
1.4.11. Хранение МРЗ-файлов в базе данных ......Page 49
1.4.12. Хранение изображений в базе данных ......Page 50
1.4.13. Загрузка данных из дампа базы данных ......Page 51
1.5.1. Пользователи OnLine ......Page 52
1.5.3. Защита HTML-формы при помощи сессии ......Page 53
1.5.5. Подделка cookie ......Page 54
1.5.6. Обход защищенной сессией HTML-формы ......Page 55
1.5.7. Межсайтовый скриптинг ......Page 56
1.5.8. Похищение cookie ......Page 58
1.6.1. Переходы с других сайтов ......Page 59
1.6.2. Защита HTML-формы при помощи реферера ......Page 60
1.6.6. Защита от менеджеров загрузки ......Page 61
1.6.7. Фальсификация пользовательского агента ......Page 62
Глава 1.7. Авторизация и аутентификация ......Page 63
1.7.1. Авторизация на файлах ......Page 64
1.7.2. Шифрование пароля ......Page 65
1.7.4. Подбор пароля по словарю ......Page 66
1.7.6. Защита текстовых файлов от просмотра в браузере ......Page 67
1.7.7. Авторизация при помощи cookie ......Page 68
1.7.8. Защита имени пользователя от подделки ......Page 70
1.7.9. Авторизация при помощи сессий ......Page 71
1.7.11. Базовая HTTP-авторизация ......Page 73
Глава 1.8. Использование информации со сторонних сайтов ......Page 74
1.8.2. Извлечение ссылок с Yandex ......Page 75
1.8.3. Извлечение ссылок с Google ......Page 76
1.8.4. Извлечение ссылок с Rambler ......Page 77
1.8.5. Извлечение ссылок с Aport ......Page 78
1.8.6. Определение курса валют из XML-файла ......Page 79
1.8.7. Определение динамики курса валют ......Page 80
1.9.2. Список файлов на FTP-сервере ......Page 83
1.9.4. Изменение прав доступа ......Page 84
1.10.1. Загрузка страницы ......Page 85
1.10.4. Отправка данных методом POST ......Page 86
1.11.3. Массовая рассылка писем ......Page 88
1.11.6. Выяснение адресов почтовых ретрансляторов ......Page 89
1.12.2. Определение принадлежности европейских IP-адресов ......Page 90
1.12.3. Следование реферальному серверу ......Page 91
1.12.6. Выяснение, занят ли домен ......Page 92
1.13.2. Работа с номером узла ......Page 93
1.13.4. Работа с архивами ......Page 94
1.14.2. Проверка ссылочной целостности ......Page 95
1.14.4. Слишком большие файлы на виртуальном хосте ......Page 96
1.15.2. Скрипт предзагрузки страницы ......Page 97
1.15.4. Буферизация данных ......Page 98
Часть II.РЕШЕНИЯ ......Page 100
II.1.1. Количество и имена файлов в произвольном каталоге ......Page 102
II. 1.2. Выравнивание по правому краю . ......Page 106
II. 1.3. Выравнивание по левому и правому краям ......Page 107
П. 1.4. Вывод данных в три столбца ......Page 108
II. 1.5. Передача массива между двумя страницами ......Page 110
II. 1.6. Передача массива методом GET ......Page 111
II.1.7. Передача массива методом POST ......Page 113
II. 1.8. Передача массива через сессии ......Page 114
II. 1.9. Передача массива через cookies ......Page 115
II. 1.10. Календарь ......Page 117
II. 1.11. Вертикальный вывод строки ......Page 120
II. 1.13. Замена символов bbCode ......Page 121
II.2.1. Удаление всех тегов из HTML-страницы ......Page 124
II.2.2. Удаление изображений из HTML-страницы ......Page 126
II.2.3. Извлечение названия HTML-страницы ......Page 127
II.2.4. Конвертация даты из MySQL-формата в календарный ......Page 128
II.2.5. Проверка корректности ввода адреса электронной почты ......Page 129
II.2.6. Проверка корректности ввода URL ......Page 131
II.2.8. Проверка корректности ввода чисел ......Page 132
II.2.9. Изменение регистра ......Page 133
II.2.11. Разбивка текста на предложения ......Page 135
II.2.12. Количество слов в тексте ......Page 139
II.2.13. Интерпретация тегов bbCode ......Page 142
II.2.14. Подсветка PHP-кода ......Page 143
II.3.1. Загрузка файлов на сервер ......Page 147
II.3.2. Редактирование файлов на удаленном сервере ......Page 149
II.3.3. Уязвимость скрипта загрузки ......Page 151
II.3.4. Счетчик загрузок ......Page 155
II.3.5. Сохранение текстовых и графических файлов ......Page 158
II.3.6. Определение размера файла ......Page 159
II.3.8. Изменение порядка следования строк в файле ......Page 161
II.3.9. Список файлов и подкаталогов в каталоге ......Page 162
II.3.10. Количество файлов в каталогах ......Page 163
II.3.11. Количество строк в файлах проекта ......Page 165
II.3.12. Замена строки во всех файлах вложенных подкаталогов ......Page 167
II.3.13. Загрузка файла на сервер по частям ......Page 168
II.3.14. Удаление каталога ......Page 170
II.3.15. Случайный вывод из файла ......Page 171
II.3.16. Редактирование файла ......Page 172
II.3.17. Сортировка содержимого текстового файла ......Page 173
II.3.18. Добавление записи в файл ......Page 178
II.3.19. Постраничная навигация ......Page 179
II.3.20. Система регистрации ......Page 181
II.3.22. Определение даты создания изображения ......Page 186
II.3.23. Копирование содержимого одного каталога в другой ......Page 187
II.3.24. Взлом гостевой книги ......Page 188
II.4.1. Система регистрации ......Page 191
II.4.2. SQL-инъекция по числовому параметру ......Page 194
II.4.3. Определение версии сервера MySQL ......Page 199
II.4.4. Поиск пользователя — SQL-инъекция ......Page 200
II.4.5. Удаление пользователей при помощи SQL-инъекции ......Page 206
II.4.6. Постраничная навигация ......Page 208
II.4.7. Алфавитная навигация ......Page 211
II.4.8. Сортировка ......Page 214
II.4.9. Двойной выпадающий список ......Page 216
II.4.10. Удаление сразу нескольких позиций ......Page 222
II.4.11. Хранение МРЗ-файлов в базе данных ......Page 224
II.4.12. Хранение изображений в базе данных ......Page 227
II.4.13. Загрузка данных из дампа базы данных ......Page 232
II.5.1. Пользователи OnLine ......Page 233
II.5.2. Собственный механизм сессии ......Page 236
II.5.3. Защита HTML-формы при помощи сессии ......Page 241
II.5.4. Определение, включены ли cookie у посетителя ......Page 243
II.5.5. Подделка cookie ......Page 244
II.5.6. Обход защищенной сессией HTML-формы ......Page 246
II.5.7. Межсайтовый скриптинг ......Page 249
II.5.8. Похищение cookie ......Page 251
II.6.1. Переходы с других сайтов ......Page 252
II.6.2. Защита HTML-формы при помощи реферера ......Page 254
II.6.3. Фальсификация реферера ......Page 255
II.6.4. Ключевые слова поисковых систем ......Page 257
II.6.5. Распознавание посещений сайта роботами поисковых систем ......Page 258
II.6.7. Фальсификация пользовательского агента ......Page 260
II.7.1. Авторизация на файлах ......Page 262
II.7.2. Шифрование пароля ......Page 267
II.7.3. Подбор пароля ......Page 271
II.7.4. Подбор пароля по словарю ......Page 278
II.7.5. Генератор паролей ......Page 280
II.7.6. Защита текстовых файлов от просмотра в браузере ......Page 281
II.7.7. Авторизация при помощи cookie ......Page 282
II.7.8. Защита имени пользователя от подделки ......Page 289
II.7.9. Авторизация при помощи сессий ......Page 290
II.7.10. Шифрование пароля в базе данных ......Page 293
II.7.11. Базовая HTTP-авторизация ......Page 294
II.8.1. Загрузка страницы с удаленного хоста ......Page 297
II.8.2. Извлечение ссылок с Yandex ......Page 298
II.8.3. Извлечение ссылок с Google ......Page 300
II.8.4. Извлечение ссылок с Rambler ......Page 306
II.8.5. Извлечение ссылок с Aport ......Page 308
II.8.6. Определение курса валют из XML-файла ......Page 309
II.8.7. Определение динамики курса валют ......Page 312
II.9.1. Определение типа операционной системы ......Page 316
II.9.2. Список файлов на FTP-сервере ......Page 318
II.9.3. Загрузка файлов ......Page 321
II.9.4. Изменение прав доступа ......Page 323
II. 10.1. Загрузка страницы ......Page 325
II.10.2. Получение HTTP-заголовков с сервера ......Page 329
II. 10.3. Определение размера файла на удаленном хосте ......Page 331
II.10.4. Отправка данных методом POST ......Page 332
II.11.1. Отправка почтового сообщения с сайта ......Page 335
II.11.2. Отправка письма с вложением ......Page 337
II.11.3. Массовая рассылка писем ......Page 340
II.11.4. Предотвращение массовой рассылки ......Page 342
II. 11.5. Отправка почтового сообщения через SMTP-ретранслятор ......Page 344
II. 11.6. Выяснение адресов почтовых ретрансляторов ......Page 345
II. 12.1. Определение принадлежности IP-адресов ......Page 347
II.12.2. Определение принадлежности европейских IP-адресов ......Page 348
II. 12.3. Следование реферальному серверу ......Page 349
II.12.4. Определение IP-адреса по сетевому адресу ......Page 352
II.12.6. Выяснение, занят ли домен ......Page 353
II.13.1. Использование утилиты ping ......Page 361
II. 13.2. Работа с номером узла ......Page 363
II.13.3. Права доступа ......Page 364
II. 13.4. Работа с архивами ......Page 368
II. 14.1. Слежение за ссылкой на удаленной странице ......Page 370
II.14.2. Проверка ссылочной целостности ......Page 377
II.14.3. Новые файлы на виртуальном хосте ......Page 380
II.14.4. Слишком большие файлы на виртуальном хосте ......Page 382
II. 15.1. Обмен значений переменных ......Page 384
II.15.2. Скрипт предзагрузки страницы ......Page 385
II.15.3. Эмуляция утилиты tar ......Page 386
II.15.4. Буферизация данных ......Page 389
ПРИЛОЖЕНИЯ ......Page 392
Классификация прокси-серверов ......Page 394
Анонимные прокси-серверы ......Page 397
Настройка браузера Internet Explorer для работы с прокси-сервером ......Page 400
Как построить цепочку из прокси-серверов? ......Page 401
Прокси-серверы и DNS-серверы ......Page 403
РАС-файлы ......Page 404
Где взять списки бесплатных прокси-серверов? ......Page 405
Почему бесплатные прокси-серверы исчезают? ......Page 406
Проверка работоспособности прокси-серверов ......Page 407
Полезные ссылки ......Page 409
Виды преступлений в IT-отрасли ......Page 411
Глава 28 УК РФ ......Page 420
Спрашивайте — отвечаем ......Page 424
Несколько примеров ......Page 429
Социальное программирование ......Page 433
Трансактный анализ ......Page 434
Введение в НЛП ......Page 448
Заключение или как стать социальным программистом ......Page 459
Приложение 4. Описание компакт-диска ......Page 461
Предметный указатель ......Page 462