vulnyx Ober writeup

信息收集

nmap

image

dirsearch

 

获取userFlag和rootFlag

8080就是一个默认页面,没什么东西,80里的默认页面也同样的没什么有用的信息,直接去看一下dirsearch扫到的那个后台页面

image

是一个登录页,这里的话我会先尝试使用一些常见的弱密码(比如:admin/admin、admin/password、admin/passwd、admin/123456、admin/admin123)登录一下,如果登录不了的话再去测其它的东西。而这里它的账密刚好是admin/admin,所以一试就上去了

image

然后这里有两个地方可以命令执行

image

markup那里是一个Twig的模板注入,code那里可以通过编写指定函数来实现RCE(CVE-2022-35944),CVE那里的实现步骤如下:

在code那里写入以下代码

function onStart() {要执行的php代码;}

然后点击上面的预览即可

image

image

这里就是一个RCE的点,然后是模板注入那块,那块的发现过程就只能凭经验了,这条路径我是看一位大佬的wp的时候才发现的,在layout的default.htm里可以看到类似模板的东西

image

所以就可以在markup里尝试一下是否有模板注入,目标网站后端动态语言是PHP,所以就可以试一下smarty和twig,这里是twig模板注入

image

image

然后就可以去找payload了,swisskyrepo/PayloadsAllTheThings: A list of useful payloads and bypass for Web Application Security and Pentest/CTF (github.com)有些payload是用不了的,使用过后预览会跳转到报错页面,所以在使用的时候要多找找,多试几个payload。这里我用的是这个:

{{[0]|reduce('system','id')}}

image

通过上述两种RCE的任意一种都可以把shell反弹回来

image

然后看一下开放了哪些端口

image

有一个3306端口,在网站根目录下找一下数据库配置文件

image

在config目录下有一个database.php,cat一下

image

在mysql的配置信息中发现了一个被注释的密码,尝试通过它直接登录root

image

成功登上来了,之后就是分别去root家目录下和c0w家目录下拿到rootflag和userflag了

userflag:42f13248429cf25d105c9f089e02f4cd(MD5)

rootflag:2c3fde40cca7b865e5ebef5ca131a772(MD5)

posted @ 2025-08-18 13:28  sky2dawn  阅读(24)  评论(0)    收藏  举报