Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
spring-cloud__spring-cloud-config_CVE-2020-5405_2-1-6-RELEASE — خادم تكوين مركزي للأنظمة الموزعة مع HTTP API، وتشفير/فك تشفير الخصائص، ودعم للخلفيات Git وVault وJDBC ونظام الملفات المحلي. | Kitploit
أدوات/GitHubGitHub/shoucheng3/spring-cloud__spring-cloud-config_cve-2020-5405_2-1-6-release
المصادقة والترخيصأدوات التشفير/فك التشفيرتدقيق التكوينأمن السحابةDevSecOpsأمن واجهات برمجة التطبيقات
GitHubshoucheng3/spring-cloud__spring-cloud-config_cve-2020-5405_2-1-6-release

spring-cloud__spring-cloud-config_CVE-2020-5405_2-1-6-RELEASE

الأكثر شعبية

عرض الكل →

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

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

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

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

خادم تكوين مركزي للأنظمة الموزعة مع HTTP API، وتشفير/فك تشفير الخصائص، ودعم للخلفيات Git وVault وJDBC ونظام الملفات المحلي.

عرض المستودع
26منذ سنة واحدةلم تتم المراجعة بعد

//// لا تقم بتحرير هذا الملف. لقد تم توليده. سيتم فقدان التغييرات اليدوية على هذا الملف عند توليده مرة أخرى. قم بتحرير الملفات في دليل src/main/asciidoc/ بدلاً من ذلك. ////

image::https://circleci.com/gh/spring-cloud/spring-cloud-config/tree/master.svg?style=svg["CircleCI", link="https://circleci.com/gh/spring-cloud/spring-cloud-config/tree/master"] image::https://codecov.io/gh/spring-cloud/spring-cloud-config/branch/master/graph/badge.svg["Codecov", link="https://codecov.io/gh/spring-cloud/spring-cloud-config/branch/master"] image::https://api.codacy.com/project/badge/Grade/f064024a072c477e97dca6ed5a70fccd?branch=master["Codacy code quality", link="https://www.codacy.com/app/Spring-Cloud/spring-cloud-config?branch=master&utm_source=github.com&utm_medium=referral&utm_content=spring-cloud/spring-cloud-config&utm_campaign=Badge_Grade"]

يوفر Spring Cloud Config دعماً من جانب الخادم ومن جانب العميل للتهيئة الخارجية في النظام الموزع. باستخدام Config Server، لديك مكان مركزي لإدارة الخصائص الخارجية للتطبيقات عبر جميع البيئات. تتقابل المفاهيم على كل من جانب العميل والخادم تماماً مع تجريدي Spring Environment وPropertySource، لذا فهي تتوافق بشكل كبير مع تطبيقات Spring، ويمكن استخدامها مع أي تطبيق يعمل بأي لغة. عندما ينتقل التطبيق عبر خط أنابيب النشر من التطوير إلى الاختبار ثم إلى الإنتاج، يمكنك إدارة الإعداد بين تلك البيئات وتكون متأكداً من أن التطبيقات لديها كل ما تحتاجه للتشغيل عند ترحيلها. يستخدم التنفيذ الافتراضي للطرف الخلفي لتخزين الخادم نظام git، لذا فهو يدعم بسهولة الإصدارات الموسومة لبيئات الإعداد، فضلاً عن كونه متاحاً لمجموعة واسعة من الأدوات لإدارة المحتوى. من السهل إضافة تطبيقات بديلة وربطها من خلال إعدادات Spring.

== الميزات

=== خادم Spring Cloud Config

يقدم خادم Spring Cloud Config الفوائد التالية:

  • واجهة برمجة تطبيقات قائمة على موارد HTTP للتهيئة الخارجية (أزواج اسم-قيمة أو محتوى YAML مكافئ)
  • تشفير وفك تشفير قيم الخصائص (بشكل متماثل أو غير متماثل)
  • قابلة للتضمين بسهولة في تطبيق Spring Boot باستخدام @EnableConfigServer

=== عميل Spring Cloud Config

خاص بتطبيقات Spring، يتيح لك عميل Spring Cloud Config:

  • الارتباط بخادم الإعداد وتهيئة Spring Environment بمصادر خصائص عن بُعد.
  • تشفير وفك تشفير قيم الخصائص (بشكل متماثل أو غير متماثل).
  • @RefreshScope لـ Spring @Beans التي تريد إعادة تهيئتها عند تغيّر الإعداد.
  • استخدام نقاط نهاية الإدارة: ** /env لتحديث Environment وإعادة ربط @ConfigurationProperties ومستويات السجل. ** /refresh لتحديث حبوب @RefreshScope. ** /restart لإعادة تشغيل سياق Spring (معطّل افتراضياً). ** /pause و/resume لاستدعاء أساليب Lifecycle (stop() وstart() على ApplicationContext).
  • سياق تطبيق التمهيد (Bootstrap): سياق أصلي للتطبيق الرئيسي يمكن تدريبه للقيام بأي شيء (افتراضياً، يرتبط بخادم الإعداد ويفك تشفير قيم الخصائص).

== بدء سريع

يتناول هذا الدليل السريع استخدام كل من الخادم والعميل في Spring Cloud Config Server.

أولاً، شغّل الخادم كما يلي:


$ cd spring-cloud-config-server $ ../mvnw spring-boot:run

الخادم هو تطبيق Spring Boot، لذا يمكنك تشغيله من بيئة التطوير المتكاملة (IDE) الخاصة بك إذا كنت تفضل ذلك (الفئة الرئيسية هي ConfigServerApplication).

بعد ذلك جرّب عميلاً كما يلي:


$ curl localhost:8888/foo/development {"name":"foo","label":"master","propertySources":[ {"name":"https://github.com/scratches/config-repo/foo-development.properties","source":{"bar":"spam"}}, {"name":"https://github.com/scratches/config-repo/foo.properties","source":{"foo":"bar"}} ]}

الاستراتيجية الافتراضية لتحديد مواقع مصادر الخصائص هي استنساخ مستودع git (على spring.cloud.config.server.git.uri) واستخدامه لتهيئة SpringApplication مصغّر. يُستخدم Environment الخاص بالتطبيق المصغّر لتعداد مصادر الخصائص ونشرها في نقطة نهاية JSON.

توفّر خدمة HTTP موارد بالشكل التالي:


/{application}/{profile}[/{label}] /{application}-{profile}.yml /{label}/{application}-{profile}.yml /{application}-{profile}.properties /{label}/{application}-{profile}.properties

حيث يتم حقن application كـ spring.config.name في SpringApplication (وهو ما يكون عادةً application في تطبيق Spring Boot عادي)، وprofile هو ملف تعريف نشط (أو قائمة خصائص مفصولة بفواصل)، وlabel هو وسم git اختياري (الافتراضي هو master).

يسحب خادم Spring Cloud Config الإعداد للعملاء البعيدين من مصادر مختلفة. المثال التالي يجلب الإعداد من مستودع git (يجب توفيره)، كما يوضح المثال التالي:

[source,yaml]

spring: cloud: config: server: git: uri: https://github.com/spring-cloud-samples/config-repo

المصادر الأخرى هي أي قاعدة بيانات متوافقة مع JDBC، وSubversion، وHashicorp Vault، وCredhub، وأنظمة الملفات المحلية.

=== الاستخدام من جانب العميل

لاستخدام هذه الميزات في تطبيق، يمكنك بناؤه كتطبيق Spring Boot يعتمد على spring-cloud-config-client (للاطلاع على مثال، راجع حالات الاختبار الخاصة بـ config-client أو التطبيق النموذجي). الطريقة الأكثر ملاءمة لإضافة التبعية هي باستخدام مُشغّل Spring Boot org.springframework.cloud:spring-cloud-starter-config. يتوفر أيضاً pom أصلي وBOM (spring-cloud-starter-parent) لمستخدمي Maven وملف خصائص لإدارة إصدارات Spring IO لمستخدمي Gradle وSpring CLI. يوضح المثال التالي إعداد Maven نموذجياً:

[source,xml,indent=0] .pom.xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>{spring-boot-docs-version}</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-dependencies</artifactId>
			<version>{spring-cloud-version}</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>

<dependencies>
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-config</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-test</artifactId>
		<scope>test</scope>
	</dependency>
</dependencies>

<build>
	<plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
	</plugins>
</build>

<!-- repositories also needed for snapshots and milestones -->

يمكنك الآن إنشاء تطبيق Spring Boot قياسي، مثل خادم HTTP التالي:


@SpringBootApplication @RestController public class Application {

@RequestMapping("/")
public String home() {
    return "Hello World!";
}

public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
}

}

عند تشغيل خادم HTTP هذا، يقوم بالتقاط الإعداد الخارجي من خادم الإعداد المحلي الافتراضي (إذا كان يعمل) على المنفذ 8888. لتعديل سلوك الإقلاع، يمكنك تغيير موقع خادم الإعداد باستخدام bootstrap.properties (مشابه لـ application.properties لكنه مخصص لمرحلة التمهيد في سياق التطبيق)، كما يوضح المثال التالي:


spring.cloud.config.uri: http://myconfigserver.com

افتراضياً، إذا لم يتم تعيين اسم تطبيق، سيتم استخدام application. لتعديل الاسم، يمكن إضافة الخاصية التالية إلى ملف bootstrap.properties:


spring.application.name: myapp

NOTE: عند تعيين الخاصية ${spring.application.name} لا تضع البادئة المحجوزة application- أمام اسم تطبيقك لتجنب مشاكل في تحديد مصدر الخاصية الصحيح.

تظهر خصائص التمهيد في نقطة النهاية /env كمصدر خصائص ذي أولوية عالية، كما يوضح المثال التالي.


$ curl localhost:8080/env { "profiles":[], "configService:https://github.com/spring-cloud-samples/config-repo/bar.properties":{"foo":"bar"}, "servletContextInitParams":{}, "systemProperties":{...}, ... }

مصدر الخصائص المسمى ```configService:/يحتوي على خاصيةfooبقيمةbar` وله الأولوية القصوى.

NOTE: عنوان URL في اسم مصدر الخصائص هو مستودع git، وليس عنوان URL الخاص بخادم الإعداد.

=== التطبيق النموذجي

تنزيل الأداة