p0wny@shell:~# -- Shell PHP monofile

p0wny@shell:~# è una shell PHP monofile molto basilare. Può essere usata per eseguire rapidamente comandi su un server quando si esegue il pentesting di un'applicazione PHP. Usala con cautela: questo script rappresenta un rischio per la sicurezza del server.
Caratteristiche:
- Cronologia dei comandi (usando i tasti freccia
↑ ↓)
- Completamento automatico di comandi e nomi di file (usando il tasto
Tab)
- Navigazione nel file system remoto (usando il comando
cd)
- Caricamento di un file sul server (usando il comando
upload <destination_file_name>)
- Download di un file dal server (usando il comando
download <file_name>)
ATTENZIONE: QUESTO SCRIPT È UNA VULNERABILITÀ DI SICUREZZA. NON CARICARLO SU UN SERVER A MENO CHE TU NON SAPPIA QUELLO CHE STAI FACENDO!

Demo con Docker:
docker build -t p0wny .
docker run -it -p 8080:8080 -d p0wny
# open with your browser http://127.0.0.1:8080/shell.php
Contributi
Domande
Se hai domande, puoi:
Bug
Per favore apri una issue su GitHub con quante più informazioni possibili se hai trovato un bug:
- Il tuo sistema operativo / distribuzione Linux (e la sua versione)
- La versione di PHP che stai utilizzando (esempio:
PHP-FPM 8.1, Apache mod_php 7.4,...)
- Il server Web che stai utilizzando e la sua versione (esempio:
Nginx 1.23, Apache 2.4.55,...)
- Tutti i log e i messaggi prodotti dal software
- ecc.
Pull request
Ti preghiamo di considerare segnalare un bug prima di iniziare a lavorare su una nuova funzionalità; ci permetterà di discutere il modo migliore per implementarla. Ovviamente non è necessario se vuoi solo correggere un refuso o piccoli errori nel codice.
Supporta questo progetto
Vuoi supportare questo progetto?
Registro delle modifiche
- v2023.08.10:
- Rende p0wny@shell compatibile con PHP 5.3 (@FrancoisCapon, #38)
- v2023.05.28:
- Codifica tutti i campi dati come base64 per evitare errori di codifica, soprattutto su Windows (@cli-ish, #8, #35)
- v2023.05.22:
- Mostra il nome utente e l'hostname nel prompt (@cli-ish, #33, #7)
- v2023.05.10:
- Prova diverse funzioni di esecuzione (
exec, shell_exec, system, passthru, popen, proc_open) per eseguire comandi e bypassare le funzioni disabilitate (@cli-ish, #31, #32)
- v2023.02.27:
- Rende la finestra del terminale ridimensionabile (@FrancoisCapon, #27)
- v2023.02.13:
- Dimensioni del terminale più grandi su schermi grandi (@psyray, #26)
- Niente più scorrimento orizzontale sugli schermi piccoli (@flozz)
- v2022.09.19:
- Espande il percorso nel comando
cd (cd ~, cd ~username,...)
- Torna alla home quando si esegue
cd senza argomento.
- → Grazie a @FrancoisCapon per il suggerimento (#25)
- v2021.01.24:
- Miglioramenti allo stile:
- Migliore aspetto della barra di scorrimento su webkit (@nakamuraos)
- Mostra un logo più piccolo su mobile (@nakamuraos)
- Miglioramenti ergonomici:
- Mette a fuoco il campo del comando quando si fa clic sulla pagina (@nakamuraos)
- Posiziona il cursore alla fine del campo del comando durante la navigazione nella cronologia (@nakamuraos)
- v2019.06.07:
- Aggiunge il comando
clear per pulire il terminale (@izharaazmi #12)
- v2018.12.15:
- Funzionalità di upload e download di file (@Oshawk #5)
- v2018.06.01:
- Completamento automatico di comandi e nomi di file (@lo001 #2)
- Adattamento ai dispositivi mobili (responsive) (@lo001 #2)
- Migliorata la gestione di stderr (@lo001 #2)
- v2018.05.30:
- Compatibilità ES5 (@lo00l #1)
- Rimossa la dipendenza da JQuery (@lo00l #1)
- Cronologia dei comandi usando i tasti freccia (@lo00l #1)
- Mantiene il campo del comando focalizzato quando si preme il tasto Tab
- v2017.10.30:
- CSS: corretto colore non valido
- v2016.11.10: