Open11
徳丸本

実習環境構築のトラブルシューティング
Docker版でやってみる https://wasbook.org/wasbook-docker.html
ローカルマシン環境はAMD64 Mac OS Ventura 13.6.4

Docker版実習環境をダウンロードしたけどdocker-compose up -d
でエラー
The Compose file '.\docker-compose.yml' is invalid because:
services.nginx.depends_on contains an invalid type, it should be a string
コマンド間違えていた、正しくはdocker compose up -d
(dockerとcomposeの間にハイフンいらない)
dockerのバージョンがv18.09.1と古すぎたので最新(v25.0.2)に上げて docker compose up -d
したら一旦上記のエラーは消えた
エラー時のdocker version
(base) ➜ wasbook-docker docker version
Client: Docker Engine - Community
Version: 18.09.1
API version: 1.39
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan 9 19:33:12 2019
OS/Arch: darwin/amd64
Experimental: false

前回のエラーは発生しないとは言え、docker compose up -d
で以下のエラーを踏んだ
(base) ➜ wasbook-docker docker compose up -d
[+] Building 0.9s (8/8) FINISHED docker:desktop-linux
=> [mail internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 313B 0.0s
=> ERROR [mail internal] load metadata for docker.io/schickling/mailcatcher:latest 0.8s
=> [db internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 186B 0.0s
=> ERROR [db internal] load metadata for docker.io/library/mariadb:10.6 0.8s
=> [apache internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 1.54kB 0.0s
=> ERROR [apache internal] load metadata for docker.io/library/php:8.1.13-apache-bullseye 0.7s
=> [tomcat internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 434B 0.0s
=> CANCELED [tomcat internal] load metadata for docker.io/library/tomcat:8.5.82-jre8-openjdk-slim-bullseye 0.7s
------
> [mail internal] load metadata for docker.io/schickling/mailcatcher:latest:
------
------
> [db internal] load metadata for docker.io/library/mariadb:10.6:
------
------
> [apache internal] load metadata for docker.io/library/php:8.1.13-apache-bullseye:
------
failed to solve: schickling/mailcatcher: error getting credentials - err: exec: "docker-credential-desktop": executable file not found in $PATH, out: ``
~/.docker/config.json
の中の credsStore
を credStore
にしたら直った(なんで?)
参考:https://forums.docker.com/t/docker-credential-desktop-exe-executable-file-not-found-in-path-using-wsl2/100225/5

P57
Hiddenパラメータのメリットは?

P67
第三者からのセッションIDの強制とは?

P109
制御文字とそのチェック

P126
JSを使わないXSS

P249
Httpヘッダインジェクション脆弱性

インジェクション系脆弱性
- Httpヘッダ
- OSコマンド
- メールヘッダ