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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ONO,Tetsuo
October 26, 2019
0
430
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
360
20230121_NGK2023S_DM
gplains
0
460
202101_t1d_telework
gplains
0
460
202012_juiceshop
gplains
0
140
20201218_pktmon_netsh
gplains
0
840
20201130_keepalived
gplains
0
160
20201123_prep_exam_1
gplains
0
120
202011_rsyslog
gplains
0
54
20201117_vagrant
gplains
0
120
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
63
From π to Pie charts
rasagy
0
120
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
440
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Writing Fast Ruby
sferik
630
62k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
920
The Spectacular Lies of Maps
axbom
PRO
1
510
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 (ヒントの部分のコードを読みましたが、全部英語でハード コードされていました。ロケールェ)
最後に 身につけた技術は使いどころが難しいですが、 ウェブシステムのテストやデバッグには十分使え ると思います! 安全なウェブサイト作り、みんなでがんばりま しょう!