Проверка уязвимости компьютера из интернета. RPVS — во Франции также есть хакеры. Отличия в работе разных программ

Host-tracker.com — позволяет поверить уязвимость сервера. Администратор сайта, используя этот сервис, легко узнает, защищено ли его подсоединение к удаленному серверу от уязвимости POODLE .

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

Получение информации хакерами становится возможной благодаря краже файлов cookies, которые создаются браузером и содержат личные данные.

Более подробную информацию о уязвимости можно изучить на этой странице . Она для опытных пользователей, но общий смысл можно уловить даже начинающему пользователю Сети и начинающему вебмастеру.

Таким образом администратор сайта, используя хостинги, должен знать, а защищено ли его подсоединение к удаленному серверу? Используется ли этот «дырявый» протокол на нем?

Я задался вопросом, а защищен ли мой сервер от этой уязвимости под названием POODLE и нашел такой сайт.

Сервис host-tracker: проверьте, включен ли ssl 3.0 на вашем сервере

Справедливости ради скажу, что данный сервис полезен не только для проверки уязвимости по указанному протоколу, на нем есть возможность проверки и других нужных параметров: он автоматически определяет IP-адрес пользователя интернетом (т.е. ваш) и позволяет проверить некоторые данные по вебсайтам.

Я не стану объяснять суть каждого параметра — понять не сложно, но для тех, кто желает уточнить — наведите курсор на любую из кнопок — http, рing и т.д. Эти полезные полезные данные на host-tracker вы получаете бесплатно.

Но на этой странице мы поговорим немного о том, чему, собственно, посвящена статья — проблеме уязвимости браузера пользователя по IP-соединению. Как я уже говорил, можно проверить личный IP — вашего провайдера, проверки можно производить для сайтов (используется его IP). Причем любого. Для этого используем крайнюю правую кнопку SSLv3 .

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

Как видите, в моих случаях сервису почему-то не удалось проверить уязвимость POODLE и я не смог узнать, пользуются мои серверы старой версией протокола шифрования — SSL 3.0. Жаль.

Но потом (любопытства ради), решил проверить некоторые сайты нескольких моих комментаторов. Тут тоже были разные ответы:

  1. «Рукопожатие не удалось из-за неожиданной пакетном формате .» (курсив — это результат перевода фразы, которая почему-то выдается на английском).
  2. «Не удалось выявить уязвимость POODLE. При попытке подключения через SSL 3.0, возникла следующая ошибка: В соединеии отказано
  3. «Не удалось выявить уязвимость POODLE. При попытке подключения через SSL 3.0, возникла следующая ошибка : Превышен интервал ожидания
  4. SSL 3.0 выключен на этом сервере .

Как видите, не все серверы предоставляют возможность узнать, пользуются они старой версией протокола SSL 3.0. А некоторые сообщают и им повезло.

Таким образом, используя сервис host-tracker, друзья, если у вас есть сайты, вы сможете узнать насколько надежен ваш хостинг в плане безопасности от происков взломщиков и мошенников.

(Visited 125 times, 1 visits today)

Процесс под названием сканирование уязвимостей представляет собой проверку отдельных узлов или сетей на потенциальные угрозы.

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

Не стоит пренебрегать таким сканированием и администраторам небольших сетей – тем более что в 2017-м году серьёзным атакам со стороны запущенных хакерами масштабных вирусов-шифровальщиков подверглись сотни тысяч компьютеров.

Применение сканеров уязвимости

Для сканирования сетей на слабые места в системах их безопасности специалисты по информационной безопасности применяют соответствующее программное обеспечение.

Такие программы называются сканерами уязвимости.

Принцип их работы заключается в проверке приложений, которые работают на компьютерах сети, и поиске так называемых «дыр», которыми могли бы воспользоваться посторонние для получения доступа к важным сведениям.

Грамотное использование программ, способных обнаружить уязвимость в сети, позволяет ИТ-специалистам избежать проблем с украденными паролями и решать такие задачи:

  • поиск попавшего на компьютер вредоносного кода;
  • инвентаризация ПО и других ресурсов системы;
  • создание отчётов, содержащих информацию об уязвимостях и способах их устранения.

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

Механизмы сканирования

Сканирование на уязвимости выполняется при помощи двух основных механизмов – сканирования и зондирования.

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

Эту методику называют «логическим выводом», а её принципы заключаются в выполнении следующих шагов:

1. Идентификация портов, открытых на каждом из устройств в сети;

2. Сбор заголовков, связанных с портами и найденных в процессе сканирования;

3. Сравнение полученных заголовков со специальной таблицей, содержащей правила определения уязвимостей;

4. Получение выводов о наличии или отсутствии в сети проблем с безопасностью.

Процесс под названием «зондирование» представляет собой методику активной проверки, позволяющую практически со стопроцентной гарантией убедиться в том, есть ли в сети уязвимости или нет.

Она отличается сравнительно небольшой по сравнению со сканированием скоростью, однако в большинстве случаев является более точной.

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

Главным преимуществом второго варианта является не только подтверждение тех проблем, которые могут быть обнаружены простым сканированием, но и обнаружение проблем, поиск которых невозможен с помощью пассивной методики. Проверка выполняется с помощью трёх механизмов – проверки заголовков, активных зондирующих проверок и имитации атак.

Проверка заголовков

Механизм, название которого на английском языке звучит как «banner check» , состоит из целого ряда сканирований и даёт возможность получить определённые выводы на основе данных, передаваемых программе-сканеру в ответ на его запрос.

Примером такой проверки может стать сканирование заголовков с помощью приложения Sendmail , позволяющее и определить версии программного обеспечения, и убедиться в наличии или отсутствии проблем.

Методика считается самой простой и быстрой, но имеет целый ряд недостатков:

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

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

Активные зондирующие проверки

Методика, известная ещё и как «active probing check», основана не на проверках версий ПО в заголовках, а на анализе и сравнении цифровых «слепков» программ с информацией об уже известных уязвимостях.

Принцип её работы немного похож на алгоритм антивирусных приложений , которые предполагает сравнение отсканированных фрагментов с вирусными базами.

К той же группе методик относится и проверка даты создания сканируемого ПО или контрольных сумм, позволяющая убедиться в подлинности и в целостности программ.

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

Эта информация иногда применяется и системами анализа защищённости, и программным обеспечением, в задачи которого входит обнаружение атак. В целом, методика активных зондирующих проверок, применяемая такими крупными компаниями как ISS и Cisco, работает значительно быстрее других способов – хотя реализовать её труднее, чем проверку заголовков.

Имитация атак

Ещё один метод на английском языке называется «exploit check» , что можно перевести на русский как «имитация атак» .

Выполняемая с его помощью проверка тоже является одним из вариантов зондирования и основана на поиске дефектов программ с помощью их усиления.

Методика имеет такие особенности:

  • некоторые «дыры» в безопасности нельзя обнаружить до тех пор, пока не сымитировать настоящую атаку против подозрительных сервисов и узлов;
  • программы-сканеры проверяют заголовки программного обеспечения во время фальшивой атаки;
  • при сканировании данных уязвимости обнаруживаются значительно быстрее, чем в обычных условиях;
  • имитируя атаки, можно найти больше уязвимостей (если они были изначально), чем при помощи двух предыдущих методик – при этом скорость обнаружения достаточно высокая, однако пользоваться таким способом не всегда целесообразно;
  • ситуации, которые не позволяют запускать «имитацию атак», делятся на две группы – угроза появления проблем с обслуживанием проверяемого программного обеспечения или принципиальная невозможность атаковать систему.

Нежелательно пользоваться методикой, если объектами проверки являются защищённые сервера с ценной информацией.

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

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

Между тем, в списке уязвимостей есть и такие, которые не получится обнаружить без попыток сымитировать атаки – к ним относят, например, подверженность атакам типа «Packet Storm» .

По умолчанию, такие методы проверки отключены в системе.

Пользователю придётся включать их самостоятельно.

К программам-сканерам, которые используют третий метод сканирования на уязвимости, относят системы типа Internet Scanner и CyberCop Scanner . В первом приложении проверки выделяются в отдельную категорию «Denial of service» . При использовании любой функции из списка программа сообщает об опасности выхода из строя или перезагрузки сканируемого узла, предупреждая о том, что ответственность за запуск сканирования лежит на пользователе.

Основные этапы проверки уязвимостей

Большинство программ, выполняющих сканирование на уязвимости, работает следующим образом:

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

2. Пытается найти потенциальные уязвимости , применяя специальные базы данных для того чтобы сравнить полученную информацию с уже известными видами «дыр» в безопасности. Сравнение выполняется с помощью активного зондирования или проверки заголовков.

3. Подтверждает найденные уязвимости, применяя специальные методики – имитацию определённого типа атак, способных доказать факт наличия или отсутствия угрозы.

4. Генерирует отчёты на базе собранных при сканировании сведений , описывая уязвимости.

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

Отличия в работе разных программ

Некоторые сканеры разделяют уязвимости по уровню угрозы.

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

Internet Scanner разделяет угрозы на три степени – низкую, высокую и среднюю.

Эти же два сканера имеют ещё несколько отличий.

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

Причём, для первых выдаётся максимальное количество цифр, для руководства – красиво оформленные графики и диаграммы с небольшим количеством деталей.

В составе создаваемых сканерами отчётов есть рекомендации по устранению найденных уязвимостей.

Больше всего такой информации содержится в данных, которые выдаются программой Internet Scanner, выдающей пошаговые инструкции по решению проблемы с учётом особенностей разных операционных систем.

По-разному реализован в сканерах и механизм устранения неисправностей. Так, в сканере System Scanner для этого существует специальный сценарий, запускаемый администратором для решения проблемы. Одновременно происходит создание второго алгоритма, который может исправить сделанные изменения, если первый привёл к ухудшению работы или выходу из строя отдельных узлов. В большинстве других программ-сканеров возможность вернуть изменения назад не существует.

Действия администратора по обнаружению уязвимостей

Для поиска «дыр» в безопасности администратор может руководствоваться тремя алгоритмами.

Первый и самый популярный вариант – проверка сети на наличие только потенциальных уязвимостей. Она позволяет предварительно ознакомиться с данными системы, не нарушая работу узлов и обеспечивая максимальную скорость анализа.

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

Способ №3 предполагает использование всех трёх механизмов (причём, с правами и администратора, и пользователя) и попытку устранить уязвимости на отдельных компьютерах. Из-за низкой скорости и риска вывести из строя программное обеспечение применяют этот метод реже всего – в основном, при наличии серьёзных доказательств наличия «дыр».

Возможности современных сканеров

Основными требованиями к программе-сканеру, обеспечивающей проверку системы и её отдельных узлов на уязвимости, являются:

  • Кроссплатформенность или поддержка нескольких операционных систем. При наличии такой особенности можно выполнять проверку сети, состоящей из компьютеров с разными платформами. Например, с несколькими версиями Windows или даже с системами типа UNIX.
  • Возможность сканировать одновременно несколько портов – такая функция заметно уменьшает время на проверку.
  • Сканирование всех видов ПО, которые обычно подвержены атакам со стороны хакеров. К такому программному обеспечению относят продукцию компании Adobe и Microsoft (например, пакет офисных приложений MS Office).
  • Проверку сети в целом и отдельных её элементов без необходимости запускать сканирование для каждого узла системы.

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

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

После получения отчётов сканер позволяет администратору запускать исправление угроз.

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

Сканеры уязвимостей сети

Ассортимент программ-сканеров на современном рынке ПО достаточно большой.

Все они отличаются друг от друга функциональностью, эффективностью поиска уязвимостей и ценой.

Для оценки возможностей таких приложений стоит рассмотреть характеристики и особенности пяти самых популярных вариантов.

GFI LanGuard

Производитель GFI Software считается одним из лидеров на мировом рынке информационной безопасности, а его продукция входит в рейтинги самых удобных и эффективных при проверке на уязвимости программ.

Одним из таких приложений, обеспечивающих безопасность сети и отдельных компьютеров, является GFI LanGuard, к особенностям которого относят:

  • быструю оценку состояния портов в системе;
  • поиск небезопасных настроек на компьютерах сети и запрещённых для установки программ, дополнений и патчей;
  • возможность сканирования не только отдельных компьютеров и серверов, но и входящих в систему виртуальных машин и даже подключённых смартфонов;
  • составление по результатам сканирования подробного отчёта с указанием уязвимостей, их параметров и способов устранения;
  • интуитивно понятное управление и возможность настройки автоматической работы – при необходимости, сканер запускается в определённое время, а все исправления выполняются без вмешательства администратора;
  • возможность быстрого устранения найденных угроз, изменения настроек системы, обновления разрешённого ПО и удаления запрещённых программ.

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

Эта особенность и другие преимущества GFI LanGuard позволяют ему находиться на верхних строчках рейтингов программ для поиска сетевых уязвимостей.

При этом стоимость использования сканера сравнительно небольшая и доступна даже небольшим компаниям.

Nessus

Программу Nessus впервые выпустили 20 лет назад, но только с 2003-го года она становится платной.

Монетизация проекта не сделала его менее популярным – благодаря эффективности и скорости работы каждый шестой администратор в мире применяет именно этот сканер.

К преимуществам выбора Nessus относят:

  • постоянно обновляемую базу уязвимостей;
  • простую установку и удобный интерфейс;
  • эффективное обнаружение проблем с безопасностью;
  • использование плагинов, каждый из которых выполняет свою задачу – например, обеспечивает сканирование ОС Linux или запускает проверку только заголовков.

Дополнительная особенность сканера – возможность использования тестов, созданных пользователями с помощью специального программного обеспечения. В то же время у программы есть и два серьёзных недостатка. Первый – возможность выхода из строя некоторых программ при сканировании с помощью метода «имитации атак», второй – достаточно высокая стоимость.

Symantec Security Check

Программа Security Check является бесплатным сканером компании Symantec.

Среди её функций стоит отметить поиск не только уязвимостей, но и вирусов – включая макровирусы, трояны и интернет-черви. Фактически, приложение состоит из 2 частей – сканера Security Scan, обеспечивающего безопасность сети, и антивируса Virus Detection.

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

XSpider

Сканер XSpider выпускается компанией Positive Technologies, представители которой утверждают, что программа не только обнаруживает уже известные уязвимости, но способна найти ещё не созданные угрозы.

К особенностям приложения относят:

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

Также стоит отметить, что стоимость использования сканера более доступна по сравнению с программой Nessus. Хотя и выше, чем у GFI LanGuard.

QualysGuard

Сканер считается многофункциональным и позволяет получить подробный отчёт с оценкой уровня уязвимости, времени на их устранение и уровень воздействия «угрозы» на бизнес.

Разработчик продукта, фирма Qualys, Inc., поставляет программу сотням тысяч потребителей, в том числе и половине крупнейших компаний мира.

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

Программное обеспечение позволяет сканировать корпоративные веб-сайты, отдельные компьютеры и сеть в целом.

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

Выводы

С учётом широкого ассортимента приложений для сканирования сети и её узлов на уязвимости, существенно облегчается работа администратора.

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

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

SQL инъекция - это один из самых доступных способов взлома сайта.
Суть таких инъекций – внедрение в данные (передаваемые через GET, POST запросы или значения Cookie) произвольного SQL кода. Если сайт уязвим и выполняет такие инъекции, то по сути есть возможность творить с БД (чаще всего это MySQL) что угодно.

Как вычислить уязвимость, позволяющую внедрять SQL инъекции?

Довольно легко. Например, есть тестовый сайт test.ru . На сайте выводится список новостей, с возможностью детального просомтра. Адрес страницы с детальным описанием новости выглядит так: test.ru/?detail=1 . Т.е через GET запрос переменная detail передаёт значение 1 (которое является идентификатором записи в табице новостей).

Изменяем GET запрос на?detail=1" или?detail=1" . Далее пробуем передавать эти запросы серверу, т.е заходим на test.ru/?detail=1 " или на test.ru/?detail=1 ".

Если при заходе на данные страницы появляется ошибка, значит сайт уязвим на SQL инъекции.

Пример ошибки, возникающей при проверке уязвимости

Возможные SQL инъекции (SQL внедрения)
1) Наиболее простые - сворачивание условия WHERE к истиностному результату при любых значениях параметров.
2) Присоединение к запросу результатов другого запроса. Делается это через оператор UNION.
3) Закомментирование части запроса.

Практика. Варианты взлома сайта с уязвимостью на SQL внедрения

Итак, у нас есть уже упоминавшийся сайт test.ru . В базе хранится 4 новости, 3 из которых выводятся. Разрешение на публикацию новости зависит от парметра public (если параметр содержит значение 1, то новость публикуется).

Список новостей, разрешённых к публикации

При обращении к странице test.ru/?detail=4 , которая должна выводить четвёртую новость появляется ошибка – новость не найдена.
В нашем случае новость существует, но она запрещена к публикации.

Но так как мы уже проверяли сайт на уязвимость и он выдавал ошибку БД, то пробуем перебирать возможные варианты запросов.
В адресной строке плюс (+) выполняет роль пробела, так что не пугайтесь

Тестирую следующие варианты:
test.ru/?detail=4+OR+1
test.ru/?detail=4+--
test.ru/?detail=4+UNION+SELECT+ *+FROM+news+WHERE+id=4

В итоге удача улыбнулась и два запроса (первый и третий) вернули нам детальное описание четвёртой новости

Разбор примера изнутри

За получение детального описания новости отвечает блок кода:
$detail_id=$_GET["detail"];
$zapros="SELECT * FROM `$table_news` WHERE `public`="1" AND `id`=$detail_id ORDER BY `position` DESC";

Мало того, что $detail_id получает значение без какой либо обработки, так ещё и конструкция `id`=$detail_id написана криво, лучше придерживаться `id`="$detail_id" (т.е сравниваемое значение писать в прямых апострофах).

Глядя на запрос, получаемый при обращении к странице через test.ru/?detail=4+OR+1

SELECT * FROM `news` WHERE `public`="1" AND `id`=4 OR 1 ORDER BY `position` DESC

Становится не совсем ясно, почему отобразилась 4-ая новость. Дело в том, что запрос вернул все записи из таблицы новостей, отсортированные в порядке убывания сверху. И таким образом наша 4-ая новость оказалась самой первой, она же и вывелась как детальная. Т.е просто совпадение.

Разбираем запрос, сформированный при обращении через test.ru/?detail=4+UNION+SELECT+*+FROM+news+WHERE+id=4 .

Тут название таблицы с новостями (в нашем случае это news) бралось логическим перебором.
Итак, выполнился запрос SELECT * FROM `news` WHERE `public`="1" AND `id`=4 UNION SELECT * FROM news WHERE id=4 ORDER BY `position` DESC . К нулевому результату первой части запроса (до UNION) присоединился результат второй части (после UNION), вернувшей детальное описание 4-ой новости.

Защита от SQL инъекций (SQL внедрений)

Защита от взлома сводится к базовому правилу «доверяй, но проверяй». Проверять нужно всё – числа, строки, даты, данные в специальных форматах.
Числа
Для проверки переменной на числовое значение используется функция is_numeric(n);, которая вернёт true, если параметр n - число, и false в противном случае.
Так же можно не проверять значение на число, а вручную переопределить тип. Вот пример, переопределяющий значение $id, полученное от $_GET["id_news"] в значение целочисленного типа (в целое число):
$id=(int)$_GET["id_news"];
Строки
Большинство взломов через SQL происходят по причине нахождения в строках «необезвреженных» кавычек, апострофов и других специальных символов. Для такого обезвреживания нужно использовать функцию addslashes($str);, которая возвращает строку $str с добавленным обратным слешем (\) перед каждым специальным символом. Данный процесс называется экранизацией.

$a="пример текста с апострофом " ";
echo addslashes($a); //будет выведено: пример текста с апострофом \"

Кроме этого существуют две функции, созданные именно для экранизации строк, используемых в SQL выражениях.
Это mysql_escape_string($str); и mysql_real_escape_string($str);.

Первая не учитывает кодировку соединения с БД и может быть обойдена, а вот вторая её учитывает и абсолютно безопасна. mysql_real_escape_string($str); возвращает строку $str с добавленным обратным слешем к следующим символам: \x00, \n, \r, \, ", " и \x1a .

Магические кавычки

Магические кавычки – эффект автоматической замены кавычки на обратный слэш (\) и кавычку при операциях ввода/вывода. В некоторых конфигурациях PHP этот параметр включён, а в некоторых нет. Для того, что бы избежать двойного экранизирования символов и заэкранизировать данные по-нормальному через mysql_real_escape_string($str);, необходимо убрать автоматические проставленные обратные слеши (если магические кавычки включены).

Проверка включённости магических кавычек для данных получаемых из GET, POST или Куков организуется через функцию get_magic_quotes_gpc(); (возвращает 1 – если магические кавычки включены, 0 – если отключены).

Если магические кавычки вкючены (т.е обратные слеши добавляеются) и такое встречается чаще, то их нужно убрать. Это делается через функцию stripslashes($str); (возвращает строку $str без обратных слешей у кавычек и прямых апострофов).

В закючении привожу код с полной экранизацией строк для записи в БД

If(get_magic_quotes_gpc()==1)
{
$element_title=stripslashes(trim($_POST["element_title"]));
$element_text=stripslashes(trim($_POST["element_text"]));
$element_date=stripslashes(trim($_POST["element_date"]));
}
else
{
$element_title=trim($_POST["element_title"]);
$element_text=trim($_POST["element_text"]);
$element_date=trim($_POST["element_date"]);
}

$element_title=mysql_real_escape_string($element_title);
$element_text=mysql_real_escape_string($element_text);
$element_date=mysql_real_escape_string($element_date);

Статья была подготовлена на основе практических навыков по защите веб-систем. Теория дело хорошее, но практика важнее и главное она работает.

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

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

В опасности оказываются не только пользовательские данные и система с установленными дорогостоящими программами - плохо защищенный компьютер чаще всего довольно быстро превращается в настоящий «инкубатор» и распространителя различных вирусов, другого зловредного ПО и, как правило, становится частью ботсетей. Управляемый злоумышленниками ПК пользователя участвует в рассылке спама, DDoS-атаках либо используется в качестве анонимизирующего прокси-сервера для скрытия следов преступника во время совершения противозаконных действий в Сети.

CHIP расскажет, как снизить риск заражения вашего компьютера практически до нуля и, не затрачивая много сил, времени и средств, поддерживать «рубежи обороны» в постоянной боеготовности.

Для чего атакуют и заражают ПК

Мошенники, создатели вирусов, хакеры - звенья единой цепи преступности в Интернете, которые используют интеллектуальные, вычислительные и коммуникационные средства для вымогательства и кражи ценной пользовательской информации. Для мошенников инфицированные компьютеры - это часть огромного бизнеса, поэтому поисками «брешей» занимаются настоящие профессионалы. Они постоянно ищут и находят в ОС и программах все новые уязвимости, позволяющие обмануть бдительность антивирусного ПО и внедрить на компьютер жертвы вредоносный код.

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

Самые уязвимые программы

Согласно данным «Лаборатории Касперского», в первом квартале текущего года наиболее распространенными «дырами» оказались уязвимости в Java, которые были обнаружены на 45,26% всех компьютеров. А замкнула рейтинг достаточно старая, но крайне опасная уязвимость в Adobe Flash Player. Она была обнаружена еще в октябре 2010 года, однако ее до сих пор находят на 11,21% уязвимых компьютеров пользователей.

Рейтинг интернет-угроз и вирусов

Сегодня наибольшую опасность заражения для пользователей представляют веб-страницы. Причем они могут встречаться даже на, казалось бы, благонадежных сайтах, так как злоумышленники могут совершенно легально размещать рекламные баннеры на основе Flash, внедряя в них вредоносный код. Приведем некоторые данные «Лаборатории Касперского», полученные по результатам отраженных продуктами компании атак на ПК пользователей по итогам января-марта текущего года.

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

Обновление ОС

Львиной доли проблем, связанных с устаревшим ПО и содержащимися в нем уязвимостями, можно избежать, своевременно реагируя на автоматические оповещения ОС. По возможности включите автоматическое обновление в используемом антивирусе и операционной системе. В Windows 7 это можно сделать в меню «Пуск | Панель управления | Система и безопасность | Центр обновления Windows». В левой части окна кликните по пункту «Настройка параметров» и в обновившемся окне в раскрывающемся списке «Важные обновления» выберите пункт «Устанавливать обновления автоматически». Также отметьте флажком пункт «Получать рекомендуемые обновления таким же образом, как и важные обновления».

Обновление ПО

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

Автопроверка обновления: Для этих целей можно использовать бесплатную программу CNET TechTracker. После инсталляции она в соответствии с заданным расписанием будет проверять актуальность используемого ПО. В случае наличия новых версий пользователю будет предложено перейти на специальную страницу для загрузки дистрибутивов приложений.

Альтернатива: SUMo - бесплатная утилита для поиска обновлений установленного ПО.

Сканер уязвимостей: Эффективным средством поддержании системы и ПО в безопасном состоянии является Secunia PSI. Программа не только проверяет наличие обновлений и предлагает скачать новые версии, но и оповещает об обнаруженных уязвимостях, предоставляя отчет об их возможном использовании.

Всегда свежие драйверы

Бесплатная программа Driver Pack Solution является мощным агрегатором драйверов различных устройств. Разработчики предлагают как вариант с полной офлайновой базой объемом свыше 3 Гбайт, так и Lite-версию, которая обращается за данными в онлайн-хранилище программы.

Альтернативы: SlimDrivers, Carambis Driver Updater, DriverMax - бесплатное ПО для обновления драйверов.

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

Инспекторы системы

Проверить ОС и программы на предмет уязвимостей и неустановленных обновлений позволят бесплатные утилиты, такие как Microsoft Baseline Security Analyzer и Norton Security Scan.

Выявление брешей в Сети

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

Тестируем сеть: Бесплатная программа Nmap пользуется заслуженной популярностью не только у профессионалов сетевой безопасности. Этот кроссплатформенный сканер не имеет графического интерфейса, поэтому для упрощения работы с ним используется графическая надстройка Zenmap. Для поиска открытых портов на ПК запустите из командной строки Nmap без опций: nmap scanme.nmap.org Здесь scanme.nmap.org - онлайн-узел, созданный разработчиками специально для подобных экспериментов. Программа просканирует порты и покажет все открытые, а также сервисы, запущенные на них.

Онлайн-проверка на «бреши» в системе

Для проверки ПК также могут быть использованы сайты со специальными сервисами - например, от ESET (короткая ссылка: tinyurl.com/cfn6muj) или F-Secure (короткая ссылка: tinyurl.com/c2s7p3z). Если в результате такой проверки ресурс укажет на существование в вашей системе незакрытых портов, то, возможно, вам придется закрыть их в брандмауэре имеющегося антивирусного пакета или, если такового нет, установить сторонний.

Закрытие портов: Закрыть обнаруженные потенциально опасные порты можно, например, с помощью бесплатного брандмауэра Comodo Firewall Free. Программа работает в полностью автоматическом режиме, имеет встроенную «песочницу» для запуска неизвестных приложений и «игровой» режим.

Комплексный подход за деньги: Если вы хотите получить комплексный пакет безопасности, включающий как антивирус с брандмауэром, так и сканер уязвимостей, то рекомендуем использовать коммерческие антивирусные решения, такие как Kaspersky Internet Security 2013, Norton Internet Security, ESET NOD32 и пр. В частности, KIS выполнит сканирование системы и укажет на неустановленные обновления ОС и ПО. В нем также можно вручную закрыть или открыть выбранные порты.

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подписаться

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

Больше видео на нашем канале - изучайте интернет-маркетинг с SEMANTICA

Чтобы разобраться, что такое уязвимости сайта, рассмотрим простой пример.

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

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

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

Виды уязвимостей сайта

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

SQL-инъекции

Один из самых частых и действенных методов атаки на динамические . Злоумышленник подставляет специально сформированные строки SQL-кода в запрос к серверу, получая таким способом контроль над базой данных сайта. Единственное, что будет ограничивать хакера – права пользователя, от которого выполняется запрос к БД.

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

XSS

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

Способ защиты схож с SQL-инъекциями – преобразование управляющих HTML и JS последовательностей. Браузер должен читать скрипт как текст и не выполнять его.

Незащищенная работа с персональной информацией

Известная ошибка новичка-программиста – хранить пароли пользователей в базе данных в открытом виде. Но стоит представить, что хакер получил к себе дамп таблицы, и становится не по себе. Все пароли принято не только хэшировать, но ещё и «солить» с помощью некоторой операции с дополнительным ключом, например md5($pass.$salt) в PHP.

Проблемы распределения уровней доступа

Иногда дело доходит до того, что пароли к базе данных хранятся в.txt файле под названием config в открытом виде на сервере. Главное правило работы с уровнями доступа – все, что пользователю видеть не обязательно, должно быть скрыто. Закройте все служебные папки сайта файлами , запретите просмотр директорий сервера в браузере при отсутствии индексного файла.

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

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

Плохая конфигурация модулей

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

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

Брутфорс-атака

Злоумышленник, не найдя уязвимых мест, может начать перебор паролей «в лоб». Запустив ботнет, рано или поздно он сможет подобрать ключи к SSH, FTP и административной панели. Поэтому всегда ставьте ограничение на допустимое количество попыток входа с одного IP. Для SSH это может быть, к примеру, утилита fail2ban.

Регулярно меняйте пароли и не заходите на сайт с зараженных компьютеров.

Как найти уязвимость на сайте

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

  • Coder-diary. Проверяет сайт на самые популярные и простые типы уязвимостей. Забытые служебные файлы, собственная постоянно пополняемая база.
  • Find-xss. Включает в себя не только XSS-сканер, но и анализатор SQL-инъекционных атак. Комплексный и довольно популярный инструмент, выполняющий широкий спектр задач проверки сайта различные виды проблем безопасности.
  • Nikto. Входит в легендарную сборку Kali Linux. Проводит долгий и эффективный анализ всех работающих на сайте скриптов, находит устаревшее программное обеспечение и проблемные места проекта. Включает в себя множество плагинов и всегда генерирует много запросов.
  • Acunetix. Интуитивно понятный и мощный инструмент для онлайн-анализа вашего сайта. Бесплатного функционала чаще всего достаточно для первичного ознакомления с возможностями этого монстра.
  • The Metasploit Framework. Полноценный инструмент хакера. Исходя из специфики используемого протокола атаки, программа подбирает различные эксплойты и пытается взломать сервис. В связке с утилитой NMAP процесс взлома практически автоматизируется, так как она сама находит уязвимые порты и сервисы на домене.
Понравилась статья? Поделиться с друзьями: