[toc]
下载地址
- Me-and-My-Girlfriend-1.ova (Size: 693 MB)
- Download: https://drive.google.com/file/d/15QiLTp5tsvwkjIMYjY4zJSyMVbulU8jc/view
- Download (Mirror): https://download.vulnhub.com/meandmygirlfriend/Me-and-My-Girlfriend-1.ova
- Download (Torrent): https://download.vulnhub.com/meandmygirlfriend/Me-and-My-Girlfriend-1.ova.torrent ( Magnet)
题目描述
中文翻译:
描述:这个虚拟机告诉我们有一对恋人,爱丽丝和鲍勃,这对恋人原本非常浪漫,但由于爱丽丝在一家私人公司“Ceban Corp”工作,爱丽丝对鲍勃的态度发生了一些变化,好像有些东西被“隐藏”,鲍勃请求你帮忙弄到爱丽丝藏的东西,并获得进入公司的全部权限!
难度等级:初学者
注:有2个标志文件
学习:Web应用程序|简单的权限提升
环境配置
设置VMnet8为NAT模式
之后讲攻击机kali和靶机均配置为VMnet8
kali:
靶机:
此时环境就搭建完了。
靶机测试
首先用nmap扫一下,看看靶机的IP是多少
这里通过curl测试可知靶机为192.168.162.131
在物理机内访问
F12可以查看到直接curl到的hint:
burpsuite抓包利用xff仿造ip为本地,成功访问:
响应包响应给浏览器后,可看到Home、Login、Register、About
先在注册页面里看一下
账号密码邮箱等全部设置为admin
注册完后登录一下抓包
登录成功:
forward之后又抓到了一个比较特殊的包
有个user_id=12,莫非我刚注册的是第12个用户,尝试下把user_id改为1,因为一般管理员账号都是第一个
好叭,貌似并没有什么用
再查看一下资料:
直接回显了姓名,账号,密码
也有user_id的存在,可能是在这个页面越权
尝试一下,修改为1:
好耶,还真有越权,回显出了其他用户的信息:
在浏览器中把密码栏的type改为text即可看到明文密码
得到密码:
爆破下一共有哪些用户,先利用options内的grep-extract来正则匹配一下
为了看看user_id > 12
时有没有数据,故这里爆破设置1-15,得到:
发现其实一共只有八个用户,并且其中一个是我们自己创建的。
在第五个请求中,我们发现了alice
用户,在题目描述中我们可以得知是alice隐藏了东西。alice的账号密码为
alice/4lic3
这里貌似路就走死了,继续试试,可以发现robots.txt里有点信息
有一个txt文件,访问一下
Great! What you need now is reconn, attack and got the shell
这里说attack and got the shell
,直接就到get shell了,而除了一个越权我们并没有发现什么特殊的点。猜测alice的账号密码就是ssh账号密码。
尝试登录一下
发现果然登录成功了
题目描述里说一共有两个flag,这种情况下一般一个是低权限即可拿到的flag,一个是root权限才能拿到的flag。
先在终端里收集一下信息
finalshell
发现有很多隐藏目录
ls
看不到, ls -al
能够看到
cd .my_secret
发现flag文件
cat flag1.txt
得到第一个flag
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发现,肯定是要有不好的事情发生了,可恶呢。
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
,发现权限不够,看来接下来需要做的就是提权了。
先列举一下alice的权限,发现在/user/bin/php目录下有root权限
sudo -l
php有root权限,那就好办了啊,直接调用system命令读flag就行了
sudo php -r 'system("cat /root/flag");'
读 /root/flag 发现没有这个文件,想到第一个flag的文件名是 flag1.txt ,那么第二个flag的文件名应该就是 flag2.txt 了,尝试读 flag2.txt。
sudo php -r 'system("cat /root/flag2.txt");'
读取成功!
当然也可以php弹一个bash出来,也可以在root目录下发现flag2.txt
sudo php -r 'system("/bin/bash");'
cd /root
ls
最后成功拿下!