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

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

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

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

دليل الأدوات

الفئات

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

spring-cloud__spring-cloud-config_CVE-2020-5410_2-1-8-RELEASE

الأكثر شعبية

عرض الكل →

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

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

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

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

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

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

//// لا تقم بتحرير هذا الملف. لقد تم إنشاؤه تلقائيًا. سيتم فقدان التغييرات اليدوية على هذا الملف عند إنشائه مرة أخرى. قم بتحرير الملفات في دليل 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 المزايا التالية:

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

=== عميل Spring Cloud Config

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

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

== البدء السريع

يستعرض هذا الدليل السريع استخدام كل من الخادم والعميل الخاصين بـ 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 Server التكوين للعملاء البعيدين من مصادر مختلفة. المثال التالي يحصل على التكوين من مستودع 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 starter وهو 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 ولكن لمرحلة bootstrap في سياق التطبيق)، كما هو موضح في المثال التالي:


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

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


spring.application.name: myapp

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

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


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

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

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

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

تنزيل الأداة