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
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
640
DIVER OSINT CTF を支える技術 2025
xryuseix
0
170
OSINT CTFの リアル作問環境を体験してみよう!
xryuseix
0
380
OSINT CTFを支える技術
xryuseix
1
1.2k
Webアプリケーションのユーザ入力検証
xryuseix
3
1.3k
Privateリポジトリで 管理しているソースコードを 無料でGitHub Pagesに公開する
xryuseix
0
5.1k
CTFにおけるOSINT問題作問の難しさ
xryuseix
0
840
「Reactはビルド時にコメントが消えるから」と言ってコメントに💩を書いてはいけない
xryuseix
0
1.5k
Other Decks in Technology
See All in Technology
サイバーエージェントにおけるAI推進戦略と変革への取り組み
shotatsuge
0
240
iAEONの段階的リアーキテクト戦略 / iAEON's_Gradual_Re-architecture_Strategy
aeonpeople
0
230
[チョークトーク資料]AWS DevOps Agent を使いこなす / AWS Dev Ops Agent Chalk Talk AWS Summit Japan 2026
kinunori
3
630
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
240
Oracle Cloud Infrastructure:2026年6月度サービス・アップデート
oracle4engineer
PRO
0
150
クレデンシャル流出 ― 攻撃 3 時間 vs 復旧 10 時間。この非対称性にどう備えるか
kazzpapa3
2
150
AIのReact習熟度を測る
uhyo
2
660
SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク ~実装編~
sonic
0
290
“詰む”前に仕組みを作れ 〜技術の波に溺れないためのキャッチアップ術〜
takasyou
2
230
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
2
690
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
4
2.3k
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
170
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
So, you think you're a good person
axbom
PRO
2
2.1k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Abbi's Birthday
coloredviolet
2
8.1k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Raft: Consensus for Rubyists
vanstee
141
7.5k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Odyssey Design
rkendrick25
PRO
2
700
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
560
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
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を使うとパラメータを変えながら様々なリクエストを作成することができる