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
400
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
290
20230121_NGK2023S_DM
gplains
0
410
202101_t1d_telework
gplains
0
430
202012_juiceshop
gplains
0
110
20201218_pktmon_netsh
gplains
0
570
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
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Unsuck your backbone
ammeep
669
57k
RailsConf 2023
tenderlove
29
1k
Code Reviewing Like a Champion
maltzj
521
39k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Facilitating Awesome Meetings
lara
52
6.2k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Producing Creativity
orderedlist
PRO
344
39k
Thoughts on Productivity
jonyablonski
69
4.5k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
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 (ヒントの部分のコードを読みましたが、全部英語でハード コードされていました。ロケールェ)
最後に 身につけた技術は使いどころが難しいですが、 ウェブシステムのテストやデバッグには十分使え ると思います! 安全なウェブサイト作り、みんなでがんばりま しょう!