Web 脆弱性の方法論
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
すべての Web Pentest において、脆弱である可能性のあるいくつかの隠れた場所や明白な場所があります。この記事は、可能なすべての場所で脆弱性を探したことを確認するためのチェックリストです。
プロキシ
Tip
現在、ほとんどの web アプリケーションは何らかの仲介プロキシを使用しており、これらは脆弱性を悪用するために(誤用)されることがあります。これらの脆弱性は脆弱なプロキシが存在することを前提としますが、通常はバックエンド側の追加の脆弱性も必要とします。
- Abusing hop-by-hop headers
- Cache Poisoning/Cache Deception
- HTTP Connection Contamination
- HTTP Connection Request Smuggling
- HTTP Request Smuggling
- HTTP Response Smuggling / Desync
- H2C Smuggling
- Server Side Inclusion/Edge Side Inclusion
- Uncovering Cloudflare
- XSLT Server Side Injection
- Proxy / WAF Protections Bypass
ユーザー入力
Tip
ほとんどの web アプリケーションは、後で処理されるデータをユーザーに入力させることを許可します。
サーバーが期待するデータの構造によって、適用される脆弱性があるかどうかが変わる場合があります。
反映される値
入力したデータがレスポンスに何らかの形で反映される場合、そのページは複数の問題に対して脆弱である可能性があります。
- Client Side Path Traversal
- Client Side Template Injection
- Command Injection
- CRLF
- Dangling Markup
- File Inclusion/Path Traversal
- Open Redirect
- Prototype Pollution to XSS
- Server Side Inclusion/Edge Side Inclusion
- Server Side Request Forgery
- Server Side Template Injection
- Reverse Tab Nabbing
- XSLT Server Side Injection
- XSS
- XSSI
- XS-Search
いくつかの脆弱性は特別な条件を必要とし、他は単にコンテンツが反映されるだけで発生します。脆弱性を素早くテストするための興味深い polygloths は以下で見つけられます:
Reflecting Techniques - PoCs and Polygloths CheatSheet
検索機能
機能がバックエンド内のデータを検索するために使用される場合、任意のデータを検索するために(誤用)できる可能性があります。
- File Inclusion/Path Traversal
- NoSQL Injection
- LDAP Injection
- ReDoS
- SQL Injection
- ORM Injection
- RSQL Injection
- XPATH Injection
Forms, WebSockets and PostMsgs
WebSocket がメッセージを送信したり、ユーザーが操作を実行できるフォームがある場合、脆弱性が発生する可能性があります。
- Cross Site Request Forgery
- Cross-site WebSocket hijacking (CSWSH)
- Phone Number Injections
- PostMessage Vulnerabilities
HTTP Headers
Web サーバーが返す HTTP ヘッダーによっては、いくつかの脆弱性が存在する可能性があります。
- Clickjacking
- Iframe Traps / Click Isolation
- Content Security Policy bypass
- Cookies Hacking
- CORS - Misconfigurations & Bypass
バイパス
特定の機能では、それらを回避するためのワークアラウンドが有用な場合があります。
- 2FA/OTP Bypass
- Bypass Payment Process
- Captcha Bypass
- Account Takeover Playbooks
- Login Bypass
- Race Condition
- Rate Limit Bypass
- Reset Forgotten Password Bypass
- Registration Vulnerabilities
構造化オブジェクト / 特定の機能
一部の機能は、非常に特定の形式でデータが構造化されていることを要求します(言語のシリアライズオブジェクトや XML など)。したがって、アプリケーションがその種のデータを処理しているかどうかを特定するのは容易です。
また、特定の入力形式(Email Header Injections のような)を使用すると脆弱になる特定の機能もあります。
- Deserialization
- Email Header Injection
- JWT Vulnerabilities
- JSON / XML / YAML Hacking
- XML External Entity
- GraphQL Attacks
- gRPC-Web Attacks
Files
ファイルのアップロードを許可する機能は、さまざまな問題に対して脆弱である可能性があります。
ユーザー入力を含むファイルを生成する機能は、予期しないコードを実行する可能性があります。
ユーザーが他のユーザーによってアップロードされたファイルや、ユーザー入力を含む自動生成ファイルを開くと、侵害される可能性があります。
External Identity Management
その他の有用な脆弱性
以下の脆弱性は、他の脆弱性を悪用するのに役立つ場合があります。
- Domain/Subdomain takeover
- IDOR
- Mass Assignment (CWE-915)
- Parameter Pollution
- Unicode Normalization vulnerability
Web サーバー & ミドルウェア
エッジスタックのミスコンフィグレーションは、しばしばアプリケーション層でより影響の大きいバグを引き起こします。
- Apache
- Nginx
- IIS
- Tomcat
- Spring Actuators
- PUT Method / WebDAV
- Special HTTP Headers
- WSGI Deployment
- Werkzeug Debug Exposure
アプリケーションフレームワーク & スタック
フレームワーク固有のプリミティブは、しばしばガジェット、危険なデフォルト、またはフレームワークが所有するエンドポイントを露呈します。
CMS, SaaS & 管理プラットフォーム
表面積の大きい製品は、既知のエクスプロイト、脆弱なプラグイン、または特権管理者向けエンドポイントを含んでいることがよくあります。
- WordPress
- Joomla
- Drupal
- Moodle
- Prestashop
- Atlassian Jira
- Grafana
- Rocket.Chat
- Zabbix
- Microsoft SharePoint
- Sitecore
APIs, Buckets & 統合
サーバーサイドのヘルパーやサードパーティの統合は、ファイル解析やストレージ層の弱点を露呈する可能性があります。
- Web API Pentesting
- Storage Buckets & Firebase
- Imagemagick Security
- Artifactory & Package Registries
- Code Review Tooling
サプライチェーン & 識別子の悪用
ビルドパイプラインや予測可能な識別子を狙う攻撃は、従来のバグを悪用する前の最初の足がかりになることがあります。
Web3、拡張機能 & ツーリング
現代のアプリケーションはブラウザ、ウォレット、オートメーションパイプラインへと拡張されます。これらのベクターも調査範囲に含めてください。
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
HackTricks

