Головоломки на PHP для хакера
Book information
Description
Книга представляет собой задачник по Web-технологиям с уклоном в защиту Web-приложений от злоумышленников. Цель книги — помочь Web-разработчику научиться самостоятельно обнаруживать и устранять уязвимости в своем коде. На компакт-диске, поставляемом вместе с книгой, приведены скрипты, являющиеся ответами на предлагаемые задачи. Оглавление Введение Благодарности Часть I. ЗАДАЧИ Глава I.1. Строки I.1.1. Количество и имена файлов в произвольном каталоге I.1.2. Выравнивание по правому краю I.1.3. Выравнивание по левому и правому краям I.1.4. Вывод данных в три столбца I.1.5. Передача массива между двумя страницами I.1.6. Передача массива методом GET I.1.7. Передача массива методом POST I.1.8. Передача массива через сессии I.1.9. Передача массива через cookies I.1.10. Календарь I.1.11. Вертикальный вывод строки I.1.12. Число в денежном формате I.1.13. Замена символов bbCode Глава I.2. Регулярные выражения I.2.1. Удаление всех тегов из HTML-страницы I.2.2. Удаление изображений из HTML-страницы I.2.3. Извлечение названия HTML-страницы I.2.4. Конвертация даты из MySQL-формата в календарный формат I.2.5. Проверка корректности ввода адреса электронной почты I.2.6. Проверка корректности ввода URL I.2.7. Подсветка URL I.2.8. Проверка корректности ввода чисел I.2.9. Изменение регистра I.2.10. Разбивка длинной строки I.2.11. Разбивка HTML-страницы на предложения I.2.12. Количество слов в тексте I.2.13. Интерпретация тегов bbCode I.2.14. Подсветка PHP-кода Глава I.3. Файлы I.3.1. Загрузка файлов на сервер I.3.2. Редактирование файлов на удаленном сервере I.3.3. Уязвимость скрипта загрузки I.3.4. Счетчик загрузок I.3.5. Сохранение текстовых и графических файлов I.3.6. Определение размера файла I.3.7. Определение количества строк в файле I.3.8. Изменение порядка следования строк в файле I.3.9. Список файлов и подкаталогов в каталоге I.3.10. Количество файлов в каталогах I.3.11. Количество строк в файлах проекта I.3.12. Замена строки во всех файлах вложенных подкаталогов I.3.13. Загрузка файла на сервер по частям I.3.14. Удаление каталога I.3.15. Случайный вывод из файла I.3.16. Редактирование файла I.3.17. Сортировка содержимого текстового файла I.3.18. Добавление записи в файл I.3.19. Постраничная навигация I.3.20. Система регистрации I.3.21. Случайный вывод из файла I.3.22. Определение даты создания изображения I.3.23. Копирование содержимого одного каталога в другой I.3.24. Взлом гостевой книги Глава I.4. MySQL I.4.1. Система регистрации I.4.2. SQL-инъекция по числовому параметру I.4.3. Определение версии сервера MySQL I.4.4. Поиск пользователя — SQL-инъекция I.4.5. Удаление пользователей при помощи SQL-инъекции I.4.6. Постраничная навигация I.4.7. Алфавитная навигация I.4.8. Сортировка I.4.9. Двойной выпадающий список I.4.10. Удаление сразу нескольких позиций I.4.11. Хранение MP3-файлов в базе данных I.4.12. Хранение изображений в базе данных I.4.13. Загрузка данных из дампа базы данных Глава I.5. Сессии и cookies I.5.1. Пользователи OnLine I.5.2. Собственный механизм сессии I.5.3. Защита HTML-формы при помощи сессии I.5.4. Определение, включены ли cookie у посетителя I.5.5. Подделка cookie I.5.6. Обход защищенной сессией HTML-формы I.5.7. Межсайтовый скриптинг I.5.8. Похищение cookie Глава I.6. Пользовательские агенты и рефереры I.6.1. Переходы с других сайтов I.6.2. Защита HTML-формы при помощи реферера I.6.3. Фальсификация реферера I.6.4. Ключевые слова поисковых систем I.6.5. Распознавание посещений сайта роботами поисковых систем I.6.6. Защита от менеджеров загрузки I.6.7. Фальсификация пользовательского агента Глава I.7. Авторизация и аутентификация I.7.1. Авторизация на файлах I.7.2. Шифрование пароля I.7.3. Подбор пароля I.7.4. Подбор пароля по словарю I.7.5. Генератор паролей I.7.6. Защита текстовых файлов от просмотра в браузере I.7.7. Авторизация при помощи cookie I.7.8. Защита имени пользователя от подделки I.7.9. Авторизация при помощи сессий I.7.10. Шифрование пароля в базе данных I.7.11. Базовая HTTP-авторизация Глава I.8. Использование информации со сторонних сайтов I.8.1. Загрузка страницы с удаленного хоста I.8.2. Извлечение ссылок с Yandex I.8.3. Извлечение ссылок с Google I.8.4. Извлечение ссылок с Rambler I.8.5. Извлечение ссылок с Aport I.8.6. Определение курса валют из XML-файла I.8.7. Определение динамики курса валют Глава I.9. FTP-протокол I.9.1. Определение типа операционной системы I.9.2. Список файлов на FTP-сервере I.9.3. Загрузка файлов I.9.4. Изменение прав доступа Глава I.10. Протокол HTTP I.10.1. Загрузка страницы I.10.2. Получение HTTP-заголовков с сервера I.10.3. Определение размера файла на удаленном хосте I.10.4. Отправка данных методом POST Глава I.11. Электронная почта I.11.1. Отправка почтового сообщения с сайта I.11.2. Отправка письма с вложением I.11.3. Массовая рассылка писем I.11.4. Предотвращение массовой рассылки I.11.5. Отправка почтового сообщения через SMTP-ретранслятор I.11.6. Выяснение адресов почтовых ретрансляторов Глава I.12. Whois-сервис I.12.1. Определение принадлежности IP-адресов I.12.2. Определение принадлежности европейских IP-адресов I.12.3. Следование реферальному серверу I.12.4. Определение IP-адреса по сетевому адресу I.12.5. Определение сетевого адреса по IP-адресу I.12.6. Выяснение, занят ли домен Глава I.13. Операционная система UNIX I.13.1. Использование утилиты ping I.13.2. Работа с номером узла I.13.3. Права доступа I.13.4. Работа с архивами Глава I.14. Шпионские скрипты I.14.1. Слежение за ссылкой на удаленной странице I.14.2. Проверка ссылочной целостности I.14.3. Новые файлы на виртуальном хосте I.14.4. Слишком большие файлы на виртуальном хосте Глава I.15. Разное I.15.1. Обмен значений переменных I.15.2. Скрипт предзагрузки страницы I.15.3. Эмуляция утилиты tar I.15.4. Буферизация данных Часть II. РЕШЕНИЯ Глава II.1. Строки II.1.1. Количество и имена файлов в произвольном каталоге II.1.2. Выравнивание по правому краю II.1.3. Выравнивание по левому и правому краям II.1.4. Вывод данных в три столбца II.1.5. Передача массива между двумя страницами II.1.6. Передача массива методом GET II.1.7. Передача массива методом POST II.1.8. Передача массива через сессии II.1.9. Передача массива через cookies II.1.10. Календарь II.1.11. Вертикальный вывод строки II.1.12. Число в денежном формате II.1.13. Замена символов bbCode Глава II.2. Регулярные выражения II.2.1. Удаление всех тегов из HTML-страницы II.2.2. Удаление изображений из HTML-страницы II.2.3. Извлечение названия HTML-страницы II.2.4. Конвертация даты из MySQL-формата в календарный II.2.5. Проверка корректности ввода адреса электронной почты II.2.6. Проверка корректности ввода URL II.2.7. Подсветка URL II.2.8. Проверка корректности ввода чисел II.2.9. Изменение регистра II.2.10. Разбивка длинной строки II.2.11. Разбивка текста на предложения II.2.12. Количество слов в тексте II.2.13. Интерпретация тегов bbCode II.2.14. Подсветка PHP-кода Глава II.3. Файлы II.3.1. Загрузка файлов на сервер II.3.2. Редактирование файлов на удаленном сервере II.3.3. Уязвимость скрипта загрузки II.3.4. Счетчик загрузок II.3.5. Сохранение текстовых и графических файлов II.3.6. Определение размера файла II.3.7. Определение количества строк в файле II.3.8. Изменение порядка следования строк в файле II.3.9. Список файлов и подкаталогов в каталоге II.3.10. Количество файлов в каталогах II.3.11. Количество строк в файлах проекта II.3.12. Замена строки во всех файлах вложенных подкаталогов II.3.13. Загрузка файла на сервер по частям II.3.14. Удаление каталога II.3.15. Случайный вывод из файла II.3.16. Редактирование файла II.3.17. Сортировка содержимого текстового файла II.3.18. Добавление записи в файл II.3.19. Постраничная навигация II.3.20. Система регистрации II.3.21. Случайный вывод из файла II.3.22. Определение даты создания изображения II.3.23. Копирование содержимого одного каталога в другой II.3.24. Взлом гостевой книги Глава II.4. MySQL и SQL-инъекции II.4.1. Система регистрации II.4.2. SQL-инъекция по числовому параметру II.4.3. Определение версии сервера MySQL II.4.4. Поиск пользователя — SQL-инъекция II.4.5. Удаление пользователей при помощи SQL-инъекции II.4.6. Постраничная навигация II.4.7. Алфавитная навигация II.4.8. Сортировка II.4.9. Двойной выпадающий список II.4.10. Удаление сразу нескольких позиций II.4.11. Хранение MP3-файлов в базе данных II.4.12. Хранение изображений в базе данных II.4.13. Загрузка данных из дампа базы данных Глава II.5. Сессии и cookies II.5.1. Пользователи OnLine II.5.2. Собственный механизм сессии II.5.3. Защита HTML-формы при помощи сессии II.5.4. Определение, включены ли cookie у посетителя II.5.5. Подделка cookie II.5.6. Обход защищенной сессией HTML-формы II.5.7. Межсайтовый скриптинг II.5.8. Похищение cookie Главa II.6. Пользовательские агенты и рефереры II.6.1. Переходы с других сайтов II.6.2. Защита HTML-формы при помощи реферера II.6.3. Фальсификация реферера II.6.4. Ключевые слова поисковых систем II.6.5. Распознавание посещений сайта роботами поисковых систем II.6.6. Защита от менеджеров загрузки II.6.7. Фальсификация пользовательского агента Глава II.7. Авторизация и аутентификация II.7.1. Авторизация на файлах II.7.2. Шифрование пароля II.7.3. Подбор пароля II.7.4. Подбор пароля по словарю II.7.5. Генератор паролей II.7.6. Защита текстовых файлов от просмотра в браузере II.7.7. Авторизация при помощи cookie II.7.8. Защита имени пользователя от подделки II.7.9. Авторизация при помощи сессий II.7.10. Шифрование пароля в базе данных II.7.11. Базовая HTTP-авторизация Глава II.8. Использование информации со сторонних сайтов II.8.1. Загрузка страницы с удаленного хоста II.8.2. Извлечение ссылок с Yandex II.8.3. Извлечение ссылок с Google II.8.4. Извлечение ссылок с Rambler II.8.5. Извлечение ссылок с Aport II.8.6. Определение курса валют из XML-файла II.8.7. Определение динамики курса валют Глава II.9. FTP-протокол II.9.1. Определение типа операционной системы II.9.2. Список файлов на FTP-сервере II.9.3. Загрузка файлов II.9.4. Изменение прав доступа Главa II.10. Протокол HTTP II.10.1. Загрузка страницы II.10.2. Получение HTTP-заголовков с сервера II.10.3. Определение размера файла на удаленном хосте II.10.4. Отправка данных методом POST Главa II.11. Электронная почта II.11.1. Отправка почтового сообщения с сайта II.11.2. Отправка письма с вложением II.11.3. Массовая рассылка писем II.11.4. Предотвращение массовой рассылки II.11.5. Отправка почтового сообщения через SMTP-ретранслятор II.11.6. Выяснение адресов почтовых ретрансляторов Главa II.12. Whois-сервис II.12.1. Определение принадлежности IP-адресов II.12.2. Определение принадлежности европейских IP-адресов II.12.3. Следование реферальному серверу II.12.4. Определение IP-адреса по сетевому адресу II.12.5. Определение сетевого адреса по IP-адресу II.12.6. Выяснение, занят ли домен Глава II.13. Операционная система UNIX II.13.1. Использование утилиты ping II.13.2. Работа с номером узла II.13.3. Права доступа II.13.4. Работа с архивами Главa II.14. Шпионские скрипты II.14.1. Слежение за ссылкой на удаленной странице II.14.2. Проверка ссылочной целостности II.14.3. Новые файлы на виртуальном хосте II.14.4. Слишком большие файлы на виртуальном хосте Главa II.15. Разное II.15.1. Обмен значений переменных II.15.2. Скрипт предзагрузки страницы II.15.3. Эмуляция утилиты tar II.15.4. Буферизация данных ПРИЛОЖЕНИЯ Приложение 1. Вопросы взлома и безопасности, напрямую не связанные с кодированием Что такое прокси-сервер и зачем он нужен? Классификация прокси-серверов Анонимные прокси-серверы Настройка браузера Internet Explorer для работы с прокси-сервером Как построить цепочку из прокси-серверов? Что такое port mapping? Прокси-серверы и DNS-серверы PAC-файлы Где взять списки бесплатных прокси-серверов? Зачем нужны постоянные обновления списков прокси-серверов? Почему бесплатные прокси-серверы исчезают? Проверка работоспособности прокси-серверов Полезные ссылки Приложение 2. Преступность в IT Виды преступлений в IT-отрасли Глава 28 УК РФ Спрашивайте — отвечаем Приложение 3. Введение в социальное программирование или кто такие социальные хакеры Несколько примеров Психология = программирование Социальное программирование Трансактный анализ Введение в НЛП Заключение или как стать социальным программистом Приложение 4. Описание компакт-диска Предметный указатель
Similar books
C++. Мастер-класс в задачах и примерах
2007 · PDF
Самоучитель PHP 5/6
2008 · PDF
Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique
2025 · PDF
Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная
2022 · PDF
Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание
2021 · PDF
Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)
2022 · PDF
Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)
2023 · PDF
Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"
2022 · PDF