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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
OWASP__json-sanitizer_CVE-2020-13973_1-2-0 — مكتبة جافا تحول المحتوى المشابه لـ JSON التالف إلى JSON آمن ومتوافق مع المعايير، مما يمنع حقن الكود ويضمن قابلية التضمين في سياقات HTML/XML. | Kitploit
أدوات/GitHubGitHub/shoucheng3/owasp__json-sanitizer_cve-2020-13973_1-2-0
أدوات عامةالتحليل الثابتأدوات التشفير/فك التشفيرتحليل الثغرات الأمنيةتحليل الكودأمن الويب
GitHubshoucheng3/owasp__json-sanitizer_cve-2020-13973_1-2-0

OWASP__json-sanitizer_CVE-2020-13973_1-2-0

مكتبة جافا تحول المحتوى المشابه لـ JSON التالف إلى JSON آمن ومتوافق مع المعايير، مما يمنع حقن الكود ويضمن قابلية التضمين في سياقات HTML/XML.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

json-sanitizer

بما أنّ المحتوى شبيه بـ JSON، فإن مُنقّي JSON يحوّله إلى JSON صالح.

البدء - اتصل بنا

يمكن إرفاق هذه المكتبة في أيّ من طرفي خط أنابيب البيانات للمساعدة في تحقيق مبدأ بوستل:

كن محافظًا فيما تفعله، وكن متسامحًا فيما تقبله من الآخرين

عند تطبيقه على محتوى شبيه بـ JSON من الآخرين، سينتج JSON جيد التكوين يرضي أي محلّل تستخدمه.

وعند تطبيقه على مخرجاتك قبل إرسالها، فإنه يصحّح أخطاء الترميز البسيطة ويسهّل تضمين JSON في HTML وXML.

الدافع

البنية

العديد من التطبيقات لديها كميات كبيرة من التعليمات البرمجية التي تستخدم طرقًا مرتجلة لتوليد مخرجات JSON.

غالبًا ما تمر هذه المخرجات عبر قدر صغير من كود الإطار قبل إرسالها عبر الشبكة. يمكن لهذا القدر الصغير من كود الإطار استخدام هذه المكتبة للتأكد من أن المخرجات المرتجلة متوافقة مع المعايير وآمنة لتمريرها إلى أدوات إلغاء التسلسل (القوية) مثل عامل eval في Javascript.

كذلك، غالبًا ما تمتلك التطبيقات واجهات برمجة تطبيقات ويب تستقبل JSON من مصادر متنوعة. عندما يُنشأ هذا JSON باستخدام طرق مرتجلة، يمكن لهذه المكتبة معالجته إلى شكل يسهل تحليله.

من خلال ربط هذه المكتبة بالكود الذي يرسل ويستقبل الطلبات والاستجابات، يمكن لهذه المكتبة مساعدة مهندسي البرمجيات في ضمان أمان على مستوى النظام وضمان حسن التكوين.

الإدخال

يأخذ المُنقّي محتوى شبيهًا بـ JSON، ويفسّره كما يفعل تقييم JS (eval). وتحديدًا، يتعامل مع هذه التراكيب غير القياسية.

التركيبالسياسة
'...'يتم تحويل السلاسل النصية ذات الاقتباس المفرد إلى سلاسل JSON.
\xABيتم تحويل الهروب الست عشري إلى هروب يونيكود في JSON.
\012يتم تحويل الهروب الثماني إلى هروب يونيكود في JSON.
0xABيتم تحويل الأعداد الصحيحة الست عشرية إلى أعداد JSON العشرية.
012يتم تحويل الأعداد الصحيحة الثمانية إلى أعداد JSON العشرية.
+.5يتم فرض تنسيق JSON الأكثر صرامة على الأعداد العشرية.
[0,,2]تُملأ الفجوات في المصفوفات بالقيمة null.
[1,2,3,]يتم إزالة الفواصل الزائدة.
{foo:"bar"}يتم اقتباس أسماء الخصائص غير المقتبسة.
//commentsيتم إزالة تعليقات JS من نمط السطر والكتلة.
(...)يتم إزالة أقواس التجميع.

يصحح المُنقّي علامات الترقيم المفقودة، وعلامات الاقتباس النهائية، وأقواس الإغلاق غير المتطابقة أو المفقودة. إذا كان الإدخال يحتوي على مسافات بيضاء فقط، فسيتم استبدال سلسلة JSON الصالحة null.

المخرجات

المخرجات هي JSON جيدة التكوين كما هو معرّف في RFC 4627. وتحقق المخرجات الخصائص الإضافية التالية:

  • لن تحتوي المخرجات على السلسلة الفرعية (دون تمييز حالة الأحرف) "</script" بحيث يمكن تضمينها داخل عنصر script في HTML دون مزيد من الترميز.
  • لن تحتوي المخرجات على السلسلة الفرعية "]]>" بحيث يمكن تضمينها داخل قسم CDATA في XML دون مزيد من الترميز.
  • المخرجات هي تعبير Javascript صالح، لذلك يمكن تحليلها بواسطة eval المدمج في Javascript (بعد لفها بين قوسين) أو بواسطة JSON.parse. تحديدًا، لن تحتوي المخرجات على أي حرفيات سلسلة نصية تحتوي على أسطر جديدة في JS (فاصل الفقرة U+2028 أو فاصل الأسطر U+2029).
  • تحتوي المخرجات فقط على قيم عددية يونيكود صالحة (بدون بدائل UTF-16 معزولة) مسموح بها في XML دون هروب.

الأمان

نظرًا لأن المخرجات JSON جيدة التكوين، فإن تمريرها إلى eval لن يكون له أي آثار جانبية ولا متغيرات حرة، وبالتالي فهي ليست ناقلًا لحقن الكود، ولا ناقلًا لتسريب الأسرار.

تضمن هذه المكتبة فقط أن مرحلة سلسلة JSON ← كائن Javascript ليس لها أي آثار جانبية ولا تحل أي متغيرات حرة، ولا يمكنها التحكم في كيفية تفسير كود جانب العميل الآخر للكائن الناتج لاحقًا. لذلك إذا أخذ كود جانب العميل جزءًا من البيانات المحللة التي يتحكم فيها مهاجم وأعاده عبر مفسر قوي مثل eval أو innerHTML، فقد يعاني كود جانب العميل من آثار جانبية غير مقصودة.

root@kitploit:~
var myValue = eval(sanitizedJsonString);  // safe
var myEmbeddedValue = eval(myValue.foo);  // possibly unsafe

بالإضافة إلى ذلك، لا يمكن لتنقية JSON حماية تطبيق من هجمات النائب المرتبك

root@kitploit:~
var myValue = JSON.parse(sanitizedJsonString);
addToAdminstratorsGroup(myValue.propertyFromUntrustedSource);

الأداء

ستعيد طريقة sanitize سلسلة الإدخال دون تخصيص مخزن جديد عندما يكون الإدخال JSON صالحًا بالفعل ويحقق الخصائص أعلاه. وبالتالي، إذا استُخدمت على إدخال عادة ما يكون جيد التكوين، فسيكون لها حمل ذاكرة ضئيل.

تستغرق طريقة sanitize زمنًا خطيًا O(n) حيث n هو طول الإدخال في وحدات UTF-16.

تنزيل الأداة