axios の脆弱性 CVE-2023-45857 の動作を確認するデモ
1. dev container で起動する
1. app コンテナで`npm run dev`する
1. http://app.localhostへアクセスする
1. ブラウザの開発者ツールで Cookie に`XSRF-TOKEN`がセットされていることを確認する
- 値が`CREDENTIAL_TOKEN`となっていること
- HttpOnly が false となっていること
- SameSite が Strict となっていること
1. ボタンを押す
1. 開発者ツールで`whoami.localhost/api`へのリクエストにヘッダーの`x-xsrf-token`が存在し値が`CREDENTIAL_TOKEN`となっていること
- whoami はリクエストをそのまま返却するのでブラウザ上でも確認ができる
[4.0K] /data/pocs/ac1dc8905f806219a9fce23e9c210289f83bb525
├── [ 118] next.config.js
├── [ 653] package.json
├── [162K] package-lock.json
├── [4.0K] pages
│ ├── [4.0K] api
│ │ └── [ 307] hello.ts
│ ├── [ 150] _app.tsx
│ ├── [ 233] _document.tsx
│ └── [1.1K] index.tsx
├── [ 82] postcss.config.js
├── [4.0K] public
│ ├── [ 25K] favicon.ico
│ ├── [1.3K] next.svg
│ └── [ 629] vercel.svg
├── [ 735] README.md
├── [ 495] tailwind.config.ts
└── [ 509] tsconfig.json
3 directories, 14 files