Special |
+| Style | style property | \
```
-私たちの研究中に、`setStyle()`、`createComment()`、および`setValue()`などの他の`Renderer2`メソッドのXSSおよびCSSインジェクションに関する動作も調査しました。しかし、これらのメソッドの機能的制限のため、有効な攻撃ベクターを見つけることはできませんでした。
+私たちの研究の中で、`setStyle()`、`createComment()`、および`setValue()`などの他の`Renderer2`メソッドの動作もXSSおよびCSSインジェクションに関連して調査しました。しかし、これらのメソッドの機能的制限のため、有効な攻撃ベクターを見つけることはできませんでした。
#### jQuery
-jQueryは、HTML DOMオブジェクトの操作を助けるためにAngularプロジェクトで使用できる、迅速で小型かつ機能豊富なJavaScriptライブラリです。しかし、このライブラリのメソッドはXSS脆弱性を引き起こすために悪用される可能性があることは知られています。Angularプロジェクトで脆弱なjQueryメソッドがどのように悪用されるかを議論するために、このサブセクションを追加しました。
+jQueryは、HTML DOMオブジェクトの操作を支援するためにAngularプロジェクトで使用できる、高速で小さく、機能豊富なJavaScriptライブラリです。しかし、知られているように、このライブラリのメソッドはXSS脆弱性を引き起こすために悪用される可能性があります。Angularプロジェクトで脆弱なjQueryメソッドがどのように悪用されるかを議論するために、このサブセクションを追加しました。
* `html()`メソッドは、一致した要素のセットの最初の要素のHTMLコンテンツを取得するか、すべての一致した要素のHTMLコンテンツを設定します。しかし、設計上、HTML文字列を受け入れるjQueryのコンストラクタやメソッドは、コードを実行する可能性があります。これは、`");
some text here
```
-* `jQuery.parseHTML()`メソッドは、文字列をDOMノードのセットに変換するためにネイティブメソッドを使用し、それを文書に挿入することができます。
+* `jQuery.parseHTML()`メソッドは、文字列を一連のDOMノードに変換するためにネイティブメソッドを使用し、それをドキュメントに挿入できます。
```tsx
jQuery.parseHTML(data [, context ] [, keepScripts ])
@@ -446,7 +446,7 @@ $palias.append(html);
#### DOMインターフェース
-W3Cのドキュメントによると、`window.location`および`document.location`オブジェクトは、現代のブラウザではエイリアスとして扱われます。したがって、これらは一部のメソッドやプロパティの実装が似ており、これが`javascript://`スキーマ攻撃によるオープンリダイレクトやDOM XSSを引き起こす可能性があります。
+W3Cのドキュメントによると、`window.location`および`document.location`オブジェクトは、現代のブラウザではエイリアスとして扱われます。これが、いくつかのメソッドとプロパティの実装が似ている理由であり、これにより、以下に示すように`javascript://`スキーマ攻撃によるオープンリダイレクトやDOM XSSが引き起こされる可能性があります。
* `window.location.href`(および`document.location.href`)
@@ -481,9 +481,9 @@ window.location.assign("https://google.com/about")
```
* `window.location.replace()`(および`document.location.replace()`)
-このメソッドは、現在のリソースを提供されたURLのものに置き換えます。
+このメソッドは、現在のリソースを指定されたURLのものと置き換えます。
-これは、`assign()`メソッドとは異なり、`window.location.replace()`を使用した後、現在のページはセッション履歴に保存されません。しかし、このメソッドを制御できる場合、オープンリダイレクトの脆弱性を悪用することも可能です。
+`assign()`メソッドとの違いは、`window.location.replace()`を使用した後、現在のページがセッション履歴に保存されないことです。しかし、このメソッドを制御できる場合、オープンリダイレクトの脆弱性を悪用することも可能です。
```tsx
//app.component.ts
@@ -496,7 +496,7 @@ window.location.replace("http://google.com/about")
```
* `window.open()`
-`window.open()`メソッドは、URLを受け取り、それが識別するリソースを新しいタブまたはウィンドウに読み込みます。このメソッドを制御することで、XSSまたはオープンリダイレクトの脆弱性を引き起こす機会もあります。
+`window.open()`メソッドは、URLを受け取り、それが識別するリソースを新しいタブまたはウィンドウに読み込みます。このメソッドを制御することで、XSSまたはオープンリダイレクトの脆弱性を引き起こす機会も得られます。
```tsx
//app.component.ts
@@ -510,7 +510,7 @@ window.open("https://google.com/about", "_blank")
#### Angularクラス
-* Angularのドキュメントによれば、Angularの`Document`はDOMドキュメントと同じであり、Angular内のクライアントサイドの脆弱性を悪用するためにDOMドキュメントの一般的なベクターを使用することが可能です。`Document.location`プロパティおよびメソッドは、以下の例に示すように、成功したオープンリダイレクト攻撃のシンクになる可能性があります:
+* Angularのドキュメントによれば、Angularの`Document`はDOMドキュメントと同じであり、Angular内のクライアントサイドの脆弱性を悪用するためにDOMドキュメントの一般的なベクターを使用することが可能です。`Document.location`プロパティとメソッドは、以下の例に示すように、成功したオープンリダイレクト攻撃のシンクになる可能性があります:
```tsx
//app.component.ts
@@ -557,8 +557,8 @@ console.log(this.location.go("http://google.com/about"));
}
```
-結果:`http://localhost:4200/http://google.com/about`
-* Angularの`Router`クラスは主に同じドメイン内のナビゲーションに使用され、アプリケーションに追加の脆弱性を導入することはありません:
+結果: `http://localhost:4200/http://google.com/about`
+* Angularの`Router`クラスは主に同じドメイン内のナビゲーションに使用され、アプリケーションに追加の脆弱性を導入しません:
```jsx
//app-routing.module.ts
@@ -566,7 +566,7 @@ const routes: Routes = [
{ path: '', redirectTo: 'https://google.com', pathMatch: 'full' }]
```
-結果:`http://localhost:4200/https:`
+結果: `http://localhost:4200/https:`
以下のメソッドもドメインの範囲内でナビゲートします:
@@ -592,7 +592,7 @@ this.router.navigateByUrl('URL')
* [GitHub - angular/dom\_security\_schema.ts](https://github.com/angular/angular/blob/main/packages/compiler/src/schema/dom\_security\_schema.ts)
* [XSS in Angular and AngularJS](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/XSS%20Injection/XSS%20in%20Angular.md)
* [Angular Universal](https://angular.io/guide/universal)
-* [DOM XSS](https://book.hacktricks.xyz/pentesting-web/xss-cross-site-scripting/dom-xss)
+* [DOM XSS](https://book.hacktricks.wiki/en/pentesting-web/xss-cross-site-scripting/dom-xss.html)
* [Angular ElementRef](https://angular.io/api/core/ElementRef)
* [Angular Renderer2](https://angular.io/api/core/Renderer2)
* [Renderer2 Example: Manipulating DOM in Angular - TekTutorialsHub](https://www.tektutorialshub.com/angular/renderer2-angular/)
diff --git a/src/network-services-pentesting/pentesting-web/buckets/README.md b/src/network-services-pentesting/pentesting-web/buckets/README.md
index 5a6bc5d6c..a539479e4 100644
--- a/src/network-services-pentesting/pentesting-web/buckets/README.md
+++ b/src/network-services-pentesting/pentesting-web/buckets/README.md
@@ -5,7 +5,7 @@
バケツの列挙と悪用についてもっと学びたい場合は、このページを確認してください:
{{#ref}}
-https://cloud.hacktricks.xyz/pentesting-cloud/aws-security/aws-unauthenticated-enum-access/aws-s3-unauthenticated-enum
+https://cloud.hacktricks.wiki/en/pentesting-cloud/aws-security/aws-unauthenticated-enum-access/aws-s3-unauthenticated-enum.html#aws---s3-unauthenticated-enum
{{#endref}}
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/network-services-pentesting/pentesting-web/buckets/firebase-database.md b/src/network-services-pentesting/pentesting-web/buckets/firebase-database.md
index afcf39e94..087177dca 100644
--- a/src/network-services-pentesting/pentesting-web/buckets/firebase-database.md
+++ b/src/network-services-pentesting/pentesting-web/buckets/firebase-database.md
@@ -4,12 +4,12 @@
## Firebaseとは
-Firebaseは主にモバイルアプリケーション向けのBackend-as-a-Serviceです。バックエンドのプログラミングの負担を軽減し、優れたSDKやアプリケーションとバックエンド間のインタラクションを容易にする多くの興味深い機能を提供することに重点を置いています。
+Firebaseは主にモバイルアプリケーション向けのBackend-as-a-Serviceです。バックエンドのプログラミングの負担を軽減することに重点を置いており、使いやすいSDKやアプリケーションとバックエンドの相互作用を容易にする多くの興味深い機能を提供しています。
Firebaseの詳細については、以下を参照してください:
{{#ref}}
-https://cloud.hacktricks.xyz/pentesting-cloud/gcp-security/gcp-services/gcp-databases-enum/gcp-firebase-enum
+https://cloud.hacktricks.wiki/en/pentesting-cloud/gcp-security/gcp-services/gcp-firebase-enum.html
{{#endref}}
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-web/file-upload/README.md b/src/pentesting-web/file-upload/README.md
index 29604a222..92594c1ed 100644
--- a/src/pentesting-web/file-upload/README.md
+++ b/src/pentesting-web/file-upload/README.md
@@ -21,7 +21,7 @@
2. _実行拡張子の前に**有効な拡張子を追加**してチェックします(前の拡張子も使用):_
- _file.png.php_
- _file.png.Php5_
-3. **特殊文字を末尾に追加**してみてください。Burpを使用してすべての**ascii**および**Unicode**文字を**ブルートフォース**することができます。 (_前述の**拡張子**を使用してみることもできます_)
+3. **特殊文字を末尾に追加**してみてください。Burpを使用してすべての**ascii**および**Unicode**文字を**ブルートフォース**することができます。 (_前述の**拡張子**も試すことができます_)
- _file.php%20_
- _file.php%0a_
- _file.php%00_
@@ -43,7 +43,7 @@
5. 前のチェックに**別の拡張子の層を追加**します:
- _file.png.jpg.php_
- _file.php%00.png%00.jpg_
-6. **有効な拡張子の前にexec拡張子を置き**、サーバーが誤って設定されていることを祈ります。(拡張子が**.php**で終わらないが、**.php**で終わるものはすべてコードを実行するApacheの誤設定を悪用するのに役立ちます):
+6. **有効な拡張子の前にexec拡張子を置いて**、サーバーが誤って設定されていることを祈ります。(拡張子が**.php**で終わらないが、**.php**で終わるものはすべてコードを実行するApacheの誤設定を悪用するのに役立ちます):
- _例: file.php.png_
7. **Windows**での**NTFS代替データストリーム(ADS)**を使用します。この場合、禁止された拡張子の後にコロン文字「:」が挿入され、許可された拡張子の前に挿入されます。その結果、サーバー上に**禁止された拡張子の空のファイル**が作成されます(例: “file.asax:.jpg”)。このファイルは、他の技術を使用して後で編集することができます。 “**::$data**”パターンを使用して非空のファイルを作成することもできます。したがって、このパターンの後にドット文字を追加することも、さらなる制限をバイパスするのに役立ちます(例: “file.asp::$data.”)
8. ファイル名の制限を破ることを試みます。有効な拡張子が切り捨てられ、悪意のあるPHPが残ります。 AAA<--SNIP-->AAA.php
@@ -51,7 +51,7 @@
```
# Linuxの最大255バイト
/usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l 255
-Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ab3Ab4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2Af3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2Ah3Ah4Ah5Ah6Ah7Ah8Ah9Ai0Ai1Ai2Ai3Ai4 # ここで4を引き、.pngを追加
+Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ab3Ab4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2Af3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2Ah3Ah4Ah5Ah6Ah7Ah8Ah9Ai0Ai1Ai2Ai3Ai4 # ここで4を引いて.pngを追加
# ファイルをアップロードし、許可される文字数の応答を確認します。236としましょう
python -c 'print "A" * 232'
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
@@ -59,7 +59,7 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAA<--SNIP 232 A-->AAA.php.png
```
-### コンテンツタイプ、マジックナンバー、圧縮&リサイズのバイパス
+### コンテンツタイプ、マジックナンバー、圧縮およびリサイズのバイパス
- **Content-Type**チェックをバイパスするには、**Content-Type** **ヘッダー**の**値**を次のように設定します: _image/png_ , _text/plain , application/octet-stream_
1. Content-Type **ワードリスト**: [https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/Web/content-type.txt](https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/Web/content-type.txt)
@@ -67,38 +67,38 @@ AAA<--SNIP 232 A-->AAA.php.png
`exiftool -Comment="' >> img.png`
-- 画像に**圧縮**が追加されている場合、たとえば、[PHP-GD](https://www.php.net/manual/fr/book.image.php)のような標準のPHPライブラリを使用している場合、前述の技術は役に立ちません。しかし、**PLTEチャンク**を使用して、圧縮を**生き残る**テキストを挿入することができます。[**ここで定義された技術**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html)
+- 画像に**圧縮**が追加されている場合、たとえば、[PHP-GD](https://www.php.net/manual/fr/book.image.php)のような標準のPHPライブラリを使用している場合、前述の技術は役に立ちません。しかし、**PLTEチャンク** [**ここで定義された技術**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html)を使用して、圧縮を**生き残る**テキストを挿入できます。
- [**コードのあるGithub**](https://github.com/synacktiv/astrolock/blob/main/payloads/generators/gen_plte_png.php)
-- ウェブページが画像を**リサイズ**している場合、たとえば、PHP-GD関数`imagecopyresized`または`imagecopyresampled`を使用している場合、前述の技術は役に立ちません。しかし、**IDATチャンク**を使用して、圧縮を**生き残る**テキストを挿入することができます。[**ここで定義された技術**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html)
+- ウェブページが画像を**リサイズ**している場合、たとえば、PHP-GD関数`imagecopyresized`または`imagecopyresampled`を使用している場合、前述の技術は役に立ちません。しかし、**IDATチャンク** [**ここで定義された技術**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html)を使用して、圧縮を**生き残る**テキストを挿入できます。
- [**コードのあるGithub**](https://github.com/synacktiv/astrolock/blob/main/payloads/generators/gen_idat_png.php)
-- 画像のリサイズを**生き残る**ペイロードを作成するための別の技術、PHP-GD関数`thumbnailImage`を使用します。しかし、**tEXtチャンク**を使用して、圧縮を**生き残る**テキストを挿入することができます。[**ここで定義された技術**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html)
+- 画像のリサイズを**生き残る**ペイロードを作成する別の技術として、PHP-GD関数`thumbnailImage`を使用します。しかし、**tEXtチャンク** [**ここで定義された技術**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html)を使用して、圧縮を**生き残る**テキストを挿入できます。
- [**コードのあるGithub**](https://github.com/synacktiv/astrolock/blob/main/payloads/generators/gen_tEXt_png.php)
### その他のチェックするトリック
-- アップロードされたファイルの**名前を変更**する脆弱性を見つける(拡張子を変更するため)。
-- **ローカルファイルインクルージョン**の脆弱性を見つけてバックドアを実行する。
+- アップロード済みのファイルの**名前を変更**する脆弱性を見つけます(拡張子を変更するため)。
+- **ローカルファイルインクルージョン**の脆弱性を見つけてバックドアを実行します。
- **情報漏洩の可能性**:
-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**にアップロードする。
-- **実行可能ファイル**(.exe)または**.html**(あまり疑わしくない)をアップロードして、被害者が誤って開いたときに**コードを実行**することも試みてください。
+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**にアップロードします。
+- また、**実行可能ファイル**(.exe)または**.html**(あまり疑わしくない)をアップロードして、被害者が誤って開いたときに**コードを実行**させることを試みてください。
### 特殊な拡張子のトリック
-**PHPサーバー**にファイルをアップロードしようとしている場合、[コードを実行するための**.htaccess**トリックを確認してください](https://book.hacktricks.xyz/pentesting/pentesting-web/php-tricks-esp#code-execution-via-httaccess)。\
+**PHPサーバー**にファイルをアップロードしようとしている場合、[コードを実行するための**.htaccess**トリックを確認してください](https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-web/php-tricks-esp/index.html#code-execution)。\
**ASPサーバー**にファイルをアップロードしようとしている場合、[コードを実行するための**.config**トリックを確認してください](../../network-services-pentesting/pentesting-web/iis-internet-information-services.md#execute-config-files)。
-`.phar`ファイルはJavaの`.jar`のようなもので、PHP用であり、**PHPファイルのように使用**できます(PHPで実行したり、スクリプト内に含めたりできます...)。
+`.phar`ファイルはJavaの`.jar`のようなもので、PHP用であり、**PHPファイルのように使用**できます(PHPで実行したり、スクリプト内に含めたりできます...)
`.inc`拡張子は、ファイルを**インポートするためだけに使用される**PHPファイルに時々使用されるため、ある時点で誰かが**この拡張子を実行可能にした**可能性があります。
## **Jetty RCE**
-JettyサーバーにXMLファイルをアップロードできる場合、[**新しい \*.xml および \*.war が自動的に処理されるため**RCEを取得できます](https://twitter.com/ptswarm/status/1555184661751648256/photo/1)**。** 次の画像に示すように、XMLファイルを`$JETTY_BASE/webapps/`にアップロードし、シェルを期待してください!
+JettyサーバーにXMLファイルをアップロードできる場合、[**新しい \*.xml および \*.war が自動的に処理されるため**RCEを取得できます](https://twitter.com/ptswarm/status/1555184661751648256/photo/1)**。** 次の画像で述べたように、XMLファイルを`$JETTY_BASE/webapps/`にアップロードし、シェルを期待してください!
.png>)
@@ -106,7 +106,7 @@ JettyサーバーにXMLファイルをアップロードできる場合、[**新
この脆弱性の詳細な調査については、元の研究を確認してください: [uWSGI RCEの悪用](https://blog.doyensec.com/2023/02/28/new-vector-for-dirty-arbitrary-file-write-2-rce.html)。
-リモートコマンド実行(RCE)脆弱性は、`.ini`構成ファイルを変更する能力がある場合、uWSGIサーバーで悪用できます。uWSGI構成ファイルは、"magic"変数、プレースホルダー、および演算子を組み込むための特定の構文を利用します。特に、`@(filename)`として使用される'@'演算子は、ファイルの内容を含めるために設計されています。uWSGIでサポートされているさまざまなスキームの中で、"exec"スキームは特に強力で、プロセスの標準出力からデータを読み取ることを可能にします。この機能は、`.ini`構成ファイルが処理されるときに、リモートコマンド実行や任意のファイルの書き込み/読み取りなどの悪意のある目的に悪用される可能性があります。
+リモートコマンド実行(RCE)脆弱性は、`.ini`構成ファイルを変更する能力がある場合、uWSGIサーバーで悪用できます。uWSGI構成ファイルは、"magic"変数、プレースホルダー、および演算子を組み込むために特定の構文を利用します。特に、`@(filename)`として使用される'@'演算子は、ファイルの内容を含めるために設計されています。uWSGIでサポートされているさまざまなスキームの中で、"exec"スキームは特に強力で、プロセスの標準出力からデータを読み取ることを可能にします。この機能は、`.ini`構成ファイルが処理されるときに、リモートコマンド実行や任意のファイルの書き込み/読み取りなどの悪意のある目的に操作される可能性があります。
以下は、さまざまなスキームを示す有害な`uwsgi.ini`ファイルの例です:
```ini
@@ -132,7 +132,7 @@ uWSGIの設定ファイル解析の緩い性質を理解することが重要で
## **wget File Upload/SSRF Trick**
-場合によっては、サーバーが**`wget`**を使用して**ファイルをダウンロード**しており、**URL**を**指定**できることがあります。この場合、コードはダウンロードされるファイルの拡張子がホワイトリスト内にあるかどうかを確認して、許可されたファイルのみがダウンロードされることを保証している可能性があります。しかし、**このチェックは回避可能です。**\
+場合によっては、サーバーが**`wget`**を使用して**ファイルをダウンロード**しており、**URL**を**指定**できることがあります。この場合、コードはダウンロードされたファイルの拡張子がホワイトリスト内にあるかどうかを確認して、許可されたファイルのみがダウンロードされることを保証している可能性があります。しかし、**このチェックは回避可能です。**\
**linux**における**ファイル名**の**最大**長は**255**ですが、**wget**はファイル名を**236**文字に切り詰めます。**"A"\*232+".php"+".gif"**という名前のファイルを**ダウンロード**できます。このファイル名は**チェックを回避**します(この例では**".gif"**は**有効**な拡張子です)が、`wget`はファイル名を**"A"\*232+".php"**に**変更**します。
```bash
#Create file and HTTP server
@@ -169,14 +169,14 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 100%[=============================================
- **filename** を `