Защита сайта, шаг за шагом
Уважаемые веб-мастера и разработчики, в этой статье мы постараемся обобщить все возможные способы обнаружения уязвимостей, а также и защиты от них при помощи инструментов от Find-XSS.net. Первое, что мы рекомендуем Вам сделать - выполнить проверку Вашего проекта предлагаемым нами сканером. После этого Вам надо будет устранить все уязвимости, обнаруженные в процессе сканирования. Однако, если у Вас возникнут какие-нибудь проблемы с их устранением, то Вы всегда можете обратиться в нашу службу техподдержки, и мы сами удалим их за умеренное вознаграждение.
Вопрос доверия, клиент сканера - Find-Compromise
Уважаемые пользователи, для многих из Вас не будет секретом тот факт, что в последнее время в глобальной сети интернет значительно участились случаи плагиата. Имеющиеся в нашем распоряжении статистические данные позволяют сделать неутешительный прогноз - количество подобных случаев продолжает увеличиваться с каждым днем. Обращаем Ваше внимание на то, что мы сами являемся разработчиками, поэтому прекрасно понимаем Ваши опасения насчет сохранности Вашей интеллектуальной собственности, а именно - загружаемых для проверки исходников. Во избежание возможных недоразумений, мы разработали особую клиентскую часть сканера Find-Compromise, позволяющую Вам не беспокоиться лишний раз за сохранность Вашего проекта, а нам за эксклюзивность нашего продукта.
Комплексная защита сайта инструментами от find-xss.net
Дорогие друзья, проект Find-XSS.net предлагает Вашему вниманию 4 утилиты для нахождения уязвимостей, а также сканер PHP кода на наличие XSS, SQL injection и некоторых других видов уязвимостей.
Перед Вами список этих утилит:
- Find-Date - поиск шеллов, залитых на сайт злоумышленником.
- Find-Port - проверка открытых портов.
- Find-Info - утилита для проверки прав на папки и файлы.
- Find-Error - массовая проверка файлов на синтаксические ошибки.
Каждая из представленных в списке утилит вносит свой пусть и небольшой, но очень важный вклад в обнаружение ошибок и уязвимостей на Вашем проекте, поэтому мы искренне рекомендуем Вам воспользоваться каждой из них. Отметим, что все они крайне просты в использовании и не требуют от пользователей больших временных затрат или наличия особых знаний.
Статусы Error и Warning в версии 0.4.7
Уважаемые пользователи Find-XSS.net, обращаем Ваше внимание на то, что с совершенствованием алгоритма XSS-сканера постепенно изменяется и смысл присваиваемых им статусов. Так, в начальных версиях сканера присутствовал статус Notice, предупреждавший пользователя о существовании возможной опасности. Несмотря на тот факт, что 50% случаев этим предупреждением можно было пренебречь, в последующих версиях сканер стал отслеживать все, что касалось этого статуса. Поэтому мы приняли решение упразднить Notice, оставив только статусы Error и Warning. В предлагаемой Вам обновленной версии (0.4.7) сканера и статус Error, и статус Warning означают наличие уязвимости. Разница между ними заключается лишь в том, что статус Error определяет конкретный тип уязвимости: XSS, SQL injection или же какой-нибудь другой активный код; а статус Warning означает, что во время проверки сканер обнаружил уязвимость SQL injection или XSS в теле функции, и Вам нужно проверить как параметры, получаемые этой функцией, в указанной строке кода, так и их использование в теле функции.
Что такое XSS?
XSS - это термин, применяемый к одной из разновидностей уязвимостей веб-сайтов, когда злоумышленник получает возможность внедрить на такой сайт посторонние скрипты, которые впоследствии могут быть исполнены на стороне клиента (жертвы). При этом жертвами могут быть не только пользователи, но и другие сервера или интернет-сервисы. Аббревиатура XSS происходит от Cross Site Scripting (межсайтовый скриптинг), но чтобы не путать с CSS, которое в свою очередь широко известно как Cascading Style Sheets (каскадные таблицы стилей), принято иное сокращение.
Программисты по-старинке долгое время не уделяли XSS должного внимания, т.к. они не считались опасными. Но в связи со стремительным развитием веб-технологий, эти уязвимости стали настоящим бичем для интернет-сообщества. Поэтому на сегодня уже даже появилась классификация XSS-уязвимостей как по механизму исполнения атаки так и по каналам внедрения скрипта.
Что такое SQL injection?
SQL injection (SQL-инъекция или внедрение SQL-кода) - это один из самых опасных способов взлома сайта. Взлом с помощью SQL injection основан на внедрении в запрос к базе данных произвольного SQL-кода. Самой распространенной причиной возникновения атаки типа SQL injection является некорректная обработка входных данных, передаваемых в SQL-запросы. Допустим, сервер использует входной параметр id, передаваемый через строку GET-запроса типа http://www.somesite.com/?id=123, для поиска записи в таблице базы данных с информацией о пользователе с user_id равным 123. Допустим также, что PHP-скрипт отвечающий за построение SQL-запроса выглядит следующим образом:
Как это работает?
Данный инструмент предназначен для помощи в поисках уязвимостей XSS и SQL Injection. Сервис дает возможность проверять PHP файлы, а также ZIP архивы до 10mb. Для VIP пользователей (зарегистрированных) предоставляется детальный отчет сканирования. Результатом работы сканера будет вывод названия файла в котором найдена потенциальная уязвимость, а также пронумерованные строки небезопасного кода в этом файле, уязвимый параметр и тип уязвимости.
Error статус
Статус Error с 99% точностью говорит о том, что в данном месте есть XSS или SQL Injection уязвимость.
Строка кода с таким статусом может выглядеть например так:
echo $_GET['name'];
В такой ситуации при передаче в адресной строке параметра name таким образом &name=<strong> вы выделите болдом весь текст следующий за echo на сайте. Примеры могут быть и страшнее, вот один из них: