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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
json-sanitizer — عند تقديم محتوى شبيه بـ JSON، يقوم JSON Sanitizer بتحويله إلى JSON صالح. | Kitploit
أدوات/GitHubGitHub/owasp/json-sanitizer
أدوات عامةالتحليل الثابتأدوات التشفير/فك التشفيرتحليل الثغرات الأمنيةتحليل الكودأمن الويب
GitHubowasp/json-sanitizer

json-sanitizer

عند تقديم محتوى شبيه بـ JSON، يقوم JSON Sanitizer بتحويله إلى JSON صالح.

عرض المستودع
21955منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

json-sanitizer Fuzzing Status

بالنظر إلى محتوى شبيه بـ JSON، يحوّله JSON Sanitizer إلى JSON صالح.

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

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

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

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

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

الدافع

البنية

تمتلك العديد من التطبيقات كميات كبيرة من التعليمات البرمجية التي تستخدم طرقًا مخصصة (ad-hoc) لتوليد مخرجات JSON.

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

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

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

المدخلات

يستقبل المنقّي محتوى شبيهًا بـ JSON ويفسّره كما سيفعل eval في JavaScript. على وجه التحديد، يتعامل مع هذه الصيغ غير القياسية.

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

المخرجات

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

  • لن يحتوي الناتج على السلاسل الفرعية (دون تمييز حالة الأحرف) "<script" أو "</script" أو "<!--"، وبالتالي يمكن تضمينه داخل عنصر script في HTML دون ترميز إضافي.
  • لن يحتوي الناتج على السلسلة الفرعية "]]>"، وبالتالي يمكن تضمينه داخل قسم CDATA في XML دون ترميز إضافي.
  • الناتج عبارة عن تعبير JavaScript صالح، لذا يمكن تحليله بواسطة دالة eval المضمنة في JavaScript (بعد لفه بين قوسين) أو بواسطة JSON.parse. على وجه التحديد، لن يحتوي الناتج على أي حرفيات سلسلة تحتوي على أسطر جديدة مدمجة خاصة بـ JS (فاصل الفقرات U+2028 أو فاصل الأسطر U+2029).
  • يحتوي الناتج فقط على قيم عددية Unicode صالحة (بدون بدائل 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 البرمجية.

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