mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-14 00:47:24 +00:00
Translated ['pentesting-web/parameter-pollution.md'] to kr
This commit is contained in:
parent
64ee0ee26f
commit
24fc3543d7
2 changed files with 146 additions and 61 deletions
|
@ -604,7 +604,7 @@
|
|||
* [OAuth to Account takeover](pentesting-web/oauth-to-account-takeover.md)
|
||||
* [Open Redirect](pentesting-web/open-redirect.md)
|
||||
* [ORM Injection](pentesting-web/orm-injection.md)
|
||||
* [Parameter Pollution](pentesting-web/parameter-pollution.md)
|
||||
* [Parameter Pollution | JSON Injection](pentesting-web/parameter-pollution.md)
|
||||
* [Phone Number Injections](pentesting-web/phone-number-injections.md)
|
||||
* [PostMessage Vulnerabilities](pentesting-web/postmessage-vulnerabilities/README.md)
|
||||
* [Blocking main page to steal postmessage](pentesting-web/postmessage-vulnerabilities/blocking-main-page-to-steal-postmessage.md)
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
# 파라미터 오염
|
||||
# Parameter Pollution | JSON Injection
|
||||
|
||||
## 파라미터 오염
|
||||
## Parameter Pollution
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 배우기 및 연습하기:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 배우기 및 연습하기: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks 지원하기</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**구독 계획**](https://github.com/sponsors/carlospolop) 확인하기!
|
||||
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.**
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
@ -21,140 +21,225 @@ GCP 해킹 배우기 및 연습하기: <img src="../.gitbook/assets/grte.png" al
|
|||
|
||||
{% embed url="https://websec.nl/" %}
|
||||
|
||||
## HTTP 파라미터 오염 (HPP) 개요
|
||||
## HTTP Parameter Pollution (HPP) Overview
|
||||
|
||||
HTTP 파라미터 오염 (HPP)은 공격자가 HTTP 파라미터를 조작하여 웹 애플리케이션의 동작을 의도하지 않은 방식으로 변경하는 기술입니다. 이 조작은 HTTP 파라미터를 추가, 수정 또는 복제하여 수행됩니다. 이러한 조작의 효과는 사용자에게 직접적으로 보이지 않지만, 서버 측에서 애플리케이션의 기능을 상당히 변경할 수 있으며, 클라이언트 측에서 관찰 가능한 영향을 미칠 수 있습니다.
|
||||
HTTP Parameter Pollution (HPP)는 공격자가 HTTP 매개변수를 조작하여 웹 애플리케이션의 동작을 의도하지 않은 방식으로 변경하는 기술입니다. 이 조작은 HTTP 매개변수를 추가, 수정 또는 복제하여 수행됩니다. 이러한 조작의 효과는 사용자에게 직접적으로 보이지 않지만, 서버 측에서 애플리케이션의 기능을 상당히 변경할 수 있으며, 클라이언트 측에서 관찰 가능한 영향을 미칠 수 있습니다.
|
||||
|
||||
### HTTP 파라미터 오염 (HPP) 예시
|
||||
### Example of HTTP Parameter Pollution (HPP)
|
||||
|
||||
은행 애플리케이션 거래 URL:
|
||||
|
||||
* **원본 URL:** `https://www.victim.com/send/?from=accountA&to=accountB&amount=10000`
|
||||
* **Original URL:** `https://www.victim.com/send/?from=accountA&to=accountB&amount=10000`
|
||||
|
||||
추가 `from` 파라미터를 삽입함으로써:
|
||||
추가 `from` 매개변수를 삽입함으로써:
|
||||
|
||||
* **조작된 URL:** `https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC`
|
||||
* **Manipulated URL:** `https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC`
|
||||
|
||||
거래가 `accountA` 대신 `accountC`에 잘못 청구될 수 있으며, 이는 HPP가 거래 또는 비밀번호 재설정, 2FA 설정, API 키 요청과 같은 다른 기능을 조작할 수 있는 가능성을 보여줍니다.
|
||||
거래가 `accountA`가 아닌 `accountC`에 잘못 청구될 수 있으며, 이는 HPP가 거래 또는 비밀번호 재설정, 2FA 설정, API 키 요청과 같은 다른 기능을 조작할 수 있는 잠재력을 보여줍니다.
|
||||
|
||||
#### **기술별 파라미터 파싱**
|
||||
#### **Technology-Specific Parameter Parsing**
|
||||
|
||||
* 파라미터가 파싱되고 우선순위가 매겨지는 방식은 기본 웹 기술에 따라 다르며, HPP가 어떻게 악용될 수 있는지에 영향을 미칩니다.
|
||||
* [Wappalyzer](https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/)와 같은 도구는 이러한 기술과 그 파싱 동작을 식별하는 데 도움을 줍니다.
|
||||
* 매개변수가 구문 분석되고 우선 순위가 매겨지는 방식은 기본 웹 기술에 따라 다르며, HPP가 어떻게 악용될 수 있는지에 영향을 미칩니다.
|
||||
* [Wappalyzer](https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/)와 같은 도구는 이러한 기술과 그 구문 분석 동작을 식별하는 데 도움을 줍니다.
|
||||
|
||||
### PHP와 HPP 악용
|
||||
### PHP and HPP Exploitation
|
||||
|
||||
**OTP 조작 사례:**
|
||||
**OTP Manipulation Case:**
|
||||
|
||||
* **맥락:** 일회용 비밀번호(OTP)를 요구하는 로그인 메커니즘이 악용되었습니다.
|
||||
* **방법:** Burp Suite와 같은 도구를 사용하여 OTP 요청을 가로채고, 공격자는 HTTP 요청에서 `email` 파라미터를 복제했습니다.
|
||||
* **결과:** 초기 이메일을 위한 OTP가 조작된 요청에서 지정된 두 번째 이메일 주소로 전송되었습니다. 이 결함은 의도된 보안 조치를 우회하여 무단 접근을 허용했습니다.
|
||||
* **Context:** 일회용 비밀번호(OTP)를 요구하는 로그인 메커니즘이 악용되었습니다.
|
||||
* **Method:** Burp Suite와 같은 도구를 사용하여 OTP 요청을 가로채고, 공격자는 HTTP 요청에서 `email` 매개변수를 복제했습니다.
|
||||
* **Outcome:** 초기 이메일을 위한 OTP가 조작된 요청에서 지정된 두 번째 이메일 주소로 전송되었습니다. 이 결함은 의도된 보안 조치를 우회하여 무단 접근을 허용했습니다.
|
||||
|
||||
이 시나리오는 OTP 생성을 위해 첫 번째 `email` 파라미터를 처리했지만, 전달을 위해 마지막 것을 사용한 애플리케이션 백엔드의 중요한 간과를 강조합니다.
|
||||
이 시나리오는 OTP 생성을 위해 첫 번째 `email` 매개변수를 처리했지만, 배달을 위해 마지막 매개변수를 사용한 애플리케이션의 백엔드에서의 중요한 간과를 강조합니다.
|
||||
|
||||
**API 키 조작 사례:**
|
||||
**API Key Manipulation Case:**
|
||||
|
||||
* **시나리오:** 애플리케이션이 사용자가 프로필 설정 페이지를 통해 API 키를 업데이트할 수 있도록 허용합니다.
|
||||
* **공격 벡터:** 공격자는 POST 요청에 추가 `api_key` 파라미터를 추가함으로써 API 키 업데이트 기능의 결과를 조작할 수 있음을 발견합니다.
|
||||
* **기술:** Burp Suite와 같은 도구를 사용하여 공격자는 두 개의 `api_key` 파라미터(하나는 합법적이고 하나는 악의적임)를 포함하는 요청을 작성합니다. 서버는 마지막 발생만 처리하여 공격자가 제공한 값으로 API 키를 업데이트합니다.
|
||||
* **결과:** 공격자는 피해자의 API 기능을 제어하게 되어, 무단으로 개인 데이터에 접근하거나 수정할 수 있습니다.
|
||||
* **Scenario:** 애플리케이션이 사용자가 프로필 설정 페이지를 통해 API 키를 업데이트할 수 있도록 허용합니다.
|
||||
* **Attack Vector:** 공격자는 POST 요청에 추가 `api_key` 매개변수를 추가함으로써 API 키 업데이트 기능의 결과를 조작할 수 있음을 발견합니다.
|
||||
* **Technique:** Burp Suite와 같은 도구를 사용하여 공격자는 하나의 합법적인 `api_key` 매개변수와 하나의 악의적인 `api_key` 매개변수를 포함하는 요청을 작성합니다. 서버는 마지막 발생만 처리하여 공격자가 제공한 값으로 API 키를 업데이트합니다.
|
||||
* **Result:** 공격자는 피해자의 API 기능을 제어하게 되어, 무단으로 개인 데이터에 접근하거나 수정할 수 있습니다.
|
||||
|
||||
이 예시는 API 키 관리와 같은 중요한 기능에서 안전한 파라미터 처리가 필요함을 더욱 강조합니다.
|
||||
이 예시는 API 키 관리와 같은 중요한 기능에서 안전한 매개변수 처리가 필요함을 더욱 강조합니다.
|
||||
|
||||
### 파라미터 파싱: Flask vs. PHP
|
||||
### Parameter Parsing: Flask vs. PHP
|
||||
|
||||
웹 기술이 중복 HTTP 파라미터를 처리하는 방식은 다르며, HPP 공격에 대한 취약성에 영향을 미칩니다:
|
||||
웹 기술이 중복 HTTP 매개변수를 처리하는 방식은 다르며, HPP 공격에 대한 취약성에 영향을 미칩니다:
|
||||
|
||||
* **Flask:** 쿼리 문자열 `a=1&a=2`에서 `a=1`과 같은 첫 번째 파라미터 값을 채택하며, 초기 인스턴스를 후속 중복보다 우선시합니다.
|
||||
* **PHP (Apache HTTP 서버에서):** 반대로, 마지막 파라미터 값을 우선시하여 주어진 예에서 `a=2`를 선택합니다. 이 동작은 공격자가 조작한 파라미터를 원본보다 우선시함으로써 HPP 악용을 무심코 촉진할 수 있습니다.
|
||||
* **Flask:** 쿼리 문자열 `a=1&a=2`에서 `a=1`과 같은 첫 번째 매개변수 값을 채택하며, 초기 인스턴스를 후속 중복보다 우선시합니다.
|
||||
* **PHP (on Apache HTTP Server):** 반대로, 마지막 매개변수 값을 우선시하여 주어진 예에서 `a=2`를 선택합니다. 이 동작은 공격자가 조작한 매개변수를 원본보다 우선시함으로써 HPP 악용을 우연히 촉진할 수 있습니다.
|
||||
|
||||
## 기술별 파라미터 오염
|
||||
## Parameter pollution by technology
|
||||
|
||||
결과는 [https://medium.com/@0xAwali/http-parameter-pollution-in-2024-32ec1b810f89](https://medium.com/@0xAwali/http-parameter-pollution-in-2024-32ec1b810f89)에서 가져왔습니다.
|
||||
|
||||
### PHP 8.3.11 및 Apache 2.4.62 <a href="#id-9523" id="id-9523"></a>
|
||||
### PHP 8.3.11 AND Apache 2.4.62 <a href="#id-9523" id="id-9523"></a>
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1255).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*l_Pf2JNCYhmfAvfk7UTEbQ.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*l_Pf2JNCYhmfAvfk7UTEbQ.jpeg</a></p></figcaption></figure>
|
||||
|
||||
1. 파라미터 이름 뒤의 %00은 무시합니다.
|
||||
1. 매개변수 이름 뒤의 %00을 무시합니다.
|
||||
2. name\[]를 배열로 처리합니다.
|
||||
3. \_GET은 GET 메서드를 의미하지 않습니다.
|
||||
4. 마지막 파라미터를 선호합니다.
|
||||
4. 마지막 매개변수를 선호합니다.
|
||||
|
||||
### Ruby 3.3.5 및 WEBrick 1.8.2
|
||||
### Ruby 3.3.5 and WEBrick 1.8.2
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1257).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*kKxtZ8qEmgTIMS81py5hhg.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*kKxtZ8qEmgTIMS81py5hhg.jpeg</a></p></figcaption></figure>
|
||||
|
||||
1. & 및 ; 구분자를 사용하여 파라미터를 분리합니다.
|
||||
1. & 및 ; 구분 기호를 사용하여 매개변수를 분리합니다.
|
||||
2. name\[]를 인식하지 않습니다.
|
||||
3. 첫 번째 파라미터를 선호합니다.
|
||||
3. 첫 번째 매개변수를 선호합니다.
|
||||
|
||||
### Spring MVC 6.0.23 및 Apache Tomcat 10.1.30 <a href="#dd68" id="dd68"></a>
|
||||
### Spring MVC 6.0.23 AND Apache Tomcat 10.1.30 <a href="#dd68" id="dd68"></a>
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1258).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*llG22MF1gPTYZYFVCmCiVw.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*llG22MF1gPTYZYFVCmCiVw.jpeg</a></p></figcaption></figure>
|
||||
|
||||
1. POST RequestMapping == PostMapping & GET RequestMapping == GetMapping.
|
||||
2. POST RequestMapping & PostMapping은 name\[]를 인식합니다.
|
||||
3. name과 name\[]가 모두 존재할 경우 name을 선호합니다.
|
||||
4. 파라미터를 연결합니다. 예: first,last.
|
||||
5. POST RequestMapping & PostMapping은 Content-Type이 있는 쿼리 파라미터를 인식합니다.
|
||||
4. 매개변수를 연결합니다. 예: first,last.
|
||||
5. POST RequestMapping & PostMapping은 Content-Type이 있는 쿼리 매개변수를 인식합니다.
|
||||
|
||||
### **NodeJS** 20.17.0 **및** Express 4.21.0 <a href="#id-6d72" id="id-6d72"></a>
|
||||
### **NodeJS** 20.17.0 **AND** Express 4.21.0 <a href="#id-6d72" id="id-6d72"></a>
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1259).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*JzNkLOSW7orcHXswtMHGMA.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*JzNkLOSW7orcHXswtMHGMA.jpeg</a></p></figcaption></figure>
|
||||
|
||||
1. name\[]를 인식합니다.
|
||||
2. 파라미터를 연결합니다. 예: first,last.
|
||||
2. 매개변수를 연결합니다. 예: first,last.
|
||||
|
||||
### GO 1.22.7 <a href="#id-63dc" id="id-63dc"></a>
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1260).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*NVvN1N8sL4g_Gi796FzlZA.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*NVvN1N8sL4g_Gi796FzlZA.jpeg</a></p></figcaption></figure>
|
||||
|
||||
1. name\[]를 인식하지 않습니다.
|
||||
2. 첫 번째 파라미터를 선호합니다.
|
||||
2. 첫 번째 매개변수를 선호합니다.
|
||||
|
||||
### Python 3.12.6 및 Werkzeug 3.0.4 및 Flask 3.0.3 <a href="#b853" id="b853"></a>
|
||||
### Python 3.12.6 AND Werkzeug 3.0.4 AND Flask 3.0.3 <a href="#b853" id="b853"></a>
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1261).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*Se5467PFFjIlmT3O7KNlWQ.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*Se5467PFFjIlmT3O7KNlWQ.jpeg</a></p></figcaption></figure>
|
||||
|
||||
1. name\[]를 인식하지 않습니다.
|
||||
2. 첫 번째 파라미터를 선호합니다.
|
||||
2. 첫 번째 매개변수를 선호합니다.
|
||||
|
||||
### Python 3.12.6 및 Django 4.2.15 <a href="#id-8079" id="id-8079"></a>
|
||||
### Python 3.12.6 AND Django 4.2.15 <a href="#id-8079" id="id-8079"></a>
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1262).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*rf38VXut5YhAx0ZhUzgT8Q.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*rf38VXut5YhAx0ZhUzgT8Q.jpeg</a></p></figcaption></figure>
|
||||
|
||||
1. name\[]를 인식하지 않습니다.
|
||||
2. 마지막 파라미터를 선호합니다.
|
||||
2. 마지막 매개변수를 선호합니다.
|
||||
|
||||
### Python 3.12.6 및 Tornado 6.4.1 <a href="#id-2ad8" id="id-2ad8"></a>
|
||||
### Python 3.12.6 AND Tornado 6.4.1 <a href="#id-2ad8" id="id-2ad8"></a>
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1263).png" alt=""><figcaption><p><a href="https://miro.medium.com/v2/resize:fit:1100/format:webp/1*obCn7xahDc296JZccXM2qQ.jpeg">https://miro.medium.com/v2/resize:fit:1100/format:webp/1*obCn7xahDc296JZccXM2qQ.jpeg</a></p></figcaption></figure>
|
||||
|
||||
1. name\[]를 인식하지 않습니다.
|
||||
2. 마지막 파라미터를 선호합니다.
|
||||
2. 마지막 매개변수를 선호합니다.
|
||||
|
||||
## 참고문헌
|
||||
## JSON Injection
|
||||
|
||||
### Duplicate keys
|
||||
```ini
|
||||
obj = {"test": "user", "test": "admin"}
|
||||
```
|
||||
프론트엔드는 첫 번째 발생을 믿을 수 있지만 백엔드는 두 번째 발생의 키를 사용할 수 있습니다.
|
||||
|
||||
### 키 충돌: 문자 잘림 및 주석
|
||||
|
||||
특정 문자는 프론트엔드에서 올바르게 해석되지 않지만 백엔드는 이를 해석하고 해당 키를 사용할 것입니다. 이는 **특정 제한을 우회하는 데** 유용할 수 있습니다:
|
||||
```json
|
||||
{"test": 1, "test\[raw \x0d byte]": 2}
|
||||
{"test": 1, "test\ud800": 2}
|
||||
{"test": 1, "test"": 2}
|
||||
{"test": 1, "te\st": 2}
|
||||
```
|
||||
이 경우 프론트 엔드는 `test == 1`이라고 생각할 수 있고 백엔드는 `test == 2`라고 생각할 수 있습니다.
|
||||
|
||||
이것은 다음과 같은 값 제한을 우회하는 데에도 사용될 수 있습니다:
|
||||
```json
|
||||
{"role": "administrator\[raw \x0d byte]"}
|
||||
{"role":"administrator\ud800"}
|
||||
{"role": "administrator""}
|
||||
{"role": "admini\strator"}
|
||||
```
|
||||
### **주석 잘라내기 사용하기**
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```ini
|
||||
obj = {"description": "Duplicate with comments", "test": 2, "extra": /*, "test": 1, "extra2": */}
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
여기서는 각 파서의 직렬 변환기를 사용하여 해당 출력을 확인합니다.
|
||||
|
||||
직렬 변환기 1 (예: GoLang의 GoJay 라이브러리)은 다음을 생성합니다:
|
||||
|
||||
* `description = "Duplicate with comments"`
|
||||
* `test = 2`
|
||||
* `extra = ""`
|
||||
|
||||
직렬 변환기 2 (예: Java의 JSON-iterator 라이브러리)는 다음을 생성합니다:
|
||||
|
||||
* `description = "Duplicate with comments"`
|
||||
* `extra = "/*"`
|
||||
* `extra2 = "*/"`
|
||||
* `test = 1`
|
||||
|
||||
또한, 주석을 간단하게 사용하는 것도 효과적일 수 있습니다:
|
||||
```ini
|
||||
obj = {"description": "Comment support", "test": 1, "extra": "a"/*, "test": 2, "extra2": "b"*/}
|
||||
```
|
||||
Java의 GSON 라이브러리:
|
||||
```json
|
||||
{"description":"Comment support","test":1,"extra":"a"}
|
||||
```
|
||||
루비의 simdjson 라이브러리:
|
||||
```json
|
||||
{"description":"Comment support","test":2,"extra":"a","extra2":"b"}
|
||||
```
|
||||
### **일관되지 않은 우선순위: 역직렬화 대 직렬화**
|
||||
```ini
|
||||
obj = {"test": 1, "test": 2}
|
||||
|
||||
obj["test"] // 1
|
||||
obj.toString() // {"test": 2}
|
||||
```
|
||||
### Float and Integer
|
||||
|
||||
숫자
|
||||
```undefined
|
||||
999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
|
||||
```
|
||||
여러 표현으로 디코딩될 수 있습니다, 포함하여:
|
||||
```undefined
|
||||
999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
|
||||
9.999999999999999e95
|
||||
1E+96
|
||||
0
|
||||
9223372036854775807
|
||||
```
|
||||
어떤 것이 불일치를 생성할 수 있습니다
|
||||
|
||||
## References
|
||||
|
||||
* [https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654](https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654)
|
||||
* [https://github.com/google/google-ctf/tree/master/2023/web-under-construction/solution](https://github.com/google/google-ctf/tree/master/2023/web-under-construction/solution)
|
||||
* [https://medium.com/@0xAwali/http-parameter-pollution-in-2024-32ec1b810f89](https://medium.com/@0xAwali/http-parameter-pollution-in-2024-32ec1b810f89)
|
||||
* [https://bishopfox.com/blog/json-interoperability-vulnerabilities](https://bishopfox.com/blog/json-interoperability-vulnerabilities)
|
||||
|
||||
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://websec.nl/" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS 해킹 배우기 및 연습하기:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP 해킹 배우기 및 연습하기: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks 지원하기</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* [**구독 계획**](https://github.com/sponsors/carlospolop) 확인하기!
|
||||
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.**
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
Loading…
Reference in a new issue