安全矩阵

 找回密码
 立即注册
搜索
查看: 2431|回复: 0

反诈红队之Bypass宝塔TP5 RCE实战

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-11-19 11:00:46 | 显示全部楼层 |阅读模式
原文链接:反诈红队之Bypass宝塔TP5 RCE实战

前言某天收到一个项目任务站点 当时打开一看 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...



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-4-23 03:29 , Processed in 0.014719 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表