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
250
20230121_NGK2023S_DM
gplains
0
390
202101_t1d_telework
gplains
0
410
202012_juiceshop
gplains
0
100
20201218_pktmon_netsh
gplains
0
480
20201130_keepalived
gplains
0
120
20201123_prep_exam_1
gplains
0
110
202011_rsyslog
gplains
0
41
20201117_vagrant
gplains
0
91
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Rails Girls Zürich Keynote
gr2m
94
13k
Git: the NoSQL Database
bkeepers
PRO
427
64k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Practical Orchestrator
shlominoach
186
10k
How GitHub (no longer) Works
holman
310
140k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
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 (ヒントの部分のコードを読みましたが、全部英語でハード コードされていました。ロケールェ)
最後に 身につけた技術は使いどころが難しいですが、 ウェブシステムのテストやデバッグには十分使え ると思います! 安全なウェブサイト作り、みんなでがんばりま しょう!