私は仕事の記事に取り組んでおり、HSTSをまだサポートしていない上位--500 Webサイト( Alexa でランク付け)のリストを探しています。そのようなリストは存在しますか? Googleクエリから興味深いヒットが得られません。
すべてのWebサイトを1つずつチェックする以外に、これを達成する方法を提供できる人はいますか?
確認したいドメイン名の改行区切りのリストがすでにあると想定して、最初の引数またはstdinで指定されたファイル内のリストを取得する次のようなスクリプトを使用します。
#!/bin/bash
while IFS= read -r s; do
curl -sI "https://$s" | grep -qiE "^Strict-Transport-Security:" || echo "$s"
done < "${1:-/dev/stdin}"
exit 0
これにより、稼働中のドメインのリストがstdoutに出力されますが、標準のHSTSヘッダーはHTTPS経由で送信されません。これは、特定のサブドメインがHSTSを使用しないことを意味するのではなく、HSTSヘッダーを送信するすべてのサイトが正しく使用していることを意味しません。 HSTSが 構文的に有効 であるかどうかを確認するには、はるかに複雑な正規表現が必要になります。
@ forest'sanswer はこれをうまくカバーしているので、再検討しないように、各サイトに接続して返されたヘッダーを確認する必要があります。これはHEAD送り返されるデータの量を減らしたい場合。
次のリンクのいずれかを使用する必要があります。
リリース
ベータ版
https://hg.mozilla.org/releases/mozilla-beta/raw-file/tip/security/manager/ssl/nsSTSPreloadList.inc
Chromeは少し難しいです。最初にこれを使用する必要があります:
https://omahaproxy.appspot.com/all.json
特定のリリースのハッシュを見つけてロードする
https://chromium.googlesource.com/chromium/src/+/hash/net/http/transport_security_state_static.json?format=TEXT
ここで、hashは前のステップで取得したハッシュです。
結果をBase64でデコードする必要があります。