web-dev-qa-db-ja.com

まだHSTSをサポートしていないサイトのリスト?

私は仕事の記事に取り組んでおり、HSTSをまだサポートしていない上位--500 Webサイト( Alexa でランク付け)のリストを探しています。そのようなリストは存在しますか? Googleクエリから興味深いヒットが得られません。

すべてのWebサイトを1つずつチェックする以外に、これを達成する方法を提供できる人はいますか?

3
user178357

確認したいドメイン名の改行区切りのリストがすでにあると想定して、最初の引数または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が 構文的に有効 であるかどうかを確認するには、はるかに複雑な正規表現が必要になります。

2
forest

動的HSTS

@ forest'sanswer はこれをうまくカバーしているので、再検討しないように、各サイトに接続して返されたヘッダーを確認する必要があります。これはHEAD送り返されるデータの量を減らしたい場合。

静的HSTS

Firefox

次のリンクのいずれかを使用する必要があります。

Chrome

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でデコードする必要があります。

1
jrtapsell