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
生PHPで学ぶSSRF.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
dyoshikawa
October 08, 2024
180
0
Share
生PHPで学ぶSSRF.pdf
dyoshikawa
October 08, 2024
More Decks by dyoshikawa
See All by dyoshikawa
エンジニア向けコミュニティZennの開発チームを支える自動化の仕組み.pdf
dyoshikawa1993
0
2.5k
Zennへのスパム投稿が急増したのでLLMでなんとかした話
dyoshikawa1993
0
1.4k
Google Cloud Vertex AIにおけるGemini vs Claude
dyoshikawa1993
0
240
OSSコミットしてZennの課題を解決した話
dyoshikawa1993
0
650
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
790
Embracing the Ebb and Flow
colly
88
5k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.8k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Speed Design
sergeychernyshev
33
1.7k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
170
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Transcript
生PHPで学ぶSSRF 10/19(土) PHP勉強会in広島 vol.1 LT枠 @dyoshikawa
簡単に自己紹介 • https://x.com/dyoshikawa1993 • 広島住みソフトウェアエンジニア • Next.js / Ruby on
Rails など • 応用情報技術者 / AWS Security Specialtyなど
留意事項 • 発表者もセキュリティ勉強中の身です(予防線) • コードは例示のために簡略化されているため、そのまま本番利用はしないでくださ い • 誤りがあればご指摘ください
SSRF知ってますか?
https://owasp.org/Top10/ja/ OWASP Top 10に入っている
私のSSRFとの出会い • 今年(2024年)春に応用情報技術者試験合格 • 秋に情報処理安全確保支援士試験を申し込み • SSRF(サーバーサイドリクエストフォージェリ)を知る • CSRF(クロスサイトリクエストフォージェリ)は聞いたことあるけど、SSRFって何 ・・・?
SSRFとは
SSRFとは ネットワーク 公開サーバ 非公開サーバ 192.168.0.1 https://example.com として公開 GET https://example.com?target=http://192.168.0.1 任意のURLをパラメータとして受け付けて内容を取得するような
Webアプリケーションの場合に 攻撃者がWebサーバ自身や非公開のサーバの情報を取得できてしまう脆弱性
任意のURLを受け付ける生PHP ※脆弱なコードです
任意のURLを受け付けるWebアプリなんかある? 実は結構ある • ChatGPTに任意のURLを渡して「このページを要約して」と依頼 • XやFacebookに任意のURLを渡してリンクカード(OGP)を表示
どうすればいいの?
SSRF対策 • 可能であれば、任意のURLを受け付ける仕様をやめる • URLをホワイトリストで管理して検証する、IDとURLのテーブルを作ってIDを受け取 るようにするなど
URLをホワイトリストで制限
とはいえ仕様がそれを許さない場合もある • 任意のURLを受け付けないと機能要件が満たせない場合、決定版な対策はない • ネットワーク分離 +、形式の検証、WAF、生のレスポンスをそのままクライアントに返さない など組み合わせて対策する • ブラックリスト方式はダメ、簡単に迂回される https://owasp.org/Top10/ja/A10_2021-Server-Side_Request_Forgery_%28SSRF%29/
参考 • https://owasp.org/Top10/ja/ • https://owasp.org/Top10/ja/A10_2021-Server-Side_Request_Forgery_%28SS RF%29/ • https://blog.tokumaru.org/2018/12/introduction-to-ssrf-server-side-request-forg ery.html •
https://zenn.dev/chot/articles/88ea57e3108978 • https://www.docswell.com/s/wild0ni0n/5DENY9-2023-05-08-115632
Thank you