前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CTF-我和我的女朋友 Me and My Girlfriend 1—Writeup

CTF-我和我的女朋友 Me and My Girlfriend 1—Writeup

原创
作者头像
UzJu@菜菜狗
修改2019-12-20 10:36:14
1.6K0
修改2019-12-20 10:36:14
举报
文章被收录于专栏:UzJu和菜菜狗

My Blog:Blog.CatGames.cn  Blog

Me and My Girlfriend 1—Writeup

环境:Vmware 14,Kali Linux 2019,VirtualBox

题目来自:https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/

OVF来自:https://drive.google.com/file/d/15QiLTp5tsvwkjIMYjY4zJSyMVbulU8jc/view

0x00

导入好下载的OVF 

使用nmap -sP -T4 172.20.10.0/24找到靶机IP

使用nmap -sV -T4 172.20.10.9

可以看到nmap给我们提示了一个22号端口和一个80端口,那么首先就先去访问80端口,众所周知,80端口运行着HTTP服务,由此可见,这是一个网站。

这里提示我们,Who are you? Hacker? Sorry This Site Can Only Be Accessed local!(你是谁?黑客?非常抱歉,这个站点只能本地访问,)那么右键审查元素查看一下源码。

这里可看到注释有一段提示 Maybe you can search how to use x-forwarded-for(也许你可以搜索如何使用x-forwarded-for)

那么我首先做的时候第一时间就想到是不是HTTP的XFF?

这里有两种做法:

1. Burp拦截包,然后自己再HTTP头加上XFF然后添加127.0.0.1

2. 使用firfox的X-ForWarded插件

那么马上打开firfox的X-ForWarded插件

进入到了网站主页

首先可以看到网站给出了Home Login Register About四个按钮

点击Login按钮 尝试输入admin admin弱口令无果后

点击register 注册一个账号是蔡徐坤 密码是蔡徐坤的一个账号

注册进来后 点击Dashboard还有Profile都没啥结果

Dashboard其实就是默认首页Wellcom back

Profile貌似是一个修改密码的

但是Change按钮被禁止点击了

0x01

那么打开Nikto和Dirb扫描一个铭感文件铭感目录等信息

首先查看Dirb给出的信息,可以看到有一个config目录状态码200,rebots.txt状态200,再可以看到misc目录也是200,Server-status状态码是403

那么再看看nikto给出的信息 跟dirb给出的信息大致都差不多

访问config目录

点击config.php​确实空白页,因为php界面解析了,不解析会导致类似于文本的样式或者导致直接下载(感谢Cimoom_曲云杰指点纠正)

访问misc目录

然后点击process.php 发现也是空白页 并且审查元素无任何信息

查看Rebots.txt

发现有一个名为heyhoo.txt 进去查看

这个txt提示我们Great! What you need now is reconn, attack and got the shell(伟大的!你现在需要的是侦察,攻击并得到shell 机翻:D)

既然说到shell,那么可以想到这个靶机开放了22号端口

那么可以使用ssh尝试连接一下

可是我们并不知道账号所以还是无果。

那么既然靶场网站首页是登录界面,那么首先就想到是否存在sql注入

首先就是来到首页的login登录的地方

Burp与firefox设置好代理后使用burp拦截 然后把这个抓到的信息放到txt里面丢sqlmap

Sqlmap -r sql.txt跑了一遍 无果

Sqlmap -r sql.txt --level 5又跑了一遍无果

经过一番尝试无果后,终于在登录后的url的参数那里找到了突破口

首先,我们知道了,

把user_id=12改成了user_id=1

突然发现框中值都变了,那么我们依次输入值,那么数字那么多,最大应该是多少呢?

最大的数值是12,因为我们注册账号然后登陆后,我们的ID是12

那么首先挨个收集这些账号密码,并把它们放到文本中,先收集好。

想看到Password的值也非常简单,只需要审查元素,查看from表单中input value的值或者把type=”password’直接删除即可

User_id=2

以此类推,我收集了6个账号与密码

不用问为什么12个ID却只有个账号!:)

那么既然账号有了,就直接根据之前的heyhoo.txt的提示,上ssh 把获取的账号密码带进去挨个尝试。直到尝试到alice账号的时候进去了

那么进来了,先不要着急提权,虽然我们还没拿到flag,但是我们要搞清楚两个问题,process.php和config.php里面到底是什么内容,那么是Apache服务器,那么就去到/var/www/html目录去查看

来到config目录下查看后发现这一段是一个连接mysql的,那么root即账号,ctf_pasti_bisa即密码,ceban_corp即连接的库,那么就先把这段信息保存下来。

来到misc目录看到process.php后发现一段php代码,这段代码的简单意思就是,接受一个值给act然后用switch去判断这个值是不是登录login或者register如果是前者,那就执行前者的功能,如果是后者,那就执行后者的功能,可是我们并未在网站看到过这个页面,所以

无妨!不需理会。

然后发现html目录下还有一个文件夹halamanPerusahaan

进去后也无果

那就尝试连接mysql看看能发现什么信息。

Show databases;可以看到主要我们要找的是ceban_corp

使用use ceban_corp然操作都在此库进行

再使用show tables;可以看到有一个tbl_users

那么使用select * from tbl_users;

其实看到这些信息,并没什么用,因为这些都是我们已经收集到的信息

当再一次的陷入问题的时候,想到进home目录查看alice目录下是不是有别的文件

ls后并无任何文件,那么可以考虑是不是有隐藏文件

Ls -alh 发现一个名为.chache和一个名为.my_secret的隐藏目录

查看.chache 没东西 那就去查看my_secret

Nice 发现一个flag1.txt 和一个my_notes.txt

Cat flag1.txt即可拿到flag1

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 ^_^

拿到flag1还有一段提示,提示说让我们拿到root下的flag

然后cat my_nots.txt看到

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

没啥有用的信息,那么就整root吧

经过对已经获得到的信息,密码进行利用,最后得到了root权限

密码其实就是数据库的密码 那么现在就可以开心的去拿到root目录下的密码了!

至此,结束了。

补充

说一点,为什么change按钮点不了,咱没有尝试,因为那按钮对于拿到flag没什么帮助(当然我并不保证这一道题只有这一个做法,但是那个按钮我尝试过,无果)关于怎么才

能让这个按钮可以点击呢,也简单,审查元素找到按钮事件然后把disabled删掉就完事。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档