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
0
58
HTTP通信を書きかえてみよう
SECCON Beginners 2023 札幌
Ryusei Ishikawa
October 05, 2023
Tweet
Share
More Decks by Ryusei Ishikawa
See All by Ryusei Ishikawa
OSINT CTFを支える技術
xryuseix
1
460
Webアプリケーションのユーザ入力検証
xryuseix
3
1k
Privateリポジトリで 管理しているソースコードを 無料でGitHub Pagesに公開する
xryuseix
0
2k
CTFにおけるOSINT問題作問の難しさ
xryuseix
0
580
「Reactはビルド時にコメントが消えるから」と言ってコメントに💩を書いてはいけない
xryuseix
0
990
Other Decks in Technology
See All in Technology
来年もre:Invent2024 に行きたいあなたへ - “集中”と“つながり”で楽しむ -
ny7760
0
470
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
49k
「最高のチューニング」をしないために / hack@delta 24.10
fujiwara3
21
3.5k
急成長中のWINTICKETにおける品質と開発スピードと向き合ったQA戦略と今後の展望 / winticket-autify
cyberagentdevelopers
PRO
1
160
APIテスト自動化の勘所
yokawasa
7
4.2k
Gradle: The Build System That Loves To Hate You
aurimas
2
150
Amazon FSx for NetApp ONTAPを利用するにあたっての要件整理と設計のポイント
non97
1
160
プロダクトチームへのSystem Risk Records導入・運用事例の紹介/Introduction and Case Studies on Implementing and Operating System Risk Records for Product Teams
taddy_919
1
170
WINTICKETアプリで実現した高可用性と高速リリースを支えるエコシステム / winticket-eco-system
cyberagentdevelopers
PRO
1
190
小規模に始めるデータメッシュとデータガバナンスの実践
kimujun
3
590
Autify Company Deck
autifyhq
1
39k
[AWS JAPAN 生成AIハッカソン] Dialog の紹介
yoshimi0227
0
150
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
95
5.2k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The Power of CSS Pseudo Elements
geoffreycrofte
72
5.3k
Become a Pro
speakerdeck
PRO
24
5k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Making the Leap to Tech Lead
cromwellryan
132
8.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
9
680
YesSQL, Process and Tooling at Scale
rocio
167
14k
[RailsConf 2023] Rails as a piece of cake
palkan
51
4.9k
Embracing the Ebb and Flow
colly
84
4.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
RailsConf 2023
tenderlove
29
880
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を使うとパラメータを変えながら様々なリクエストを作成することができる