Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20191026_pronama_juiceshop
Search
ONO,Tetsuo
October 26, 2019
0
390
20191026_pronama_juiceshop
とりあえずdockerでjuiceshopとctfdを同居させるための手順書みたいなお話です。
ONO,Tetsuo
October 26, 2019
Tweet
Share
More Decks by ONO,Tetsuo
See All by ONO,Tetsuo
20240127_NGK2024S_DM
gplains
0
280
20230121_NGK2023S_DM
gplains
0
400
202101_t1d_telework
gplains
0
420
202012_juiceshop
gplains
0
110
20201218_pktmon_netsh
gplains
0
550
20201130_keepalived
gplains
0
120
20201123_prep_exam_1
gplains
0
110
202011_rsyslog
gplains
0
41
20201117_vagrant
gplains
0
94
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Visualization
eitanlees
146
15k
Gamification - CAS2011
davidbonilla
80
5.1k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
How GitHub (no longer) Works
holman
312
140k
Designing for Performance
lara
604
68k
The Cost Of JavaScript in 2023
addyosmani
46
7.2k
Become a Pro
speakerdeck
PRO
26
5.1k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
360
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Transcript
JuiceShopCTFで考える安全なウェブサイト 大野 哲生(@g_plains) On 2019/10/26
おやくそく 当該スライドに登場するアプリケーションは、不 具合調査やその前提となる技能の習得のために作 られたものです。 構内での自習や、ウェブアプリケーションの受け 入れ検査など、利用が許可された環境でのみ実施 するようおねがいします。
AWSなどのクラウド上でCTF環境を構築する際に は「防災訓練」等の契約上の申請が必要なことが あります。
おしながき 自己紹介 ウェブサイトのライフサイクル 検査のためのの知識づくり OWASP JuiceShop(とCTFd)のインストール
OWASP JuiceShopで困ったこと まとめ
自己紹介 ハンドル :こてつ(@g_plains) 出身 : 愛知で銀杏のおいしいところ おしごと
: 派遣社員(システム運用管理)
ウェブサイトのライフサイクル 設計して、素材集めて作ります 納品前に、受け入れ検査をするよね 納品後に、周辺環境が変わったら、また検査が必要かも? …検査ってどうやればいいのかな?
検査のための知識? 関数だったら、「ユニットテスト」ができるよね 画面の操作で見つかるバグって、ユニットテストで見つけら れるのかなぁ… 手入力でどんなバグを見つけられるか、実際にやってみよ う! …ということで、
OWASP JuiceShopのご紹介。
OWASP JuiceShop OWASPの「やられアプリ」プロジェクト https://www2.owasp.org/www-project-juice-shop/ FBCTFやCTFdで出題する「CTF機能」もあるよ 環境作るのが大変ってときはherokuにもあるよ https://juice-shop.herokuapp.com/
ドキュメントが全部英語(つらい) ともかく、JuiceShopとCTFd連携まで、作ってみよう
JuiceShopのインストール-1 適当なLinux環境に、dockerをインストールします。 CentOS7だと、こんな感じ KALI LinuxだとOWASP ZAPが入ってたりして便利です。 $ sudo
yum install docker $ sudo systemctl start docker
JuiceShopのインストール-2 DockerHubからリポジトリを集めます。 今回は、ctfdも一緒にpullします。 $ sudo docker pull bkimminich/juice-shop $
sudo docker pull ctfd/ctfd $ sudo docker pull bkimminich/juice-shop-ctf $ docker pull nahidupa/fbctf
JuiceShopのインストール-3 まずはjuiceshop を起動するよ。引数の「CTF_KEY」は、 CTFモードでつかうタネになります。 例) http://172.16.226.136:3000/#/ $ sudo docker
run -d -e "CTF_KEY=pn1026" -e "NODE_ENV=ctf" -p 3000:3000 --name juiceshop bkimminich/juice-shop
JuiceShopのインストール-4 適当なフォルダに移動して、設定ファイルを作ります。 今回は、juiceshop.ymlって名前にしますか。 次のコマンドを1回だけ実行。何かzipファイルができます。 できたzipファイルは、scpか何かで手元にコピー。 ctfFramework: CTFd 2.x
juiceShopUrl: https://juice-shop.herokuapp.com ctfKey: pn1026 insertHints: free insertHintUrls: free $ sudo docker run -ti --rm -v $(pwd):/data:Z bkimminich/juice-shop-ctf --config juiceshop.yml
JuiceShopのインストール-5 CTFdを起動します。 CTFdのセットアップ画面で、先ほど作成したzipファイルを 取り込んでみましょう。 例) http://172.16.226.136:8000/setup $ sudo
docker run --name ctfd -p 8000:8000 ctfd/ctfd
JuiceShopのインストール-6 CTFdのセットアップ画面で、先ほど作成したzipファイルを 取り込んでみましょう。 (設定は取り込み後にリセットされます。)
JuiceShopのインストール-7 ひとまず、CTFdのスコアボードを見てみましょう(英語だ)
JuiceShop(CTFモード) JuiceShopの課題「スコアボードの表示」を実績解除して、 スコアボードの画面に異動すると…お、なんか出てきた →出てきたキーワードをコピペしてCTFdに張り付けると CTFdでポイントが付きます
JuiceShopでの困ったこと UIはちょっとだけ日本語だが、原則英語 ヒントの文句は全部英語 https://bkimminich.gitbooks.io/pwning-owasp-juice- shop/content/ 日本語ヒント埋め込めないかな...すみません追い付けません でした。
Orz (ヒントの部分のコードを読みましたが、全部英語でハード コードされていました。ロケールェ)
最後に 身につけた技術は使いどころが難しいですが、 ウェブシステムのテストやデバッグには十分使え ると思います! 安全なウェブサイト作り、みんなでがんばりま しょう!