Skip to content

Instantly share code, notes, and snippets.

@azu
azu / README.md
Last active November 2, 2022 08:00
サブドメインをユーザーホスティングサイトに使うときのパターン(Same Origin/Cookie/Public Suffix List)

サブドメインをユーザーホスティングサイトに使うときのパターン

hoge.example.com でユーザが作成したサイトをホスティングして、任意のJavaScriptを実行できる状態にしたいケース。 サブドメインを分けることで、Fetch APIなどはSame Origin Policyを基本にするため、別のサブドメインや example.com に対するリクエストなどはできなくなる。

一方で、CookieはSame Origin Policyではない。 デフォルトでは、hoge.example.com から example.com に対するCookieが設定できる。 これを利用したDoS(Cookie Bomb)やこの挙動を組み合わせた別の脆弱性に利用できる場合がある。

/*
HTTPS サーバを用意して、Header に下記のパラメータを設定する必要あり。
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Permissions-Policy: direct-sockets=(self)
---
99.0.4807.0 現在、起動時は下記パラメータの設定も必要
Internet Engineering Task Force M. Lichvar
Internet-Draft Red Hat
Intended status: Standards Track Nov 11, 2020
Expires: May 15, 2021
@mnot
mnot / structured-fields.blab
Created July 9, 2020 11:08
structured fields blab
sf {
sf-string = DQUOTE chr* DQUOTE
sf-list = list-member ( OWS "," OWS list-member )*
list-member = sf-item
| inner-list
inner-list = "(" SP* ( sf-item ( SP+ sf-item )* SP* )? ")" parameters
gem install fpm --no-ri --no-rdoc
# packagesディレクトリ以下をまとめてpackagingする
go build -o YOURAPP yourapp.go
mkdir -p pakcages/usr/local/YOURAPP/{bin,etc}
cp yourapp packages/usr/local/YOUARPP/bin/yourapp
(cd packages; fpm -s dir -t deb -n YOURAPP -v 0.1.0 .)
ls -la packages
  • 大半のgo applicationならdependsはないからfpmはとても楽な選択