
Apache Axis1.4 أداة استغلال ثغرة تنفيذ الأوامر عن بُعد - CVE-2019-0227، تدعم أسماء الخدمات العشوائية وأسماء ملفات Webshell
يحتوي Apache Axis1.4 على ثغرة تنفيذ أوامر عن بُعد (CVE-2019-0227). عند تعيين الخاصية enableRemoteAdmin إلى true، يمكن للمهاجم نشر خدمات ضارة عبر واجهة AdminService، مما يسمح له بتنفيذ أوامر نظام عشوائية على الخادم الهدف.
الإصدارات المتأثرة: Apache Axis ≤ 1.4
شرط التفعيل: تعيين enableRemoteAdmin إلى true
| الطريقة | النص البرمجي | المبدأ | كتابة ملفات | التخفي |
|---|---|---|---|---|
| الطريقة الأولى: JSP Webshell | jsp-webshell/axis_exp.py | كتابة JSP Webshell عبر LogHandler | ✅ نعم | منخفض |
| الطريقة الثانية: تنفيذ مباشر عبر Freemarker | freemarker-exec/axis_freemarker_exp.py | استدعاء فئة Execute الخاصة بـ Freemarker مباشرة لتنفيذ الأوامر | ❌ لا | عالي |
cd jsp-webshell
python3 axis_exp.py -u http://target.com:8080/axis/ -c "whoami"
cd freemarker-exec
python3 axis_freemarker_exp.py -u http://target.com:8080/axis/ -c "whoami"
pip install requests urllib3
Axis1.4-CVE-2019-0227/
├── README.md
├── jsp-webshell/
│ ├── axis_exp.py
│ └── README.md
└── freemarker-exec/
├── axis_freemarker_exp.py
└── README.md
هذه الأداة مخصصة فقط للبحث الأمني والاختبارات المصرح بها. استخدام هذه الأداة لمهاجمة الأنظمة المستهدفة دون إذن يعد عملاً غير قانوني، ويتحمل المستخدم المسؤولية القانونية الكاملة.
MIT License
من خلال نشر خدمة ضارة عبر AdminService في Axis، واستخدام LogHandler لكتابة JSP Webshell، ثم تنفيذ الأوامر عبر طلبات GET.
部署恶意服务 → LogHandler 写入 shell.jsp → GET 请求执行命令
# 执行单条命令
python3 axis_exp.py -u http://localhost:8080/axis/ -c "whoami"
# 交互式 Shell
python3 axis_exp.py -u http://localhost:8080/axis/ -i
# 带认证
python3 axis_exp.py -u http://localhost:8080/axis/ -U admin -P admin -i
من خلال نشر خدمة عبر AdminService في Axis تشير إلى فئة freemarker.template.utility.Execute، واستدعاء طريقة exec الخاصة بها مباشرة لتنفيذ أوامر النظام، دون كتابة أي ملفات.
部署 Execute 服务 → 直接调用 exec 方法 → 命令执行结果通过 SOAP 响应返回
freemarker.jar في مسار WEB-INF/lib/ الخاص ببيئة Axis الهدف (يأتي افتراضيًا مع Axis 1.4)# 执行单条命令
python3 axis_freemarker_exp.py -u http://localhost:8080/axis/ -c "whoami"
# 交互式 Shell
python3 axis_freemarker_exp.py -u http://localhost:8080/axis/ -i
# 带认证
python3 axis_freemarker_exp.py -u http://localhost:8080/axis/ -U admin -P admin -i
freemarker.jar في الهدف| المعامل | الوصف |
|---|
-u, --url | عنوان خدمة Axis الهدف |
-c, --command | تنفيذ أمر واحد |
-i, --interactive | وضع شل تفاعلي |
-U, --username | اسم مستخدم مصادقة Basic |
-P, --password | كلمة مرور مصادقة Basic |
| المعامل | الوصف |
|---|
-u, --url | عنوان خدمة Axis الهدف |
-c, --command | تنفيذ أمر واحد |
-i, --interactive | وضع شل تفاعلي |
-U, --username | اسم مستخدم مصادقة Basic |
-P, --password | كلمة مرور مصادقة Basic |