Как стать автором
Обновить

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

Время на прочтение2 мин
Количество просмотров18K
Разработчики стараются внимательно относиться к своим продуктам, минифицируют файлы, настраивают кэш, дерутся за каждую миллисекунду скорости. Но почему-то почти везде игнорируется то, что самым первым отправляется пользователю — а именно заголовки HTTP. Как-то довелось мне посетить курсы по информационной безопасности, и там советовали первым делом смотреть именно на них, поскольку о них чаще всего и забывают.

image

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

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

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

Код можно посмотреть на GitHub, хотелось бы выразить благодарность noomorph за советы в непрофильном для меня JavaScript. Само расширение доступно по ссылке: HeaderView

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

image

Оценка безопасности сайта F+, из расчета что А — наивысшая оценка, и F — наинизшая. Хабр имеет хедеры безопасности, но вместе с тем, он показывает на каком языке он работает, и версия этого языка малость устарела (на момент публикации статьи актуальная версия PHP 5.6.29 согласно официальной документации. Расширение автоматически формирует ссылку по которой вы можете увидеть уязвимости данной версии.

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

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

Что интересно, при переходе с Geektimes на хабр, редирект проходит через другой сервер, у которого версия PHP чуть поновее:

image

Хотя и недостаточно.

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

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

Буду рад подсказкам и идеям что добавить, а так же чем расширить распознаваемые технологии!
Теги:
Хабы:
Всего голосов 33: ↑29 и ↓4+25
Комментарии31

Публикации

Истории

Работа

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань