WebShell-Cli هو برنامج نصي Python يسمح بالوصول إلى WebShells المرتبطة بأسلوب خط الأوامر. يدعم WebShell-Cli تغيير دليل العمل الحالي ، وإعداد متغيرات البيئة ويسمح بتحميلات وتنزيلات الملفات بسهولة.


Webshell-Cli هو مجرد نص Python. بعد تثبيت المتطلبات ، يجب أن تكون قادرًا على تشغيله:
[qtc@devbox ~] $ git clone https://github.com/qtc-de/webshell-cli
[qtc@devbox ~] $ cd webshell-cli
[qtc@devbox webshell-cli] $ pip3 install --user -r requirements.txt
[qtc@devbox webshell-cli] $ python3 webshell-cli.py
usage: webshell-cli.py [-h] [-m] [-f FILE_HISTORY] [-s SHELL] url
webshell-cli.py: error: the following arguments are required: urlيعمل WebShell-Cli فقط مع WebShells التي تم إنشاءها على وجه التحديد لهذا المشروع. يمكنك العثور على WebShells المدعومة داخل دليل WebShells. حاليًا ، يتم دعم تقنيات جانب الخادم التالية:
بالإضافة إلى ذلك ، يحتوي دليل WebShells على برنامج نصي بناء لبناء .war أرشيفات.
يدعم WebShell-Cli بعض الأوامر الخاصة التي يمكن استدعاؤها باستخدام علامة تعجب كحرف أول على سطر الأوامر. أدناه يمكنك العثور على قائمة الأوامر الخاصة المدعومة حاليًا:
!background <cmd> قم بتنفيذ الأمر المحدد في الخلفية!download <rfile> [<lfile>] قم بتنزيل ملف بعيد من الخادم!upload <lfile> [<rfile>] قم بتحميل ملف محلي إلى الخادم!get <rfile> [<lfile>] الاسم المستعار للتنزيل!put <lfile> [<rfile>] الاسم المستعار للتحميل!eval <lfile> قم بتقييم ملف محلي على الخادم (متاح فقط لـ PHP)!env [<var>=<val>] اضبط متغير البيئة!help في إظهار قائمة المساعدة هذه عند استخدام الأمر !env دون تحديد متغير ، فإنه يخرج قائمة تحتوي على المتغيرات المحددة حاليًا. عندما تم تحديد !env clear ، يتم حذف جميع متغيرات البيئة المضافة يدويًا.
يمكنك استخدام أمر مخصص Shell لكل قذيفة باستخدام خيار --shell . أوامر shell الافتراضية هي /bin/sh -c لـ unix و cmd.exe /c لنظام التشغيل Windows. ماذا عن قذيفة base64 ؟ لا مشكلة:
[qtc@devbox ~] $ webshell-cli 172.18.0.2/webshell.php --shell base64
[nobody@efd0355fda4c /var/www/html/public] $ /etc/issue
V2VsY29tZSB0byBBbHBpbmUgTGludXggMy4xNQpLZXJuZWwgXHIgb24gYW4gXG0gKFxsKQoK بشكل افتراضي ، يستخدم WebShell-Cli ملف السجل ~/.webshell_cli_history لتزويدك بسجل سطر الأوامر لأحدث الأوامر. يمكنك استخدام خيار -f لتحديد موقع مختلف لتخزين ملف السجل أو استخدام خيار -m لاستخدام سجل أمر في الذاكرة بدلاً من ذلك.
المساهمات في هذا المشروع نرحب دائمًا. يحتوي مجلد المستندات على مواصفات يسرد متطلبات WebShells لتكون قابلة للاستهلاك بواسطة WebShell-Cli . علاوة على ذلك ، يسرد الوثائق بعض قرارات التصميم ، لأن بعض الأشياء لم تكن مستقيمة للتنفيذ.
من المفترض أن يتم استخدام هذا المشروع فقط لتحديات CTF والأغراض التعليمية. نظرًا لأن الكثير من عمليات الويب المتوفرة على الإنترنت والقذائف من هذا المستودع لا تنفذ حتى التشويش أو التشفير ، فلن تكون مفيدة لهجمات العالم الحقيقي على أي حال.