Уязвимости сайтов

MR_smoker

Арбитр
АРБИТРАЖ
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
ЮБИЛЕЙНАЯ ЛЕНТА

MR_smoker

Арбитр
АРБИТРАЖ
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
ЮБИЛЕЙНАЯ ЛЕНТА
Регистрация
20 Июн 2018
Сообщения
1,734
Реакции
632
Репутация
39
Род занятий

Отрисовка документов

Содержание:
  1. XSS injection
  2. SQL injection
  3. HTML bug
  4. Выполнение команд ОС
  5. Человеческие уязвимости
Начать объяснение следует с того, что такое уязвимость сайта.

Уязвимость сайта - это недоработка в программном коде или недостаточно хорошо настроенная CMS (Система Управления), и вследствие более лёгкий взлом такого web ресурса.

Безусловно, если у вас есть сайт, вы должны позаботиться о его безопасности для пользователей и для него же самого. Но если вы по каким-либо причинам ещё этого не сделали, то далее будут описаны эти уязвимости и их опасность для вас, посетителей вашего интернет ресурса, и для сервера, на котором он находится.

XSS - Кросс-сайтовый скриптинг

Думаю, начать стоит именно с этого типа уязвимостей, ведь они опасны именно для пользователей вашего сайта, если пользователи поймут, что сайт опасен для них, то они перестанут его посещать, а если сайт останется без людей которые его посещают, то он канет в лету.

Как это работает?

На самом деле, не так уж и сложно, как хотелось бы владельцам сайтов. Любой человек который хочет проверить ваш сайт на прочность, просто введёт в какую-нибудь форму ввода
Код:
<script>alert(XSS)</script>
, и сайт послушно ответит этому человеку XSS , конечно при условии, что вы не экранируете этот вид атак, сделать же это не сложно, нужно просто фильтровать пользовательский ввод. Проще всего этой атаке поддаются сайты написанные на PHP, защищённее же всего против XSS атак себя показывают сайты на Java.

Ещё хотелось бы добавить, что этот вид атак эффективнее всего для крекеров, ведь он охватывает огромное количество людей (зависит это конечно же от сайта) и, зачастую жертвы даже не подозревают, о том, что они уже являются жертвами XSS атак, они просто сёрфят в интернете, не подозревая, что за ними следят. Как?

Пример

Можно найти уязвимый сайт и ввести на нём
Код:
<script>hook.js</script>
и тогда посетитель сайта автоматически попадётся на крючок того, кто захотел испытать Beef XSS framework, теперь за несчастым можно следить через камеру, скачивать к нему на компьютер всё, что угодно, под видом обновлений браузера или различных дополнений.

Вывод

Думаю потенциал этой уязвимости я для вас раскрыл и вы уже идёте проверять свой сайт на предмет этой уязвимости. А если у вас нет сайта, то пожалуйста, не надо проверять чужие.

SQL injection

SQL инъекция - это такой вид атаки, при котором злоумышленник получает доступ к базе данных сайта. То есть ,если это соц .сеть или мессенджер то крекер получает доступ ко всем паролям, логинам и прочим данным учётных записей, а если это банк, то дело обстоит гораздо хуже - слив данных о картах этого банка и их владельцах, соответственно потеря огромного количества денег и клиентов и скорее всего банкротство банка.

Пример

Отец, написал в записке маме, чтобы она дала Васе 100 рублей и положил её на стол. Переработав это в шуточный SQL язык, мы получим:

ДОСТАНЬ ИЗ кошелька 100 РУБЛЕЙ И ДАЙ ИХ Васе

Так-как отец плохо написал записку (Корявый почерк), и оставил её на столе, её увидел брат Васи — Петя. Петя, будучи крекером, дописал там «ИЛИ Пете» и получился такой запрос:
ДОСТАНЬ ИЗ кошелька 100 РУБЛЕЙ И ДАЙ ИХ Васе ИЛИ Пете

Мама прочитав записку, решила, что Васе она давала деньги вчера и дала 100 рублей Пете. Вот простой пример SQL инъекции :) Не фильтруя данные (Мама еле разобрала почерк), Петя добился профита.

Как это работает?

А сейчас давайте объясним всё более техническим языком, для людей знающих.

Инъекция, как стало ясно, появляется из вводимых данных и работает эта уязвимость по причине не фильтрации передаваемого ID, проще говоря, по причине подставления кавычек там, где их не должно быть. Вобщем как-то так:
Код:
$id = $_GET['id'];

$query = "SELECT * FROM news WHERE id=$id";
Где id номер искомого элемента, а news - расположение искомого объекта на сайте.

Вывод

Это, конечно, не всё, а иначе это было бы прямым руководством к действию. Но, я надеюсь вы поняли насколько опасна эта уязвимость, и побежали её фиксить.

HTML bug

Здесь всё практически идентично предыдущим двум уязвимостям, единственное отличие - это то, что в этом случае мы изменяем содержание страницы, ведь, как все мы знаем, html отвечает за содержание страницы, поэтому для сервера эта уязвимость не представляет опасности, хотя в руках умелого крекера эта уязвимость стала бы “золотой жилой”.

Пример

Эта уязвимость кажется некоторым абсолютно безопасной, однако это совершенно не так. Если эта “дыра” попадётся умному социальному инженеру, то он заставит посетителей вашего сайта перейти по какой либо ссылке, которую он, собственно, туда и встроит. И пользователи перейдут по этой ссылке, не зря же его называют социальным инженером. Примерно так это будет выглядеть на сайте:

До

Источники:

Статья в википедии: wikipedia.org/blabla

После

Источники:

Статья в википедии: yaTEBYAvzlomal.org/tebeKapets

Конечно, на это поведётся только осёл, но я сделал такой пример для наглядности, на деле же, можно изменить слово ”wikipedia” на слово ”wiklpedia”. Вы заметили разницу? Скорее всего, а вот если бы вы читали какую-нибудь статью на доверенном сайте, и в источниках был бы указан например фишиновый сайт ВК, то вы с большой долей вероятности перейдёте на этот сайт и введёте там свои данные, а что будет дальше вы и сами понимаете.

Выполнение команд ОС

Здесь же всё гораздо серьёзнее, допустим у вас есть сайт, установленный на сервере, который стоит у вас дома. На сервере установлена ОС Linux, и если крекер получит доступ к терминалу linux на вашем сервере, то у него появятся некоторые возможности. Те, кто знаком с ОС Linux уже понимают, чем это может грозить вам лично и вашему сайту, тем же кто не линуксоиды, я сейчас всё объясню. В ОС Linux есть, команды, позволяющие, например удалить ядро системы, а следовательно, вы попрощаетесь со своим линуксом и сайтом соответственно, на этот случай, нужно всегда на отдельном носителе иметь бэкапы вашего сайта и не использовать этот накопитель в других целях. Вы и так умный, и у вы храните бэкапы своего сайта? Есть та команда в терминале а точнее, цепочка команд, позволяющих получить доступ к сети, к которой подключен ваш сервер. Далее к другим устройствам в этой сети и следовательно к информации на вашем компьютере. В том числе к вашей истории браузера) А это уже компромат.

Пример

*Я уже получил доступ к серверу, на котором установлен Kali Linux, и этот сервер установлен в вашей домашней сети*

я использую утилиту nmap , показываются результаты сканирования сети и пусть там будет обнаружен ip адрес 192.168.1.3, уже можно попытаться подключиться к открытым портам, но это уже будет гайдом, а я не делаю гайдов по взлому, я лишь знакомлю читателей с опасностями уязвимых сайтов.

DOS - Denial of Service (отказ в обслуживании)

Dos атака очень популярна, ведь она положит почти любой сервер. Смысл этой атаки заключается в эмулировании очень большого количества посетителей сайта, в большинстве случаев сервер не выдерживает нагрузки и падает, а на какое время, зависит от интенсивности проводимой атаки и расторопности владельца сайта. Dos атаку проводят ping флудом (огромное количество маленьких запросов, в ответ на которые приходят маленькие ответы, положить сервер этим подвидом Dos атаки не получиться, потому что у сервера большая пропускная способность, этим способом можно положить лишь свой роутер. Есть также способ http флуда, в этом случае вы отправляете серверу маленькие запросы, в ответ на которые он даёт вам большие ответы, которые гораздо более сильно засоряют его полосу пропускания, следовательно, сервер с большой вероятностью ляжет раньше вашего роутера.

Человеческие уязвимости

Далее пойдут те уязвимости, в фиксе которых не нужны никакие дополнительные знания, нужно лишь просто проявить больше внимания к своему сайту. Начнём!
  1. Предсказуемые директории. Сразу пример: есть сайт example.com и админ панель находится по адресу example.com/admin , это банальнейшая ошибка, но она встречается. Из-за этой ошибки крекер получит доступ к админ панели вашего сайта, и будет на шаг ближе к её взлому.
  2. Предсказуемые пароли. Предсказуемые пароли на той же админ панели, например: Логин: admin Пароль: password Объяснения не требуются, верно?
  3. Предсказуемое значение идентификатора сессии (Credential/Session Prediction) – в этом случае у злоумышленника есть возможность перехватить сессию другого посетителя сайта, что может угрожать кражей личной информации. Уникальный номер сессии может быть предсказан или просто угадан, если вы не предпринимаете мер по предотвращению этого.
  4. Недостаточная авторизация (Insufficient Authorization) – возможна в тех случаях, когда аутентификация настроена неверно. Аккаунт крекера не имеет ограничения в доступе к данным, а следовательно может видеть и использовать те данные, которые должны быть видны только администратору.
Это конечно не все уязвимости, но не упомянуть о некоторых из них было бы неправильно, даже если они не сильно опасны, хотя как я уже писал любая уязвимость в руках умелого крекера - это печалька для сайта, его владельца и посетителей горе-сайта.
 
Сверху