Web
別名: Web Exploitation
Webに関するジャンル
大きく分けて2つのタイプがある
サーバーを攻撃する問題
脆弱性のあるサーバーを攻撃し、サーバーの中にあるフラグを奪取する
様々な脆弱性が出題される。実質なんでもあり
クライアント(ブラウザ)を攻撃する問題
Webサーバーとは別に被害者に見立てたクローラーが動いており、指定したURLやページにアクセスしてくれたりする
被害者に悪意のあるページを読み込ませて、被害者のブラウザに保存されていたり、被害者からしか見れない領域にあったりするフラグを奪取する
一般的な攻撃手法
OS Command Injection
SQL Injection / NoSQL Injection
XXE
Server-Side Template Injection
Path Traversal / Local File Inclusion
Zip Slip
Server-Side Request Forgery
Prototype Pollution
Insecure Deserialization
Timing Attack
ReDoS
PHPの挙動
JavaScriptの挙動
ライブラリ・フレームワークの挙動
クライアントの防御機構・機能など
Cookie
Same Origin Policy
Content Security Policy
Cross Origin Resource Sharing
Cross Origin Read Blocking
Back-Forward Cache
Shadow DOM
クライアント特有の攻撃手法
XSS
DOM Clobbering
Dangling Markup Injection
Service Workerの利用
Chrome Devtools Protocolの利用
CSS Injection
XS-Leaks
Cross Site Request Forgery
Cache Poisoning
HTTP Request Smuggling
HTTP Desync
HTTP Header Injection
GraphQL Injection
ツール
RequestBin / WebHook系ツール
受信したHTTPやDNSのログを見れるツール
XSSなどで窃取した情報を見たいときによく使う
他に良いサイトあったら教えてください
RequestBin.net https://requestbin.net/
Pipedreams.net
https://beeceptor.com/
ngrokみたいにポートフォワーディングもできる
CSP Evaluator https://csp-evaluator.withgoogle.com/
Content Security Policyの安全性をチェックできるツール
Burp Suite
PortSwigger社が開発している高機能なプロキシツール
脆弱性診断などの実務でよく使われる
CTFには高機能すぎるので使う機会はあまりないイメージ
生のHTTPを書き替えたいときとかに便利かもしれない
資料
MDN web docs https://developer.mozilla.org/ja/
Mozillaが公開しているWebドキュメント集
HTML/CSS/JavaScriptやHTTPなどのブラウザ標準に関係する情報はMDNがおすすめ
Web Security Academy https://portswigger.net/web-security/all-materials
PortSwigger社が公開しているWebセキュリティの学習コンテンツ
色々な攻撃手法がまとまっている
PayloadsAllTheThings https://github.com/swisskyrepo/PayloadsAllTheThings
Payloadまとめ
そのまま使えることは少ないが、Filter Bypassの参考になる
XSS Cheat Sheet https://portswigger.net/web-security/cross-site-scripting/cheat-sheet
PortSwigger社が公開しているXSSチートシート
便利だし積極的に更新しているのでおすすめ
CTFのWebセキュリティ Advent Calendar 2021 https://adventar.org/calendars/6321
hamayanhamayanさんがCTFのWebについてまとめた記事
かなりの範囲を網羅していて圧倒的情報量
【2020年】CTF Web問題の攻撃手法まとめ https://graneed.hatenablog.com/entry/2021/08/09/115452
graneedさんの記事
圧倒的情報量
難しい問題も解説していて興味深い
2019: https://graneed.hatenablog.com/entry/2019/12/29/115100
2018: https://graneed.hatenablog.com/entry/2018/12/16/003745