Full shell from pingit application [cerrado]

1

cuando ingresé 127.0.0.1 el resultado fue: -

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 

cuando ingresé 127.0.0.1%00 obtuve el siguiente resultado: -

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 

Puedo ejecutar comandos de una sola palabra como dir, whoami, etc., como: -

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

¿Cómo puedo obtener la ejecución del comando de shell completo con tales restricciones

    
pregunta Aayush 20.08.2017 - 15:56
fuente

1 respuesta

3

Use el operador & para combinar dos o más comandos en Windows (para unix use el operador ; ).

Si necesita que su comando sea una cadena sin espacios vacíos, podría reemplazar todos los caracteres de espacio con su valor hexadecimal (\ x20), por lo que el comando dir sería:

127.0.0.1\x20&\x20dir

Tenga en cuenta que este método solo funciona con el intérprete de Python.

Una alternativa que funcione bien con os.popen de Python y en el termilal de Windows sería usar una coma entre sus parámetros y eliminar todos los espacios entre los comandos, por ejemplo:

127.0.0.1&dir,c:\users
    
respondido por el t.m.adam 20.08.2017 - 17:00
fuente

Lea otras preguntas en las etiquetas