hstspreload


Описание hstspreload

Библиотека hstspreload позволяет проверить, находится ли сайт в списке HSTS preload. Проверка выполняется офлайн, без использования сторонних сервисов.

HSTS (сокр. от англ. HTTP Strict Transport Security) — механизм, принудительно активирующий защищённое соединение через протокол HTTPS.

Имеется 2 способа, которым веб-браузеры могут узнать, что сайт использует HSTS:

1) HTTP заголовок веб-сервера сообщает, что данный веб-сайт использует HSTS.

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

2) Списки, в которых собраны сайты, использующие HSTS. Такой список обслуживает Google и он поддерживается всеми веб-браузерами. Подробности смотрите по ссылкам:

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

hstspreload — это список Chromium HSTS Preload в виде пакета Python.

Пакет предоставляет одну функцию: in_hsts_preload(), которая принимает хост с кодировкой IDNA и возвращает True или False относительно того, следует ли осуществлять доступ к этому хосту только через HTTPS.

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


Файл, который используется в качестве источника данных (файл в кодировке Base64): https://chromium.googlesource.com/chromium/src/+/main/net/http/transport_security_state_static.json?format=TEXT

Домашняя страница: https://github.com/sethmlarson/hstspreload

Автор: Seth Michael Larson

Лицензия: BSD-3

Справка по hstspreload

Пакет предоставляет одну функцию: in_hsts_preload(), которая принимает хост с кодировкой IDNA и возвращает True или False относительно того, следует ли осуществлять доступ к этому хосту только через HTTPS.

Вы можете импортировать модуль hstspreload в скрипте Python и из него вызывать функцию in_hsts_preload().

Таким образом, если проверяемый домен имеется в списке HSTS preload, то будет возвращено True. Если домен отсутствует в этом списке, то будет возвращено False.


Руководство по hstspreload

Страница man отсутствует.

Примеры запуска hstspreload

Создайте файл hstspreload_checker.py и скопируйте в него следующее содержимое:

from sys import argv
import hstspreload

host = argv[1]
print (hstspreload.in_hsts_preload(host))

Запускайте файл следующим образом:

python hstspreload_checker.py DOMAIN

Например, следующая команда проверит, имеется ли домен suip.biz в списке HSTS preload:

python hstspreload_checker.py suip.biz

Ещё примеры проверки:

python hstspreload_checker.py hackware.ru
python hstspreload_checker.py youtube.com
python hstspreload_checker.py paypal.com
python hstspreload_checker.py www.paypal.com

Вы также можете проверять домены верхнего уровня (top-level domain, TLD):

python hstspreload_checker.py com
python hstspreload_checker.py net
python hstspreload_checker.py dev
python hstspreload_checker.py microsoft
python hstspreload_checker.py youtube

Если домен верхнего уровня добавлен в список HSTS preload, то все домены второго и любого последующего уровней также будут доступны только по протоколу HTTPS:

python hstspreload_checker.py just.whatever.if.dev

Установка hstspreload

Установка в Kali Linux

Вы можете выбрать любой из следующих двух способов установки:

#1. Установка с помощью pip:

pip install --break-system-packages hstspreload

Для обновления установленного таким образом пакета выполните команду:

pip install --break-system-packages -U hstspreload

#2. Установка из github:

git clone https://github.com/sethmlarson/hstspreload
cd hstspreload
sudo python setup.py install

Для обновления установленного таким образом пакета выполните команду:

cd hstspreload
git pull
sudo python setup.py install

Установка в BlackArch

pikaur -S aur/python-hstspreload

Смотрите также: Автоматическая установка и обновление пакетов AUR

Установка в Ubuntu, Linux Mint, Debian

pip install --break-system-packages hstspreload

Для обновления установленного таким образом пакета выполните команду:

pip install --break-system-packages -U hstspreload

Скриншоты hstspreload

Инструкции по hstspreload


Близкие программы:

  • SPARTA (100%)
  • Nmap (100%)
  • testssl.sh (100%)
  • hsecscan (100%)
  • EyeWitness (100%)
  • Amap (RANDOM - 50%)
  • Рекомендуется Вам:

    Comments are Closed