КнигоПровод.Ru25.11.2024

/ИТ-книги

Головоломки на PHP для хакера — Кузнецов М. В., Симдянов И. В.
Головоломки на PHP для хакера
Для программистов и Web-разработчиков
Кузнецов М. В., Симдянов И. В.
год издания — 2006, кол-во страниц — 464, ISBN — 5-94157-837-7, тираж — 3000, язык — русский, тип обложки — мягк., масса книги — 420 гр., издательство — БХВ-Петербург
цена: 700.00 рубПоложить эту книгу в корзину
Сохранность книги — хорошая. CD утрачен

Формат 70x100 1/16. Печать офсетная
ключевые слова — web-технолог, web-приложен, web-разработ, уязвимост, взлом, php, хакер, sql, unix

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


Книга предлагает большое число задач и ответов на темы как взлома Web-приложений, так и их защиты. Основная проблема разработчиков сайтов заключается в том, что они мыслят совсем другими категориями, чем злоумышленники. Кроме того, Web-разработчики редко прибегают к тестированию своих разработок на предмет уязвимости, так как им подсознательно не хочется ломать свои собственные Web-приложения. Для того чтобы снять такой настрой, читателям, наряду с задачами по защите Web-приложений, будет предложено большое число задач по взлому сайта с применением самых различных технологий от межсайтового скриптинга и SQL-инъекций до подборки пароля по словарю. Решив задания, представленные в книге, читатели смогут быстро разработать систему безопасности своих Web-приложений. Настоящая книга переведена на английский язык и издана в США.

ОГЛАВЛЕНИЕ

Введение1
Благодарности2
 
Часть I. ЗАДАЧИ3
 
Глава I.1. Строки5
 
I.1.1. Количество и имена файлов в произвольном каталоге5
I.1.2. Выравнивание по правому краю5
I.1.3. Выравнивание по левому и правому краям7
I.1.4. Вывод данных в три столбца7
I.1.5. Передача массива между двумя страницами8
I.1.6. Передача массива методом GET8
I.1.7. Передача массива методом POST8
I.1.8. Передача массива через сессии8
I.1.9. Передача массива через cookies8
I.1.10. Календарь9
I.1.11. Вертикальный вывод строки9
I.1.12. Число в денежном формате10
I.1.13. Замена символов bbCode10
 
Глава I.2. Регулярные выражения11
 
I.2.1. Удаление всех тегов из HTML-страницы11
I.2.2. Удаление изображений из HTML-страницы12
I.2.3. Извлечение названия HTML-страницы12
I.2.4. Конвертация даты из MySQL-формата в календарный формат12
I.2.5. Проверка корректности ввода адреса электронной почты12
I.2.6. Проверка корректности ввода URL13
I.2.7. Подсветка URL13
I.2.8. Проверка корректности ввода чисел13
I.2.9. Изменение регистра13
I.2.10. Разбивка длинной строки14
I.2.11. Разбивка HTML-страницы на предложения14
I.2.12. Количество слов в тексте14
I.2.13. Интерпретация тегов bbCode14
I.2.14. Подсветка PHP-кода15
 
Глава I.3. Файлы16
 
I.3.1. Загрузка файлов на сервер16
I.3.2. Редактирование файлов на удалённом сервере17
I.3.3. Уязвимость скрипта загрузки17
I.3.4. Счётчик загрузок18
I.3.5. Сохранение текстовых и графических файлов19
I.3.6. Определение размера файла19
I.3.7. Определение количества строк в файле19
I.3.8. Изменение порядка следования строк в файле20
I.3.9. Список файлов и подкаталогов в каталоге20
I.3.10. Количество файлов в каталогах20
I.3.11. Количество строк в файлах проекта21
I.3.12. Замена строки во всех файлах вложенных подкаталогов21
I.3.13. Загрузка файла на сервер по частям21
I.3.14. Удаление каталога21
I.3.15. Случайный вывод из файла22
I.3.16. Редактирование файла22
I.3.17. Сортировка содержимого текстового файла22
I.3.18. Добавление записи в файл23
I.3.19. Постраничная навигация23
I.3.20. Система регистрации23
I.3.21. Случайный вывод из файла24
I.3.22. Определение даты создания изображения24
I.3.23. Копирование содержимого одного каталога в другой24
I.3.24. Взлом гостевой книги24
 
Глава I.4. MySQL26
 
I.4.1. Система регистрации26
I.4.2. SQL-инъекция по числовому параметру28
I.4.3. Определение версии сервера MySQL29
I.4.4. Поиск пользователя — SQL-инъекция29
I.4.5. Удаление пользователей при помощи SQL-инъекции31
I.4.6. Постраничная навигация33
I.4.7. Алфавитная навигация35
I.4.8. Сортировка36
I.4.9. Двойной выпадающий список37
I.4.10. Удаление сразу нескольких позиций37
I.4.11. Хранение МРЗ-файлов в базе данных38
I.4.12. Хранение изображений в базе данных39
I.4.13. Загрузка данных из дампа базы данных40
 
Глава I.5. Сессии и cookies41
 
I.5.1. Пользователи OnLine41
I.5.2. Собственный механизм сессии42
I.5.3. Защита HTML-формы при помощи сессии42
I.5.4. Определение, включены ли cookie у посетителя43
I.5.5. Подделка cookie43
I.5.6. Обход защищённой сессией HTML-формы44
I.5.7. Межсайтовый скриптинг45
I.5.8. Похищение cookie47
 
Глава I.6. Пользовательские агенты и рефереры48
 
I.6.1. Переходы с других сайтов48
I.6.2. Защита HTML-формы при помощи реферера49
I.6.3. Фальсификация реферера50
I.6.4. Ключевые слова поисковых систем50
I.6.5. Распознавание посещений сайта роботами поисковых систем50
I.6.6. Защита от менеджеров загрузки50
I.6.7. Фальсификация пользовательского агента51
 
Глава I.7. Авторизация и аутентификация52
 
I.7.1. Авторизация на файлах53
I.7.2. Шифрование пароля54
I.7.3. Подбор пароля55
I.7.4. Подбор пароля по словарю55
I.7.5. Генератор паролей56
I.7.6. Защита текстовых файлов от просмотра в браузере56
I.7.7. Авторизация при помощи cookie57
I.7.8. Защита имени пользователя от подделки59
I.7.9. Авторизация при помощи сессий60
I.7.10. Шифрование пароля в базе данных62
I.7.11. Базовая HTTP-авторизация62
 
Глава I.8. Использование информации со сторонних сайтов63
 
I.8.1. Загрузка страницы с удалённого хоста64
I.8.2. Извлечение ссылок с Yandex64
I.8.3. Извлечение ссылок с Google65
I.8.4. Извлечение ссылок с Rambler66
I.8.5. Извлечение ссылок с Aport67
I.8.6. Определение курса валют из XML-файла68
I.8.7. Определение динамики курса валют69
 
Глава I.9. FTP-протокол72
 
I.9.1. Определение типа операционной системы72
I.9.2. Список файлов на FTP-сервере72
I.9.3. Загрузка файлов73
I.9.4. Изменение прав доступа73
 
Глава I.10. Протокол HTTP74
 
I.10.1. Загрузка страницы74
I.10.2. Получение HTTP-заголовков с сервера75
I.10.3. Определение размера файла на удалённом хосте75
I.10.4. Отправка данных методом POST75
 
Глава I.11. Электронная почта77
 
I.11.1. Отправка почтового сообщения с сайта77
I.11.2. Отправка письма с вложением77
I.11.3. Массовая рассылка писем77
I.11.4. Предотвращение массовой рассылки78
I.11.5. Отправка почтового сообщения через SMTP-ретранслятор78
I.11.6. Выяснение адресов почтовых ретрансляторов78
 
Глава I.12. Whois-сервис79
 
I.12.1. Определение принадлежности IP-адресов79
I.12.2. Определение принадлежности европейских IP-адресов79
I.12.3. Следование реферальному серверу80
I.12.4. Определение IP-адреса по сетевому адресу81
1.12.5. Определение сетевого адреса по IP-адресу81
1.12.6. Выяснение, занят ли домен81
 
Глава I.13. Операционная система UNIX82
 
I.13.1. Использование утилиты ping82
I.13.2. Работа с номером узла82
I.13.3. Права доступа83
I.13.4. Работа с архивами83
 
Глава I.14. Шпионские скрипты84
 
I.14.1. Слежение за ссылкой на удалённой странице84
I.14.2. Проверка ссылочной целостности84
I.14.3. Новые файлы на виртуальном хосте85
I.14.4. Слишком большие файлы на виртуальном хосте85
 
Глава I.15. Разное86
 
I.15.1. Обмен значений переменных86
I.15.2. Скрипт предзагрузки страницы86
I.15.3. Эмуляция утилиты tar87
I.15.4. Буферизация данных87
 
Часть II. РЕШЕНИЯ89
 
Глава II.1. Строки91
 
II.1.1. Количество и имена файлов в произвольном каталоге91
II.1.2. Выравнивание по правому краю95
II.1.3. Выравнивание по левому и правому краям96
II.1.4. Вывод данных в три столбца97
II.1.5. Передача массива между двумя страницами99
II.1.6. Передача массива методом GET100
II.1.7. Передача массива методом POST102
II.1.8. Передача массива через сессии103
II.1.9. Передача массива через cookies104
II.1.10. Календарь106
II.1.11. Вертикальный вывод строки109
II.1.12. Число в денежном формате110
II.1.13. Замена символов bbCode110
 
Глава II.2. Регулярные выражения113
 
II.2.1. Удаление всех тегов из HTML-страницы113
II.2.2. Удаление изображений из HTML-страницы115
II.2.3. Извлечение названия HTML-страницы116
II.2.4. Конвертация даты из MySQL-формата в календарный117
II.2.5. Проверка корректности ввода адреса электронной почты118
II.2.6. Проверка корректности ввода URL120
II.2.7. Подсветка URL121
II.2.8. Проверка корректности ввода чисел121
II.2.9. Изменение регистра122
II.2.10. Разбивка длинной строки124
II.2.11. Разбивка текста на предложения124
II.2.12. Количество слов в тексте128
II.2.13. Интерпретация тегов bbCode131
II.2.14. Подсветка PHP-кода132
 
Глава II.3. Файлы136
 
II.3.1. Загрузка файлов на сервер136
II.3.2. Редактирование файлов на удалённом сервере138
II.3.3. Уязвимость скрипта загрузки140
II.3.4. Счётчик загрузок144
II.3.5. Сохранение текстовых и графических файлов147
II.3.6. Определение размера файла148
II.3.7. Определение количества строк в файле150
II.3.8. Изменение порядка следования строк в файле150
II.3.9. Список файлов и подкаталогов в каталоге151
II.3.10. Количество файлов в каталогах152
II.3.11. Количество строк в файлах проекта154
II.3.12. Замена строки во всех файлах вложенных подкаталогов156
II.3.13. Загрузка файла на сервер по частям157
II.3.14. Удаление каталога159
II.3.15. Случайный вывод из файла160
II.3.16. Редактирование файла161
II.3.17. Сортировка содержимого текстового файла162
II.3.18. Добавление записи в файл167
II.3.19. Постраничная навигация168
II.3.20. Система регистрации170
II.3.21. Случайный вывод из файла175
II.3.22. Определение даты создания изображения175
II.3.23. Копирование содержимого одного каталога в другой176
II.3.24. Взлом гостевой книги177
 
Глава II.4. MySQL и SQL-инъекции180
 
II.4.1. Система регистрации180
II.4.2. SQL-инъекция по числовому параметру183
II.4.3. Определение версии сервера MySQL188
II.4.4. Поиск пользователя — SQL-инъекция189
II.4.5. Удаление пользователей при помощи SQL-инъекции195
II.4.6. Постраничная навигация197
II.4.7. Алфавитная навигация200
II.4.8. Сортировка203
II.4.9. Двойной выпадающий список205
II.4.10. Удаление сразу нескольких позиций211
II.4.11. Хранение MP3-файлов в базе данных213
II.4.12. Хранение изображений в базе данных216
II.4.13. Загрузка данных из дампа базы данных221
 
Глава II.5. Сессии и cookies222
 
II.5.1. Пользователи OnLine222
II.5.2. Собственный механизм сессии225
II.5.3. Защита HTML-формы при помощи сессии230
II.5.4. Определение, включены ли cookie у посетителя232
II.5.5. Подделка cookie233
II.5.6. Обход защищённой сессией HTML-формы235
II.5.7. Межсайтовый скриптинг238
II.5.8. Похищение cookie240
 
Глава II.6. Пользовательские агенты и рефереры241
 
II.6.1. Переходы с других сайтов241
II.6.2. Защита HTML-формы при помощи реферера243
II.6.3. Фальсификация реферера244
II.6.4. Ключевые слова поисковых систем246
II.6.5. Распознавание посещений сайта роботами поисковых систем247
II.6.6. Защита от менеджеров загрузки249
II.6.7. Фальсификация пользовательского агента249
 
Глава II.7. Авторизация и аутентификация251
 
II.7.1. Авторизация на файлах251
II.7.2. Шифрование пароля256
II.7.3. Подбор пароля260
II.7.4. Подбор пароля по словарю267
II.7.5. Генератор паролей269
II.7.6. Защита текстовых файлов от просмотра в браузере270
II.7.7. Авторизация при помощи cookie271
II.7.8. Защита имени пользователя от подделки278
II.7.9. Авторизация при помощи сессий279
II.7.10. Шифрование пароля в базе данных282
II.7.11. Базовая HTTP-авторизация283
 
Глава II.8. Использование информации со сторонних сайтов286
 
II.8.1. Загрузка страницы с удаленного хоста286
II.8.2. Извлечение ссылок с Yandex287
II.8.3. Извлечение ссылок с Google289
II.8.4. Извлечение ссылок с Rambler295
II.8.5. Извлечение ссылок с Aport297
II.8.6. Определение курса валют из XML-файла298
II.8.7. Определение динамики курса валют301
 
Глава II.9. FTP-протокол305
 
II.9.1. Определение типа операционной системы305
II.9.2. Список файлов на FTP-сервере307
II.9.3. Загрузка файлов310
II.9.4. Изменение прав доступа312
 
Глава II.10. Протокол HTTP314
 
II.10.1. Загрузка страницы314
II.10.2. Получение HTTP-заголовков с сервера318
II.10.3. Определение размера файла на удалённом хосте320
II.10.4. Отправка данных методом POST321
 
Глава II.11. Электронная почта324
 
II.11.1. Отправка почтового сообщения с сайта324
II.11.2. Отправка письма с вложением326
II.11.3. Массовая рассылка писем329
II.11.4. Предотвращение массовой рассылки331
II.11.5. Отправка почтового сообщения через SMTP-ретранслятор333
II.11.6. Выяснение адресов почтовых ретрансляторов334
 
Глава II.12. Whois-сервис336
 
II.12.1. Определение принадлежности IP-адресов336
II.12.2. Определение принадлежности европейских IP-адресов337
II.12.3. Следование реферальному серверу338
II.12.4. Определение IP-адреса по сетевому адресу341
II.12.5. Определение сетевого адреса по IP-адресу342
II.12.6. Выяснение, занят ли домен342
 
Глава II.13. Операционная система UNIX350
 
II.13.1. Использование утилиты ping350
II.13.2. Работа с номером узла352
II.13.3. Права доступа353
II.13.4. Работа с архивами357
 
Глава II.14. Шпионские скрипты359
 
II.14.1. Слежение за ссылкой на удалённой странице359
II.14.2. Проверка ссылочной целостности366
II.14.3. Новые файлы на виртуальном хосте369
II.14.4. Слишком большие файлы на виртуальном хосте371
 
Глава II.15. Разное373
 
II.15.1. Обмен значений переменных373
II.15.2. Скрипт предзагрузки страницы374
II.15.3. Эмуляция утилиты tar375
II.15.4. Буферизация данных378
 
ПРИЛОЖЕНИЯ381
 
Приложение 1. Вопросы взлома и безопасности, напрямую не связанные
с кодированием383
 
Что такое прокси-сервер и зачем он нужен?383
Классификация прокси-серверов383
Анонимные прокси-серверы386
Настройка браузера Internet Explorer для работы с прокси-сервером389
Как построить цепочку из прокси-серверов?390
Что такое port mapping?392
Прокси-серверы и DNS-серверы392
PAC-файлы393
Где взять списки бесплатных прокси-серверов?394
Зачем нужны постоянные обновления списков прокси-серверов?395
Почему бесплатные прокси-серверы исчезают?395
Проверка работоспособности прокси-серверов396
Полезные ссылки398
 
Приложение 2. Преступность в IT400
 
Виды преступлений в IT-отрасли400
Глава 28 УК РФ409
Спрашивайте — отвечаем413
 
Приложение 3. Введение в социальное программирование или кто такие
социальные хакеры418
 
Несколько примеров418
Психология = программирование422
Социальное программирование422
Трансактный анализ423
Введение в НЛП437
Заключение или как стать социальным программистом448
 
Приложение 4. Описание компакт-диска450
 
Предметный указатель451

Книги на ту же тему

  1. Взломы Web-узлов. 100 профессиональных советов и инструментов. Практическое пособие, Хеменвей К., Калишейн Т., 2006
  2. Создание защиты в Интернете, Цвики Э., Купер С., Чапмен Б., 2002
  3. Анти-хакер. Средства защиты компьютерных сетей. Справочник профессионала, Джонс К. Д., Шема М., Джонсон Б. С., 2003
  4. Разработка средств безопасности и эксплойтов, Фостер Д., Лю В., 2007
  5. Хакинг: искусство эксплойта, Эриксон Д., 2005
  6. PHP 5. — 2-е изд., перераб. и доп., Котеров Д. В., Костарев А. Ф., 2010
  7. Профессиональное PHP программирование, 2-е издание, 2003
  8. PHP. Сборник рецептов, Скляр Д., Трахтенберг А., 2005
  9. PHP. Справочник, Хадсон П., 2006
  10. PHP 4. Разработка Web-приложений (+ CD-ROM), Ратшиллер Т., Геркен Т., 2001
  11. Профессиональное программирование на PHP, Шлосснейгл Д., 2006
  12. PHP 5. Профессиональное программирование, Гутманс Э., Баккен С., Ретанс Д., 2006
  13. Создаём динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5. — 4-е изд., Никсон Р., 2017
  14. AJAX и РНР: разработка динамических веб-приложений, Дари К., Бринзаре Б., Черчез-Тоза Ф., Бусика М., 2006
  15. UNIX. Справочник, Роббинс А., 2007
  16. UNIX. Профессиональное программирование. — 2-е изд., Стивенс Р., Раго С., 2007
  17. UNIX. Практическое пособие администратора, Торчинский Ф., 2003
  18. UNIX: Разработка сетевых приложений, Стивенс Р., 2003
  19. Взломы и настройка LINUX. 100 профессиональных советов и инструментов. Практическое пособие, Фликенгер Р., 2006
  20. UNIX: взаимодействие процессов, Стивенс Р., 2002
  21. Linux и UNIX: программирование в shell. Руководство разработчика, Тейнсли Д., 2001
  22. Регулярные выражения. Карманный справочник, Стаблибайн Т., 2004
  23. Регулярные выражения. Библиотека программиста, Фридл Д., 2001
  24. Регулярные выражения. 2-ое издание, Фридл Д., 2003
  25. MySQL. Сборник рецептов, Дюбуа П., 2004
  26. Руководство по MySQL, Тахагхогхи С., Вильямс Х. Е., 2007
  27. MySQL и mSQL. Базы данных для небольших предприятий и Интернета, Яргер Р. Д., Риз Д., Кинг Т., 2000

© 1913—2013 КнигоПровод.Ruhttp://knigoprovod.ru