2022强网杯复现
##2022强网杯复现
强网杯-强网先锋 rcefile
学一点是一点,又是努力尝试不做fw的一天……
考点
文件泄露、spl_autoload_register的可能性利用、文件上传、文件包含、反序列化
分析
扫描目录存在www.zip,存在源码泄露,访问/www.zip下载源码
查看源码中config.inc.php,发现对cookie做了反序列化,并存在spl_autoload_register()函数
关于spl_autoload_register函数
cookie的userfile就是上传文件加密过的文件名来构造序列化
步骤
上传jpg⽂件,bp抓包,把jpg后缀改成.inc,
上传文件内容为
然后发送,可以得到⽂件名为 axxxxxxxxxxxxxxxxxxxxxxxx.inc
注意:生成的文件名需要字母开头(是bp里面得到的文件名)
然后对文件名进行序列化,其中的axxxxxxx是文件名
<?php
class axxxxxxxxxxxxxxxxxxxxxxxx{
function __construct()
{
}
}
$p = new axxxxxxxxxxxxxxxxxxxxxxxx();
echo serialize($p);
在线运行得到序列化结果
然后访问http://ip:port/showfile.php,将cookie改为序列化结果然后发送即可得到flag
NEPCTF-Web Just Kidding
考点
文件泄露、Laravel9.1.8远程执行漏洞、反序列化
分析
扫目录发现存在/www.zip,访问然后下载源码进行代码审计(太菜了很多看不懂)
//App\Http\Controllers\HelloController.php |
这个 php 文件中有一个反序列化的函数存在反序列化漏洞,看大佬的wp说可以使用Laravel9.1.8远程执行漏洞
步骤
构建poc链
//exp: |
查看web.php路由,找到hello可访问,接着在目录中找到,封装hello的函数,发现参数h3
构造payload:
url=id/hello?h3=pop |
获取flag