负载均衡下webshell连接、nginx解析漏洞、sql注入第一关(三选一)
负载均衡下webshell连接:
实验环境:
先下载一下蚁剑:https://github.com/AntSwordProject/AntSword-Labs
安装docker环境:
将蚁剑放在虚拟机环境下(我的在root下)
如果放入是zip则需要进行解压缩
之后进行改名(原因:名字太长了了……)如下:
查看一下ls -al
在loadbalance有绕过的
这里有个docker-compose(docker环境中有两个文件,一个dockerfile【每次只能下载一个系统】,一个docker-compose【可下载多个】)
这个工具如果你的docker是新版本就是自带,我的是20版
所以我需要进行下载(这里进行Ubanto进行代理)
需要借助proxy……这款工具
下载好后进行查看一下其配置文件
在最下面一行就可以更改自己本地的
(在设置--参数设置-自己的是10808,自己的本地IP-win+r---ifconfig查看)
我已经修改了,你们自己看你们自己进行修改
接下来就可以进行
接着就是docker-compose up -d
场景描述
OK,我们假定在真实的业务系统上,存在一个 RCE 漏洞,可以让我们获取 WebShell。
说明从在webshell
下载蚁剑,然后进行自己的一些配置如下表:
然后进行连接,(其实已经连接,有的是飘了)
然后就有一下难点
难点一:我们需要在每一台节点的相同位置都上传相同内容的 WebShell
一旦有一台机器上没有,那么在请求轮到这台机器上的时候,就会出现 404 错误,影响使用。是的,这就是你出现一会儿正常,一会儿错误的原因。
难点二:我们在执行命令时,无法知道下次的请求交给哪台机器去执行。
我们执行 ip addr 查看当前执行机器的 ip 时,可以看到一直在飘,因为我们用的是轮询的方式,还算能确定,一旦涉及了权重等其它指标,就让你好好体验一波什么叫飘乎不定
难点三:当我们需要上**传一些工具时,麻烦来了:**
我们本地的 111.png 大小是 2117006, 由于 antSword 上传文件时,采用的分片上传方式,把一个文件分成了多次HTTP请求发送给了目标,所以尴尬的事情来了,两台节点上,各一半,而且这一半到底是怎么组合的,取决于 LBS 算法,这可怎么办?
难点四:由于目标机器不能出外网,想进一步深入,只能使用 reGeorg/HTTPAbs 等 HTTP Tunnel,可在这个场景下,这些 tunnel 脚本全部都失灵了。
具体操作如下:
1. 创建 antproxy.jsp 脚本
2. 修改 Shell 配置, 将 URL 部分填写为 antproxy.jsp 的地址,其它配置不变
3. 测试执行命令, 查看 IP