Vulnhub - Me and My Girlfriend

[toc]

下载地址

题目描述

image-20210716155440208

中文翻译:

描述:这个虚拟机告诉我们有一对恋人,爱丽丝和鲍勃,这对恋人原本非常浪漫,但由于爱丽丝在一家私人公司“Ceban Corp”工作,爱丽丝对鲍勃的态度发生了一些变化,好像有些东西被“隐藏”,鲍勃请求你帮忙弄到爱丽丝藏的东西,并获得进入公司的全部权限!

难度等级:初学者

注:有2个标志文件

学习:Web应用程序|简单的权限提升

环境配置

设置VMnet8为NAT模式

image-20210716152012053

之后讲攻击机kali和靶机均配置为VMnet8

kali:

image-20210716152103091

靶机:

image-20210716152123147

此时环境就搭建完了。

靶机测试

首先用nmap扫一下,看看靶机的IP是多少

image-20210716151942525

这里通过curl测试可知靶机为192.168.162.131

image-20210716152340827

在物理机内访问

image-20210716152401617

F12可以查看到直接curl到的hint:

image-20210716152421236

burpsuite抓包利用xff仿造ip为本地,成功访问:

image-20210716153613676

响应包响应给浏览器后,可看到Home、Login、Register、About

image-20210716153713690

先在注册页面里看一下

image-20210716153850895

账号密码邮箱等全部设置为admin

image-20210716153924836

注册完后登录一下抓包

image-20210716154447798

image-20210716154122302

登录成功:

image-20210716154524637

forward之后又抓到了一个比较特殊的包

image-20210716154153864

有个user_id=12,莫非我刚注册的是第12个用户,尝试下把user_id改为1,因为一般管理员账号都是第一个

image-20210716154401942

好叭,貌似并没有什么用

image-20210716154334287

再查看一下资料:

image-20210716154806871

直接回显了姓名,账号,密码

image-20210716154846586

也有user_id的存在,可能是在这个页面越权

image-20210716154942472

尝试一下,修改为1:

image-20210716155045926

好耶,还真有越权,回显出了其他用户的信息:

image-20210716155116943

在浏览器中把密码栏的type改为text即可看到明文密码

image-20210716155201209

得到密码:

image-20210716155237724

爆破下一共有哪些用户,先利用options内的grep-extract来正则匹配一下

image-20210716161256191

为了看看user_id > 12时有没有数据,故这里爆破设置1-15,得到:

image-20210716161412476

发现其实一共只有八个用户,并且其中一个是我们自己创建的。

在第五个请求中,我们发现了alice用户,在题目描述中我们可以得知是alice隐藏了东西。alice的账号密码为

alice/4lic3

这里貌似路就走死了,继续试试,可以发现robots.txt里有点信息

image-20210716161822152

有一个txt文件,访问一下

image-20210716161843250

Great! What you need now is reconn, attack and got the shell

这里说attack and got the shell,直接就到get shell了,而除了一个越权我们并没有发现什么特殊的点。猜测alice的账号密码就是ssh账号密码。

尝试登录一下

image-20210716162133573

发现果然登录成功了

image-20210716162149871

题目描述里说一共有两个flag,这种情况下一般一个是低权限即可拿到的flag,一个是root权限才能拿到的flag。

先在终端里收集一下信息

finalshell发现有很多隐藏目录

image-20210716162347920

ls 看不到, ls -al 能够看到

image-20210716162407085

cd .my_secret发现flag文件

image-20210716162508243

cat flag1.txt得到第一个flag

image-20210716162538771

flag1.txt:

Greattttt my brother! You saw the Alice's note! Now you save the record information to give to bob! I know if it's given to him then Bob will be hurt but this is better than Bob cheated!

Now your last job is get access to the root and read the flag ^_^

Flag 1 : gfriEND{2f5f21b2af1b8c3e227bcf35544f8f09}

格雷特,我哥哥!你看到爱丽丝的便条了!现在保存记录信息给bob!我知道如果给了他,鲍勃会受伤的,但这总比鲍勃被骗好!

现在您的最后一个任务是访问根目录并读取标志^_^

Flag 1 : gfriEND{2f5f21b2af1b8c3e227bcf35544f8f09}

cat my_notes.txt查看一下另一个txt文件的信息,居然不希望Bob发现,肯定是要有不好的事情发生了,可恶呢。

image-20210716162730097

Woahhh! I like this company, I hope that here i get a better partner than bob ^_^, hopefully Bob doesn't know my notes

哇哦!我喜欢这个公司,我希望在这里我能找到比鲍勃更好的合作伙伴,希望鲍勃不知道我的笔记

回到正题,第一个flag内的提示告诉我们,我们需要访问root目录下的flag(上面是直接百度翻译的,故翻译的用问题,我相信大家肯定看得懂这个英文)

尝试cd root,发现权限不够,看来接下来需要做的就是提权了。

image-20210716163048379

先列举一下alice的权限,发现在/user/bin/php目录下有root权限

sudo -l

image-20210716163607755

php有root权限,那就好办了啊,直接调用system命令读flag就行了

sudo php -r 'system("cat /root/flag");'

image-20210716163956380

/root/flag 发现没有这个文件,想到第一个flag的文件名是 flag1.txt ,那么第二个flag的文件名应该就是 flag2.txt 了,尝试读 flag2.txt

sudo php -r 'system("cat /root/flag2.txt");'

读取成功!

image-20210716164208657

当然也可以php弹一个bash出来,也可以在root目录下发现flag2.txt

sudo php -r 'system("/bin/bash");'
cd /root
ls

image-20210716164425513

最后成功拿下!

image-20210716164454043

发表评论