首页
社区
课程
招聘
[原创]CTF-Web-我和我的女朋友 Me and My Girlfriend 1—Writeup
发表于: 2019-12-19 23:07 2248

[原创]CTF-Web-我和我的女朋友 Me and My Girlfriend 1—Writeup

2019-12-19 23:07
2248

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删掉就完事。


[课程]Android-CTF解题方法汇总!

最后于 2019-12-19 23:21 被UzJu编辑 ,原因:
收藏
免费 2
支持
分享
最新回复 (8)
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
太感谢了,刚好在做这个
2020-1-15 19:09
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
当时ssh没找到账号密码 还准备扔去爆破  然后就弃了= =
2020-1-15 19:20
0
雪    币: 452
活跃值: (6128)
能力值: ( LV12,RANK:580 )
在线值:
发帖
回帖
粉丝
4
KittyITBox 当时ssh没找到账号密码 还准备扔去爆破 然后就弃了= =
哈哈 我当时也准备自闭了 然后突然发现的这个地方 所以还是得有耐心和脑洞
2020-1-19 10:24
0
雪    币: 452
活跃值: (6128)
能力值: ( LV12,RANK:580 )
在线值:
发帖
回帖
粉丝
5
KittyITBox 当时ssh没找到账号密码 还准备扔去爆破 然后就弃了= =
我还做过一个更大脑洞的 那个靶场让我登录 然后给了一个小提示 然后那个提示 我一直以为是什么加密,到最后才发现是一个坐标,要去谷歌地图上搜就能知道密码,而且每一次关闭靶机开机靶机这个坐标就会变:)脑洞真大
2020-1-19 10:28
0
雪    币: 280
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
怎么联系你啊。18279000092!这是我微信。恳求你加一下
2020-7-17 06:41
0
雪    币: 280
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
你的qq要回答问题,我加不上啊。您加下我吧。18279000092这是我微信。十分感谢。加下我吧
2020-7-17 06:42
0
雪    币: 2890
活跃值: (1832)
能力值: ( LV8,RANK:140 )
在线值:
发帖
回帖
粉丝
8
Me and my girlfriend~
2020-7-21 10:59
0
雪    币: 1634
活跃值: (480)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
困难重重啊,有没有一些简单的例子?
2020-10-28 11:21
0
游客
登录 | 注册 方可回帖
返回
//