反诈红队之Bypass宝塔TP5 RCE实战
2021-11-18 11:37:02 Author: mp.weixin.qq.com(查看原文) 阅读量:24 收藏

仅供技术交流,切勿非法用途。

文章可能有点长 废话多了一丢丢 大佬看看笑话就好 中间某些文字部分 没配图是因为 你懂的。。。

前言

某天收到一个项目任务站点 当时打开一看 TP5.05 这个版本是存在RCE的 本来我以为1分钟就搞定了没想到...

目标

首先打开主页随便让他报个错

5.05?这不是随便秒吗?就差写报告了...
接下来使用常规TP5 RCE去打 先让他弹个phpinfo
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1


ok,好吧我就知道没那么简单,尝试POST

直接拉黑了... 没关系换个ip接着来 , 后来尝试过各种办法换过十几个IP皆无法Bypass

后来尝试过 https://xz.aliyun.com/t/6106#toc-3 这个表哥的方法也不行 估计是宝塔付费版

到此时我已经陷入僵局,RCE行不通的话那么可以尝试 RUNTIME 日志泄露,果然宝塔给我们安排的死死的
只要一访问 /Runtime/Log/202111/01.log 直接拉黑不解释...

颤抖的手点了支烟 顺便问了问搞反炸的表哥有没有什么姿势 表哥丢了我张图

关键时刻还是表哥牛,我怀着激动的心打开了语雀尝试payload

OK! 现在尝试写马 采用copy函数 执行

这里为什么要用POST 不用GET 原因GET参数严格过滤call_user_func_array,但POST不过滤,因此可以打组合拳。
访问 http://xxx.com/test.php

WTF? 为什么会是404,难道是马不免杀被杀了?开始尝试写内容为test的test.php,访问也是404。

随后准备采用 file_put_contents 写入内容为test的ok.php,访问也提示404... 那么PHP不行 先尝试写入TXT,内容为test

function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=test.txt&vars[1][]=test

OK访问看看

那么目前情况是写入PHP脚本都为404 怀疑是宝塔直接拦截了 TXT可以 现在就可以考虑包含 可是站点无法创建PHP文件那么只有以下思路

尝试向其他目录写入SHELL (×)一样写什么目录都是404,包括 Runtime/cache/尝试使用rename函数把TXT重命名为PHP (×)这里重命名貌似可以重命名为PHP文件,但是不管内容为什么 访问直接拉黑尝试直接覆盖原有文件,比如index.php (×)根本覆盖不了没用尝试写入到宝塔目录,也就是phpmyadmin目录下

那么说干就干,首先写入一个Bypass opendir的马,通过包含找到phpmyadmin目录 成功写入。

其实这里发生了点小插曲,phpmyadmin目录也是写入PHP文件404,但是我通过写入TXT重命名为PHP就可以执行了,最后也成功拿到了WEBSHELL 完成了此次项目,接下来就是取正la...

作者:funnytoo

References

[1] https://www.secquan.org/Discuss/1072381


大家好,我是社区运营海海,想加入团长组织的反诈红队公益的师傅们,请加我~

扫二维码|关注我们

secquan圈子社区

汇聚新锐,共同进步

社区投稿&加入我们:[email protected]


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5MTA3NTg2MA==&mid=2247485761&idx=1&sn=3e613a491702e5921385e3db6b329c6f&chksm=cfd3a53af8a42c2c68706f503f7aa670f99bba70fa7cb436ffeac1faa644c3c7a46e7fca7931#rd
如有侵权请联系:admin#unsafe.sh