[极客大挑战 2019]EasySQL,[GDOUCTF 2023]反方向的钟,Buu二维码

[极客大挑战 2019]EasySQL

打开环境看一下

有两个输入框

get传输,这题是一个注入,判断一下是什么类型的

都输1的话,报错如下

1”跟上述一样

但是换成单引号

就报这个错了

这里有一个sql语句的报错提醒

那么就可以比较确定这个是 ‘ ’ 包含的字符型注入了

因为   ‘1’ 是正常的

‘1“’这个是有单引号包含的话双引号就被当成字符串执行了

‘1’’ 这样的话就会在sql语句中产生报错因为多出来了一个单引号

想试一下注入点的,结果直接就出了

同时又试了一下可以不难猜出这句sql代码如下

SELECT*FROM table_name WHERE username=''and password='';

所以在SELECT*FROM table_name WHERE username='1‘ or 1=1%23'and password='';

用另一个’闭合后然后用%23给后面的注释掉执行 or 1=1 这一个恒对的,flag就出来了

这一题还是很基础的

[GDOUCTF 2023]反方向的钟

一个同样经典的php反序列化跟文件包含

源代码如下

<?php
error_reporting(0);
highlight_file(__FILE__);
// flag.php
class teacher{
    public $name;
    public $rank;
    private $salary;
    public function __construct($name,$rank,$salary = 10000){
        $this->name = $name;
        $this->rank = $rank;
        $this->salary = $salary;
    }
}

class classroom{
    public $name;
    public $leader;
    public function __construct($name,$leader){
        $this->name = $name;
        $this->leader = $leader;
    }
    public function hahaha(){
        if($this->name != 'one class' or $this->leader->name != 'ing' or $this->leader->rank !='department'){
            return False;
        }
        else{
            return True;
        }
    }
}

class school{
    public $department;
    public $headmaster;
    public function __construct($department,$ceo){
        $this->department = $department;
        $this->headmaster = $ceo;
    }
    public function IPO(){
        if($this->headmaster == 'ong'){
            echo "Pretty Good ! Ctfer!\n";
            echo new $_POST['a']($_POST['b']);
        }
    }
    public function __wakeup(){
        if($this->department->hahaha()) {
            $this->IPO();
        }
    }
}

if(isset($_GET['d'])){
    unserialize(base64_decode($_GET['d']));
}
?>

接下来进行代码审计就好了

用php内置读取文件的函数

SplFileObject 用这个读取文件

配上这个伪协议就好

php://filter/read=convert.base64-encode/resource=

这个在ipo函数上

需要通过_wakeup来触发

里面有个hahaha函数

在类classroom中就有

但是条件里面就会有在leader里的对象,那这不就是

在teacher中就有的

然后思路就清晰了

大概链子如下

school_wakeup.department->classroom_hahaha.leader->teacher->school_ipo

这里进行了base64编码所以如下:

出了

解码

这样的话就出了

Buu二维码

看一下附件

一个压缩包,没什么东西,直接解压看一下这个二维码

看属性是一个好习惯,扫一下看看吧

放010,果然

用binwalk分一下

有着两个文件,一个压缩包

直接破解

直接就出了

  • 28
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值