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
HTTP通信を書きかえてみよう
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ryusei Ishikawa
October 05, 2023
Technology
91
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
HTTP通信を書きかえてみよう
SECCON Beginners 2023 札幌
Ryusei Ishikawa
October 05, 2023
More Decks by Ryusei Ishikawa
See All by Ryusei Ishikawa
“それなりに”安全なWebアプリケーションの作り方
xryuseix
0
660
DIVER OSINT CTF を支える技術 2025
xryuseix
0
190
OSINT CTFの リアル作問環境を体験してみよう!
xryuseix
0
400
OSINT CTFを支える技術
xryuseix
1
1.2k
Webアプリケーションのユーザ入力検証
xryuseix
3
1.3k
Privateリポジトリで 管理しているソースコードを 無料でGitHub Pagesに公開する
xryuseix
0
5.1k
CTFにおけるOSINT問題作問の難しさ
xryuseix
0
860
「Reactはビルド時にコメントが消えるから」と言ってコメントに💩を書いてはいけない
xryuseix
0
1.5k
Other Decks in Technology
See All in Technology
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
3
1k
ruby.wasmとPicoRuby.wasmに対応した仮想DOMライブラリを作ってる話 #kaigieffect_kaigi
sue445
PRO
0
150
LLMやAIエージェントをソフトウェアに組み込むプラクティス
shibuiwilliam
2
410
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.4k
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
140
AICoEでAIネイティブ組織への進化
yukiogawa
0
190
見守りエージェントを作ってみた(ローカルLLM + Hermes Agent)
happysamurai294
0
110
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
1
270
Data + AI Summit 2026 イベントレポート: 「AIがビジネスで意思決定するデータ基盤」へ
nek0128
0
250
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
330
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
260
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
The Invisible Side of Design
smashingmag
301
52k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
460
エンジニアに許された特別な時間の終わり
watany
108
250k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
340
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Balancing Empowerment & Direction
lara
6
1.2k
Documentation Writing (for coders)
carmenintech
77
5.4k
Color Theory Basics | Prateek | Gurzu
gurzu
0
390
AI: The stuff that nobody shows you
jnunemaker
PRO
8
830
Transcript
HTTP通信を 書きかえてみよう xryuseix (@ryusei_ishika) SECCON Beginners 2023 札幌
自己紹介 ID: xryuseix (Twitter: @ryusei_ishika) Webセキュリティと開発が好きです。 ctf4b 2023では以下の問題を提供しました。 • shaXXX
• drmsaw • phisher2 2
ローカルプロキシとは これってstring? number? 3 https://www.anet.co.jp/security/en gineer_blog/webburp_suite.html
Burp Suiteのダウンロード 4 1. ここにアクセス a. https://portswigger.net/burp 2. community editionをダウンロード
3. メールアドレスを入力 4. 自分のOSに合わせたバイナリを ダウンロード
Burpの起動 これってstring? number? 5 ↑2回くらいnextおす →
Burpの起動 これってstring? number? 6 ↑おす ↗Proxyを選択する
Burpの起動 これってstring? number? 7
Burpの起動 これってstring? number? 8 一旦interceptをOFFにしてください
問題ページ これってstring? number? 9 https://2023-sapporo.ctf4b.ryuse.dev/ 今回の講義では この後のCTFで使用す問題を先に解説するので、 あとで皆さんに解いてもらいます
問題1: ダウンロードするHTMLを書き換える 10 問題文に書いてある通り、ダウンロードされる HTMLを書き換えればフラグが手に入ります
問題1: ダウンロードするHTMLを書き換える 11 開発者ツールなどで中身を見てみると、どこを書き換えればいいのかひと目でわかります
問題1: ダウンロードするHTMLを書き換える 12 レスポンスを書き換えていきます。まず intercept is onにします 次にproxy settingsからresponses interception
rulesのチェックを入れます
問題1: ダウンロードするHTMLを書き換える 13 この状態で先ほどの問題ページ (/chall1.html)をリロードします。
問題1: ダウンロードするHTMLを書き換える これってstring? number? 14 左上のforwardを何度か押すと、HTMLが表示されます。
問題1: ダウンロードするHTMLを書き換える 15 左側はエディタに貼っているので、書き換えます。
問題1: ダウンロードするHTMLを書き換える 16 書き換えた状態でforwardを押すと、フラグが手に入ります。
問題2: HTTPリクエストを書き換える 17
問題2: HTTPリクエストを書き換える 18 残りの在庫が0個のflagを購入できれば良さそうです
問題2: HTTPリクエストを書き換える 19 Appleを1個で購入しようとすると、リクエスト内容はこのようになります。
問題2: HTTPリクエストを書き換える 20 なのでこれをflagにすると...
問題2: HTTPリクエストを書き換える 21 not enough flagと出力されました。在庫が 0なので仕方ないですね
問題2: HTTPリクエストを書き換える 22 ソースコードが読めるので、読んでみましょう。
問題2: HTTPリクエストを書き換える 23 フラグを-1個で購入すると、フラグが手に入ります。
問題3: Adminのパスワードを入手する 24 今回はburpのリクエスト内容をブルートフォースする機能を使用します
問題3: Adminのパスワードを入手する これってstring? number? 25 HTTP historyから先ほどのリクエストを選択します。
問題3: Adminのパスワードを入手する これってstring? number? 26 requestを右クリックでSend to Intruderを選択します。
問題3: Adminのパスワードを入手する これってstring? number? 27 上のタブからintruderを選択します。
問題3: Adminのパスワードを入手する これってstring? number? 28 パスワードの部分を選択して右上の Add $をクリックします。
問題3: Adminのパスワードを入手する これってstring? number? 29 PayloadsからNumbersを選択します。Payload settingsはこんな感じです。
問題3: Adminのパスワードを入手する これってstring? number? 30 実行すると一個だけレスポンスサイズがおかしい!この中身をみるとフラグが入っています。
まとめ 31 • HTTPリクエスト・レスポンスはローカルプロキシを使用して書き換えられる • リクエストやレスポンスを書き換えることによって入力制限などを回避できる場合が ある • Burp Suiteを使うとパラメータを変えながら様々なリクエストを作成することができる