Просмотров: 10098 (Статистика ведётся с 06.02.2017)
Дата последнего изменения: 21.07.2019
Анна Кокина
Сложность урока:
1 уровень - интуитивно все понятно из интерфейса, но почитать стоит.
1
2
3
4
5

Немного теории: уязвимости

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

Соответственно, уязвимости можно разделить на два основных типа:

  • атаки непосредственно на систему;
  • атаки на клиентов веб-приложений.

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

Это атаки, осуществляемые на систему непосредственно, без всякого участия "сторонних" программ.

  • SQL-инъекция. Внедрение SQL-кода (англ. SQL injection) — один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL-кода.

    Внедрение SQL, в зависимости от типа используемой СУБД и условий внедрения, может дать возможность атакующему выполнить произвольный запрос к базе данных (например, прочитать содержимое любых таблиц, удалить, изменить или добавить данные), получить возможность чтения и/или записи локальных файлов и выполнения произвольных команд на атакуемом сервере.

    Атака типа внедрения SQL может быть возможна из-за некорректной обработки входных данных, используемых в SQL-запросах.

    Разработчик прикладных программ, работающих с базами данных, должен знать о таких уязвимостях и принимать меры противодействия внедрению SQL.
    Подробнее...
    Один из самых частых и действенных способов атаки, связанный с недостаточной фильтрацией данных, используемых в SQL-запросах. Эта критическая уязвимость приводит к тому, что злоумышленник может выполнить произвольные SQL-запросы к базе данных. В рамках "философии программирования" в Bitrix Framework запрещено обращаться непосредственно к базе. Но разработчики сайтов иногда отходят от этого принципа.
  • Внедрение в имя файла. Уязвимость связана с использованием в качестве части имени файла недостаточно фильтруемого значения, принятого от пользователя. Нападающий может изменить имя файла таким образом, чтобы включить и выполнить на уязвимом сайте произвольный PHP-файл.
  • Выполнение системных команд. Уязвимость связана с недостаточной фильтрацией данных. С помощью инъекции в класс системных функций можно выполнить произвольные команды на целевом сервере в контексте пользователя, от которого работает php.
    Примеры опасных команд такого рода: system, passthru, exec, и.т.д.
  • Подбор реквизитов доступа. Нападающий может подобрать простые пароли.
  • Логические ошибки в коде. Данный тип ошибок особенно тяжело диагностируется и имеет наибольшее разнообразие. Логическая ошибка в коде возникает, когда при некоторых ситуациях код работает не так, как предполагается.

Атаки на клиентов веб-приложения

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

  • Межсайтовый скриптинг. XSS (англ. Cross-Site Scripting — «межсайтовый скриптинг») — тип атаки на веб-системы, заключающийся во внедрении в выдаваемую веб-системой страницу вредоносного кода (который будет выполнен на компьютере пользователя при открытии им этой страницы) и взаимодействии этого кода с веб-сервером злоумышленника. Является разновидностью атаки «внедрение кода».

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

    Для термина используют сокращение «XSS», чтобы не было путаницы с каскадными таблицами стилей, использующими сокращение «CSS».
    Подробнее...
    Уязвимость возникает тогда, когда данные, принятые от пользователя, выводятся в браузер без надлежащей фильтрации. Уязвимость может быть использована для изменения вида HTML-страниц уязвимого сайта в контексте браузера целевого пользователя, похищения cookie данных браузера целевого пользователя с последующим внедрением в его сессию под его учетной записью.
  • Межсайтовая подделка запроса. CSRF (англ. Сross Site Request Forgery — «межсайтовая подделка запроса», также известна как CSRF) — вид атак на посетителей веб-сайтов, использующий недостатки протокола HTTP.

    Если жертва заходит на сайт, созданный злоумышленником, от её лица тайно отправляется запрос на другой сервер (например, на сервер платёжной системы), осуществляющий некую вредоносную операцию (например, перевод денег на счёт злоумышленника).

    Для осуществления данной атаки жертва должна быть аутентифицирована на том сервере, на который отправляется запрос, и этот запрос не должен требовать какого-либо подтверждения со стороны пользователя, которое не может быть проигнорировано или подделано атакующим скриптом.
    Подробнее...
    Если каким-либо образом заставить браузер пользователя сделать запрос к уязвимому серверу, браузер сделает этот запрос с текущими cookie данного пользователя.
  • Социальная инженерия. Социальная инженерия — совокупность приёмов, методов и технологий создания такого пространства, условий и обстоятельств, которые максимально эффективно приводят к конкретному необходимому результату, с использованием социологии и психологии.

    Зачастую социальную инженерию рассматривают как незаконный метод получения информации, однако это не совсем так. Если рассматривать современную профессиональную социальную инженерию, то область её применения вполне законна — например, она помогает достичь изначально недостижимый результат, или «программировать» для совершения позитивных и полезных действий конкретного человека или группу людей.

    Конечно, сегодня социальную инженерию зачастую используют в интернете для получения закрытой информации или информации, которая представляет большую ценность. Но современные соц-инженеры используют свои навыки для повышения результатов в бизнесе и жизни.
    Подробнее...
    Злоумышленник может представиться администратором сайта и попросить пароль у пользователя, или изменить пароль на какой-то заданный, или узнать "любимое блюдо" и т. п.
  • Фишинг. Фишинг (англ. phishing от fishing «рыбная ловля, выуживание») — вид интернет-мошенничества, целью которого является получение доступа к конфиденциальным данным пользователей — логинам и паролям.

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

    После того как пользователь попадает на поддельную страницу, мошенники пытаются различными психологическими приёмами побудить пользователя ввести на поддельной странице свои логин и пароль, которые он использует для доступа к определённому сайту, что позволяет мошенникам получить доступ к аккаунтам и банковским счетам.
    Подробнее...
    Создается подставной веб-сайт, который повторяет дизайн целевого сайта и имеет похожий URL. Например, lc-bitrix.ru (здесь первый символ — "эль", а не "один"), на него заманивается пользователь в надежде, что он введет свои логин и пароль, которые будут доступны злоумышленникам. Уязвимость может быть использована совместно с XSS и CSRF.

16


Курсы разработаны в компании «1С-Битрикс»