Shell completa dall'applicazione pingit [chiusa]

1

quando ho inserito 127.0.0.1 il risultato è stato: -

Pinging 127.0.0.1 with 32 bytes of data:

Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms 

quando ho inserito 127.0.0.1%00 ho ottenuto il seguente risultato: -

Traceback (most recent call last): File "C:\Inetpub\wwwroot\pingit.py", line 9, in output=os.popen("ping " + form["action"].value).readlines() TypeError: popen() argument 1 must be string without null bytes, not str 

Posso eseguire comandi di parole singole come dir, whoami, ecc. come: -

127.0.0.1 | dir 
and
127.0.0.1 | whoami 
but cannot execute the following commands
127.0.0.1 | net user

Come posso ottenere l'esecuzione del comando di shell completa con tali restrizioni

    
posta Aayush 20.08.2017 - 15:56
fonte

1 risposta

3

Utilizza l'operatore & per combinare due o più comandi su Windows (per unix usa l'operatore ; ).

Se hai bisogno che il tuo comando sia una stringa senza spazi vuoti, puoi sostituire tutti i caratteri di spazio con il loro valore esadecimale (\ x20), quindi il comando dir sarebbe:

127.0.0.1\x20&\x20dir

Si noti che questo metodo funziona solo con l'interoperter di Python.

Un'alternativa che funziona bene con% co_de di Python e su termilal di Windows sarebbe usare una virgola tra i parametri e rimuovere tutti gli spazi tra i comandi, ad esempio:

127.0.0.1&dir,c:\users
    
risposta data 20.08.2017 - 17:00
fonte

Leggi altre domande sui tag