vulnhub >_ pwnlab_init
Published on 09 Nov 2020
pwnlab_init




login测试sql绕过失败,upload需要登录后使用,config页面空白

查看代码,发现应该可以使用php过滤器查看页面后台代码

查看login


登录使用了config,查看config页面代码


得到数据库凭证
root:H4u%QJ_H99
登录数据库


分别用base64解密
kent:Sld6WHVCSkpOeQ==:JWzXuBJJNy
mike:U0lmZHNURW42SQ==:SIfdsTEn6I
kane:aVN2NVltMkdSbw==:iSv5Ym2GRo
随便使用一个账户登录
进入upload
使用之前同样的方法查看upload源码


发现upload会审查图片格式后缀,然后修改文件名并上传到upload文件夹下。
制作rshell


上传

查看upload

但是在upload文件夹下,文件并不能被执行。

这应该是个兔子洞,这种形式的图片显示通常不能得到shell
继续查看其他页面后台代码。
在查看index的后台代码时发现,对cookie的处理是存在包含的。应该可以提供一个LFI给我们


尝试验证,重新浏览主页抓包修改cookie,使用lang参数尝试包含passwd。成功执行。

现在我们可以包含我们之前上传的gif php-rshell文件了
在kali本地1337端口建立监听,复制之前图片的地址,替换并发包


进入home文件夹后发现

除了之前得到凭证的三个用户外存在新用户john
使用之前得到的三个凭证分别切换用户,搜集信息。
kent目录下没有什么有用的信息

mike不能切换

而kane用户目录下存在一个可以以mike身份执行的suid可执行文件,相信它可以帮助我们切换到mike的身份


在执行后发现应该是调用了cat命令,这种方式可以简单的通过伪造环境变量来欺骗程序
首先伪造cat

然后修改环境变量,并执行程序

用户目录下


看样子调用了echo
并且我们可以输入。
尝试命令注入

存在。现在我们只需要直接拉起shell。

忘了伪造了cat。。LOL