مكتبة أمن الغلاف (CSL) هي مجموعة خفيفة الوزن من الروتين الهاربين لتثبيت البرمجة النصية عبر المواقع (XSS) ، وحقن SQL ، وغيرها من عيوب الأمان في تطبيقات الويب Java.
هذا هو السبب في أنه يستحق التحقق من:
إنه آمن: نأخذ أمن CSL على محمل الجد. يتم فحص كل تغيير بعناية من خلال عملية تتضمن مراجعة التعليمات البرمجية اليدوية ، والتحليل الثابت ، واختبار الزغب ، واختبار الوحدة.
إنه مريح: يحتوي CSL على هروب لـ XSS وحقن SQL المفقود من المكتبات القياسية مثل Apache Commons و Java EE. نحن نستخدم أساليب سريعة وسهلة الاستدعاء بأسماء قصيرة وبديهية. نحن نقدم أيضًا خطافات للغة التعبير (EL) لتسهيل استخدامها داخل JSPs.
إنها صغيرة: لا يوجد لدى CSL تبعيات خارجية وهي مكتبة الحد الأدنى. هذا يعني أنه سريع ولا يتطلب أي تكوين إلى جانب إسقاط جرة في الموقع الصحيح أو تعديل البناء للقيام بذلك.
إنه مجاني: يتم توزيع CSL بموجب ترخيص على غرار BSD. سنقدر أن يتم إرسال البقع إلينا ولكنها غير مطلوبة.
يحصل مستخدمي مستشار أمن التغطية على إرشادات علاجية بناءً على الروتين الهاربين في CSL. ومع ذلك ، فإن CSL هو مشروع مستقل مع عدم وجود تبعيات على مستشار الأمن.
تحتوي فئة Escape على عدة هروب لمحتوى الويب. تساعد هذه الوظائف الهاربة في معالجة العيوب الشائعة (معظمها من البرمجة النصية عبر المواقع) التي تحدث عند إدراج البيانات في عنصر HTML ، وقيم سمة HTML ، و URI ، وسلاسل JavaScript ، و SQL مثل الجمل ، وما إلى ذلك. تتوفر مزيد من المعلومات في دليل الهروب.
قبل استخدام أي من هذه الطرق ، يجب أن تفهم السياق (أو السياقات المتداخلة) التي يتم فيها إدخال البيانات. تتوفر العديد من أمثلة الاستيعاب مع شرح في المستودع ، وسيكون المزيد متاحًا على مدونتنا. إذا كنت ترغب في اختبار المكتبة لفهم كيفية قيامها بالضربات الأمنية ، فإن TestSuite الوظيفي لدينا هو التطبيق المناسب لإنشاء/نشر/اختبار.
هل أنت مستعد لاستخدامه؟ خطوة أخيرة هي إلقاء نظرة على أحدث جافادوك مباشرة على جيثب.
لتضمين هذه المكتبة في مشروع Maven الخاص بك ، أضف ما يلي:
< dependency >
< groupId >com.coverity.security</ groupId >
< artifactId >coverity-escapers</ artifactId >
< version >1.1.1</ version >
</ dependency >
أو إسقاط ملف الجرة في دليل WEB-INF/lib
.
ثم يمكنك استخدامه مباشرة في JSPs الخاص بك:
<%@ taglib uri = " http://coverity.com/security " prefix = " cov " %>
< script type = " text/javascript " >
var x = ' ${ cov : jsStringEscape(param . tainted) } ' ;
</ script >
< div onclick = " alert(' ${ cov : htmlEscape(cov : jsStringEscape(param . tainted)) } ') " >
${ cov : htmlEscape(param . tainted) }
</ div >
أو في برامج Java الخاصة بك:
import com . coverity . security . Escape ;
// ...
return "<div onclick='alert( " "
+ Escape . html ( Escape . jsString ( request . getParameter ( "tainted" )))
+ " " )'>"
+ Escape . html ( request . getParameter ( "tainted" ))
+ "</div>" ;
للاتصال بـ SRL ، يرجى مراسلتنا عبر البريد الإلكتروني على [email protected]. شوكة بعيدا ، نتطلع إلى طلبات السحب الخاصة بك!
Copyright (c) 2012-2016, Coverity, Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution.
- Neither the name of Coverity, Inc. nor the names of its contributors may be used
to endorse or promote products derived from this software without specific prior
written permission from Coverity, Inc.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND INFRINGEMENT ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.