Давно была у меня мысль такая - до публичного релиза протестировать движок на всякого рода уязвимости. Разумеется, многие потенциальные дыры (типа XSS, через передаваемые скриптам запросы) я закрывал прямо на этапе написания кода. Но, разумеется, я и сам не идеален, мог что-то пропустить, да и о каких-то уязвимостях я просто не в курсе! Так что, искал варианты - как (или чем) это можно сделать.
Первым делом, нагуглил услуги такого рода на всяческих фриланс сайтах, но тут вопрос очень деликатный. Во-первых разброс цен там поразил: от $20 до $250 за тест, и во-вторых, совершенно непонятна квалификация самих "тестеров", собственно что они умеют и насколько грамотны в этой области. Ответов на эти вопросы так и не нашёл, а отдавать даже $20 за кота в мешке - не мой стиль, т.ч. ищем дальше!
Затем дело пошло повеселее - нашёл сразу два продукта: Nikto и Web Vulnerability Scanner, оба - сканеры уязвимостей на сайтах и серверах. Первый оказался open-source разработкой - скриптом на Perl, которому для работы нужна какая-то дополнительная библиотека. Но из беглого прочтения сайта, понял, что продукт живой, до сих пор поддерживается и выходят новые версии. Вот только с Perl'ом и доп. библиотеками заморачиваться не хотелось.
Так что выбор пал на второй продукт, под официальным названием Acunetix Web Vulnerability Scanner. Это программа (даже целый комплекс программ) под ОС Windows, с весьма богатыми возможностями. Порадовало то, что она годится для тестера любой квалификации, фактически в базовом режиме, вы указываете урл сайта, который нужно протестировать - и она в автоматическом режиме прогоняет по нему полный набор тестов: на XSS атаки, SQL иньекции, уязвимости html форм и т.д. Кроме того, проверяются настройки сервера, куки и битые ссылки на сайте. Список тестов действительно внушает уважение, даже знай я о них всех, вручную я бы это тестировал это полгода, не меньше!
Полный тест длится около часа (в моём случае) и по мере нахождения ошибок, выводится подробный отчёт по каждой из них. Очень удобно - сразу можно посмотреть на рефереры, ответ сервера, переданные на страницу куки, сессии и прочую техническую инфу. Всё это позволяет максимально быстро локализовать и устранить ошибку в коде или настройках сайта.
Хорошая новость в том, что серьёзных уязвимостей в движке Blog Micro этот сканер так и не нашёл, что безусловно, приятно :) Я всё-таки старался сделать код максимально безопасным. Зато было найдено несколько багов, не сильно страшных, но неприятных - вроде генерации битых ссылок: лишняя точка к url и т.п. Приятно, что эти вещи были найдены до того, как я выложил скрипт для скачивания. В итоге, считаю, что потраченный на тестирование день (если включать время на поиски софта и чтение доков), не пропал зря - скрипт стал ещё более безопасным. Ну и, конечно же, рекомендую этот софт - Web Vulnerability Scanner от компании Acunetix. Хочется разобраться ещё и с Nikto, но не уверен, что найду на неё время в обозримом будущем.
Первым делом, нагуглил услуги такого рода на всяческих фриланс сайтах, но тут вопрос очень деликатный. Во-первых разброс цен там поразил: от $20 до $250 за тест, и во-вторых, совершенно непонятна квалификация самих "тестеров", собственно что они умеют и насколько грамотны в этой области. Ответов на эти вопросы так и не нашёл, а отдавать даже $20 за кота в мешке - не мой стиль, т.ч. ищем дальше!
Затем дело пошло повеселее - нашёл сразу два продукта: Nikto и Web Vulnerability Scanner, оба - сканеры уязвимостей на сайтах и серверах. Первый оказался open-source разработкой - скриптом на Perl, которому для работы нужна какая-то дополнительная библиотека. Но из беглого прочтения сайта, понял, что продукт живой, до сих пор поддерживается и выходят новые версии. Вот только с Perl'ом и доп. библиотеками заморачиваться не хотелось.
Так что выбор пал на второй продукт, под официальным названием Acunetix Web Vulnerability Scanner. Это программа (даже целый комплекс программ) под ОС Windows, с весьма богатыми возможностями. Порадовало то, что она годится для тестера любой квалификации, фактически в базовом режиме, вы указываете урл сайта, который нужно протестировать - и она в автоматическом режиме прогоняет по нему полный набор тестов: на XSS атаки, SQL иньекции, уязвимости html форм и т.д. Кроме того, проверяются настройки сервера, куки и битые ссылки на сайте. Список тестов действительно внушает уважение, даже знай я о них всех, вручную я бы это тестировал это полгода, не меньше!
Полный тест длится около часа (в моём случае) и по мере нахождения ошибок, выводится подробный отчёт по каждой из них. Очень удобно - сразу можно посмотреть на рефереры, ответ сервера, переданные на страницу куки, сессии и прочую техническую инфу. Всё это позволяет максимально быстро локализовать и устранить ошибку в коде или настройках сайта.
Хорошая новость в том, что серьёзных уязвимостей в движке Blog Micro этот сканер так и не нашёл, что безусловно, приятно :) Я всё-таки старался сделать код максимально безопасным. Зато было найдено несколько багов, не сильно страшных, но неприятных - вроде генерации битых ссылок: лишняя точка к url и т.п. Приятно, что эти вещи были найдены до того, как я выложил скрипт для скачивания. В итоге, считаю, что потраченный на тестирование день (если включать время на поиски софта и чтение доков), не пропал зря - скрипт стал ещё более безопасным. Ну и, конечно же, рекомендую этот софт - Web Vulnerability Scanner от компании Acunetix. Хочется разобраться ещё и с Nikto, но не уверен, что найду на неё время в обозримом будущем.