Большой FAQ для новичков.
[1. Общие термины компьютерной безопасности]
- Что такое уязвимость?
В компьютерной безопасности, термин
уязвимость (англ. vulnerability) используется для обозначения дыры или бага(недостатка) в системе, используя который, возможно вызвать ее неправильную работу, повысить привилегии в системе, получить несанкционированный доступ к данным и т.д. Уязвимость может быть результатом ошибок программирования или недостатков, допущенных при проектировании системы. Уязвимость может существовать либо только теоретически, либо иметь известный эксплойт (программный код, эксплуатирующий (использующий) эту уязвимость).
Подробнее в Wiki:
http://ru.wikipedia.org/wiki/Уязвимость_(компьютерная_б зопасность)
- Что такое эксплоит?
Эксплойт (англ. exploit — использовать) — это общий термин в сообществе компьютерной безопасности для обозначения программного кода, который, используя возможности предоставляемые ошибкой, отказом или уязвимостью, ведёт к повышению привилегий или отказу в обслуживании компьютерной системы. Различают локальные и удалённые эксплоиты. Локальный эксплоит требует предварительного доступа к серверу (к компьютеру) и как правило его действия направлены на повышение привилегий в системе (пример. рутовые эксплоиты - повышают права пользователя до root). Удалённые эксплоиты используют уязвимости в сетевых сервисах, протоколах и т.д. и не требуют предварительного доступа к уязвимой системе.
Подробнее в Wiki:
http://ru.wikipedia.org/wiki/Эксплойт
- Что такое Metasploit?
Metasploit Framework (согласно описанию) это законченная среда для написания, тестирования и использования кода эксплойтов. Эта среда обеспечивает надежную платформу для испытаний на проникновение, разработки шелкодов и исследования уязвимостей". Написан на Perl (с некоторыми частями на ассемблере, Python и C) – отсюда нет привязки к какой либо платформе – будет работать в любой системе, где есть интерпретатор Perl`a (с оговоркой, см. дальше). На данный момент, пакет Metasploit Framework функционирует как на Linux так и на Windows, а так же на Мас.
Подробно:
Metasploit Framework для ламеров
- Что такое связка Эксплоитов?
Система эксплоитов, содержащая разные сплоиты под разные уязвимости разных браузеров, построенная с таким расчётом, чтобы обеспечить максимальное колличество пробивов уязвимых клиентов.
- Что значит пробив? Взлом удалённого клиента при заходе его на заражённую web-страницу. (Как правило при этом производится загрузка и последующий запуск целевого файла на компьютере-жертве без его ведома).
- Что такое HOST? (хост)
Хост (от англ. host — хозяин, принимающий гостей) — любое устройство, предоставляющее сервисы формата «клиент-сервер» в режиме сервера по каким-либо интерфейсам и уникально определённое на этих интерфейсах. В более частном случае под хостом могут понимать любой компьютер, сервер, подключенный к локальной или глобальной сети.
Слово «хост» само по себе является практически жаргонным термином, и не несёт никакой информации об устройстве или его функционировании. Употребление слова «хост» имеет смысл только на пару с пояснением, хостом какого сервиса предполагается называемое устройство. Тем не менее, зачастую название сервиса опускают, предполагая, что оно очевидно из контекста.
Хост - узел сети, не являющийся маршрутизатором, т.е. не передающий информацию из одной сети в другую.
Подробнее в Wiki:
http://ru.wikipedia.org/wiki/Хост
[2. Безопасность Web-приложений]
- Какие существуют основные виды уязвимостей Web-приложений (сайтов)?
Основные типы Web-уязвимостей:
1) XSS - cross site scripting - инъекция зловредного кода в тело веб-страницы, атака направлена на клиента сервера.
Условно XSS можно разделить на
активные и пассивные:
при
активных XSS вредоносный скрипт хранится на сервере, и срабатывает в браузере жертвы, при открытии какой-либо страницы зараженного сайта;
пассивные XSS подразумевают, что скрипт не хранится на сервере уязвимого сайта, либо он не может автоматически выполниться в браузере жертвы. Для срабатывания
пассивной XSS, требуется некое дополнительное действие, которое должен выполнить браузер жертвы (как правило - клик по специально сформированной ссылке, часто эта ссылка и содержит внедряемый код).
Подробнее в Wiki:
http://ru.wikipedia.org/wiki/Межсайтовый_скриптинг.
- Что может дать взломщику атака типа XSS?
1) Как правило взломщик использует возможность угнать (прочитать)
Cookie (Куки) и перенаправить их на свой
Sniffer (Сниффер). В дальнейшем он может использовать их для авторизации на уязвимом сайте, изменив значения у себя в браузере. К примеру, угнав куки администратора сайта, форума, он может получить возможность поднять свои привилегии до админских на уязвимом сайте.
2) Второе приминение XSS уязвимости - это
редирект на зарание подготовленную страницу. Это может быть фейковый сайт, т.е. к примеру сайт на котором найдена уязвимость не использует куки, поэтому юзера можно отредиректить на свою фейковую страницу и уже там попытатся похитишь логин и пароль. Либо делать редирект на сайт где установлен сплоит, использующий уязвимость в браузере.
3) Повысить свои позиции в рейтинге поисковиков. Если уязвимость активная, то можно оставлять линки на свой сайт тем самым повышать колличество ссылок на свой ресурс.
- Что такое снифер?
(от англ. to sniff — нюхать) — сетевой анализатор трафика, программа или программно-аппаратное устройство, предназначенное для перехвата и последующего анализа, либо только анализа сетевого трафика, предназначенного для других узлов. Простой снифер на php - скрипт, принимающий и записывающий в файл лога значения куков атакуемого через XSS браузера пользователя.
Более подробно в Wiki
http://ru.wikipedia.org/wiki/Анализатор_трафика
- Что такое редирект?
Перенаправление клиента на другой
URL
- Что такое URL?
Единый указатель ресурсов (англ. URL — Uniform Resource Locator) — единообразный локатор (определитель местонахождения) ресурса. По‐английски «URL» целиком произносится как /ɜː(ɹ)l/, по‐русски чаще говорят [у-эр-э́л] или [урла́] (сленг). Ранее назывался Universal Resource Locator — универсальный локатор ресурса. URL — это стандартизированный способ записи адреса ресурса в сети Интернет.
Подробнее в Wiki
http://ru.wikipedia.org/wiki/URL
- Что такое Cookie?
HTTP-Cookie или «куки» (от англ. cookie — печенье) — служебная информация, посылаемая веб-сервером на компьютер пользователя, для сохранения в браузере. Применяется для сохранения данных, специфичных для данного пользователя, и используемых веб-сервером для различных целей, в числе которых:
- в системах с удаленным доступом — пароль (как правило часто это хэш), порождаемый сервером при первом подключении и отсылаемый пользователю; при последующих подключениях пользователь должен предоставлять серверу этот пароль (чаще хэш)
- отслеживание состояния сессии (обычно кукис - хранит идентификатор сессии).
Т.е. сначала мы вводим логин и пароль, сервер идентифицирует пользователя по логину и сверяет пароль, хранящийся в базе данных сайта. Если пароль совпадает, то сервер формирует куки (логин и хэш пароля к примеру) и отправляет клиенту (они сохраняются в браузере). Для последующей авторизации пользователю уже не нужно вводить логин и пароль, потому что сервер имеет возможность прочитать куки клиента, хранящиеся в браузе и по ним идентифицировать пользователя. Куки могут быть действительны ограниченное время (время жизни куки). Если время жизни истекло, требуется повторная авторизация с вводом логина и пароля.
Подробнее в Wiki:
http://ru.wikipedia.org/wiki/HTTP-Cookie
Через подмену куки так же иногда возможно организовать XSS нападение, вписав в значение куки вредоносный код.
- Что такое Сессия?
Посещение, Визит,
Site session - серия запросов к серверу, сделанных одним пользователем в заданный промежуток времени. В течение сессии пользователь обращается к тем либо иным страницам сайта, и каждый его запрос отражается в логах сервера. Сессия считается завершенной, если в течение 30 минут (обычно) от пользователя не поступило к серверу ни одного нового запроса. Сессия на сайте - время от подсоединения пользователя к серверу до обрыва связи или отсоединения.
Собственно, сессии, если в двух словах - это механизм, позволяющий однозначно идентифицировать клиента (браузер) и создающий для этого браузера файл на сервере, в котором хранятся переменные сеанса.
- Что такое идентификатор сессии?
Уникальный случайный номер (обычно много знаков) который присваивается сервером клиенту и отсылается ему в виде куки, значение которой однозначно идентифицирует пользователя.
Подробнее о механизме сессий в PHP
http://www.phpfaq.ru/sessions
2. SQL injection - (на слэнге скуля) инъекция (внедрение) своего запроса в существующий легальный запрос, либо модификация легального запроса к базе данных.
- Что такое SQL? (произносится Эскуэль)
SQL - (англ. Structured Query Language — язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. Вопреки существующим заблуждениям, SQL является информационно-логическим языком, а не языком программирования, хотя он и содержит в себе логические операторы и различные функции функции.
Подробнее в Wiki
http://ru.wikipedia.org/wiki/SQL,
Примеры SQL injection
- Что такое PHP? (на слэнге ПЭХЭПЭ, правильно ПиАшПи
PHP - (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста») — язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров. Входит в LAMP — «стандартный» набор для создания веб-сайтов (Linux, Apache, MySQL, PHP (Python или Perl)).) PHP является интерпретируемым языком программирования.
Подробнее по PHP
http://ru.wikipedia.org/wiki/PHP
Справочник PHP
http://www.php.ru/
- В чём отличие интерпретируемого языка от компилируемого?
Код интерпретируемого языка обрабатывает сначала интерпретатор (специальная программа, каждый раз переводящая построчно каждую строку php-кода в машинные коды в процессе исполнения). Компилятор, в отличие от интерпретатора, "переводит" весь код программы в машинные коды целиком и в дальнейшем уже, для запуска программы на исполнение, не требуется повторная компиляция. Вот почему компилируемые программы работают намного быстрее чем интерпретируемые и не требуют наличия какого-либо обработчика (интерпретатора).
3.PHP include - (на слэнге пэхэпэинклуд) выполнение своего кода на целевом веб-сервере.
Это один из способов взлома веб-сайтов, работающих на PHP, заключающийся в выполнении постороннего кода на серверной стороне. Потенциально опасными функциями являются:
PHP код:
eval(),
preg_replace() (с модификатором «e»),
require_once(),
include_once(),
include(),
require(),
create_function().
PHP-инъекция становится возможной, если входные параметры принимаются и используются без проверки.
[3. Безопасность ICQ и E-Mail]
(всё что касается взлома и угона аккуантов и их защиты)
- в разработке, разработчик:
xaklip
[4. Безопасность ОС (Операционных систем)]
(антивирусы, вирусы, фаеры, инжекты в доверенные процессы и т.п. всё что касается защиты и атаки на клиента, сервера и т.п. на уровне ОС
- в разработке
[5. Основные сетевые термины и понятия.]
(всё что касается сетей, включая WiFi]
- в разработке
[6. Анонимность в глобальной сети Интернет]
- в разработке
[7. hack soft] (программы для взлома, сервисы и т.д.)]
- в разработке
[8. Хэш-функции]
- Что такое хэш? (hash)
Хеш (англ. Hash, произносится /hæʃ/)
Хеш в программировании криптоалгоритмов — слепок (оттиск) часто шеснадцатиричное число (реже строка) фиксированной длины, которое ставится в соответствие данным произвольной длины таким образом, чтобы вероятность появления различных данных с одинаковым хешем стремилась к нулю, а восстановить данные по их хешу было как можно труднее (необратимое преобразование).
- Что такое хэширование?
одностороннее преобразование входных данных.
- Что такое Хеш-функция? Функция выполняющая такое преобразование (обычно под этим понимают сам алгорим хэширования).
- Что такое алгорим? это точный набор инструкций, описывающих последовательность действий некоторого исполнителя для достижения результата, решения некоторой задачи за конечное время. По мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок». Это связано с тем, что какие-то действия алгоритма должны быть выполнены только друг за другом, но какие-то могут быть и независимыми (и выполняться одновременно).
- Какие существуют алгоритмы хэширования (хэш функции)? Алгоритмов хэширования существует очень много, никто не мещает создать свой алгоритм хэширования на основе базовых алгоритмов, комбинируя различным способом эти алгоритмы и используя результат хэширования, как аргумент для другой функции хэширования.
Вычислить онлайн хэши и посмотреть их можно тут:
http://www.insidepro.com/hashes.php?lang=rus
- Какие самые популярные алгоритмы хэширования?
Самые популярные считаются
md5(128bit), mysql(64bit), sha-1 (256bit), MySQL5 (256bit). в скобках указана разрядность хэша, чем больше разрядность, тем выше стойкость хэша к перебору (взлому - поиск исходной начальной последовательности)
- Как определить тип хэша по его виду?
1) Не всегда можно точно определить тип хэша, например хэши
sha-1 (256bit) и MySQL5 (256bit) - идентичны по внешнему виду.
Некоторые типы можно определить по характерным символам в самом хэше, например:
Код:
MD5(Base64) - ip0JPxT4cB3xdzKyuxgsdA==
MD5(Unix) - $1$$I2o9Z7NcvQAKp7wyCTlia0
MD5(APR) - $apr1$$qjtLUZpoiD4RwXIYf4qVb0
2) Иногда можно с определённой уверенностью узнать алгоритм из типа форумного движка или CMS
Типы хэшей, используемых в популярных движках, смотрите тут:
http://someshit.net/as3f13asf21/
Более подробно по типам хэшей можно почитать тут:
https://forum.antichat.ru/thread26983.html
- Можно ли расшифровать хэш?
Хэш нельзя в правильном понимании слова
расшифровать потому как алгоритм односторонний (необратим). Но можно пробовать
подобрать исходную последовательность и получить на выходе функции хэширования такой же хэш. В этом случае с большой вероятностью это будет исходный пароль, либо что очень маловероятное явление -
коллизия функции хэширования.
- Что такое коллизия хэш-функции?
Коллизией хэш-функции называется ситуация, при которой для двух различных
входов T1 и T2 выполняется условие
H(T1)=H(T2) т.е. проще говоря, два разных пароля имеют один и тот же хэш. Большинство хэш-функций имеют вероятные коллизии, но для хороших функций они возникают намного реже (или сложнее в поиске) по сравнению с плохими. В некоторых частных случаях, для которых заранее известно все возможное множество входных данных, возможно создать хорошие хэш-функции, отображающие все множество входов на множество различных выходов. Но для функций, принимающих вход переменной длины и возвращающих хэш постоянной длины (такие, как MD5), коллизии будут существовать всегда, поскольку любому значению хэш-функции может быть сопоставлено бесчисленное множество различных входов.
- Как мне получить исходный пароль зная хэш?
1) Использовать онлайн сервисы мгновенной расшифровки. (Как правило они содержат вычисленные зарание таблицы соответствия пароль: хэш и при запросе осуществляется простой поиск по такой таблице).
Список онлайн сервисов приведён тут
https://forum.antichat.ru/thread11028.html
2) Использовать программы брутфорсеры,использующие различные виды атак (перебор по словарям, грубой силой, по маске и др.)
Основные популярные программы для брута найдёте тут:
https://forum.antichat.ru/thread37651.html
- Что такое Соль? Соль (salt) - это сгенерированные скриптом данные, которые усложняют подбор пароля после хеширования.
Чем больше символов в Salt, тем дольше и сложней брутить подобный хэш. ПОясню на примере: допустим юзер взял простой пароль
12345, сбрутить его можно за считанные секунды. В случае с солью, скрипт добавит к паролю например
98$#5h!^ вот такие символы, т.е. хэш будет вычисляться уже от
98$#5h!^12345, что сбрутить намного сложнее. Как правило на каждый пароль генерится своя соль, что так же снижает скорость перебора в случае одновременного брута большого списка хэшей - скорость уменьшается прямопропорционально колличеству хэшей, т.е. 2 хэша - в два раза, 3 хэша в 3 раза и т.д. Это происходит потому, что вычисление хэша надо сделать для каждого пароля с разной солью, а не один раз для всего списка. Как правило соль хранится в таблице в базе данных на стороне сервера, там же где и сам хэш.
- в разработке (Я уже взял этот раздел)
[9. Обфускация и криптозащита]
(Защита исходных кодов, взлом, крипторы, джоинеры и т.п.)
- в разработке
[10. Вопросы по теме SEO]
- в разработке
... продолжение следует, текст редактируется.