2018铁三测评题write以及一些想送给你们的话

一.、前言

  此文献给实验室的萌新们,以及刚刚接触CTF的同学们,希望能对你们的成长起到一些帮助。

二、关于CTF

  可能你已经接触过CTF或者对它有所了解,这里我再简单介绍一下。

1.什么是CTF?

  CTF(Capture The Flag)中文一般译作夺旗赛,是网络安全技术人员之间进行技术竞技的一种比赛形式,起源于1996年DEFCON全球黑客大会,以比赛形式模拟代替黑客们之间的真实技术比拼。

2.CTF比赛模式


模式


说明


解题模式


参赛队伍通过互联网或者现场网络参与,类似于各位此次做的线上测评题目,你可以理解为在线答题环节,通过解决网络安全技术挑战题目的分值和时间来排名,通常用于在线选拔赛。题目主要包含Web安全、逆向、密码学、数据分析、隐写、安全编程、代码审计与漏洞挖掘利用等。


攻防模式


参赛队伍在网络环境内互相进行攻击和防守,挖掘网络服务漏洞并攻击对手服务器获得分数,并且通过修补自身服务漏洞进行防御来避免丢分。这种模式竞争较为激烈,比拼参赛队员的智力和技术、团队之间的分工配合与合作、也比拼体力。


混合模式


结合了上面说的解题模式与攻防模式 ,赛制较为灵活。

三、测评题目分析

1.你是管理员吗?

解题链接:http://ctf4.shiyanbar.com/web/root/index.php 
  第一道题目是一个Web题。通常拿到Web题,常做的是右击查看源代码;利用浏览器调试工具F12查看页面元素、在调试工具的”网络”中观察请求头等。

  这题我们打开页面,发现一个登陆框,并且默认用户名为admin。我们查看页面源码,或者直接从title的提示中,我们可以发现一个password.txt文件,于是我们访问一下这个文件http://ctf4.shiyanbar.com/web/root/password.txt,发现这是一个密码字典。 既然是密码字典,于是我们便尝试对这个登陆页面进行口令的暴力破解,用户名admin。这里会用到BurpSuite工具,关于使用这个工具暴力破解密码,大家网上搜索,可以参考这篇文章

发现了正确口令组合为:admin/Nsf0cuS

我们利用这组口令去进行登陆,发现页面密码框处限制了字符输入长度。我们可以在前端利用调试工具定位到密码框处,修改密码字段的长度限制。

当我们登陆的时候,在开发者调试工具的“网络”数据查看功能的地方发现我们的请求数据

这里的cookie一看就是个Base64加密的字符串。当然,这需要一些密码学的知识,关于密码学的学习,你可以参考我转载的这篇博文

我们对这个字符串进行Base64解密,

MjkwYmNhNzBjN2RhZTkzZGI2NjQ0ZmEwMGI5ZDgzYjkucGhw

得到

290bca70c7dae93db6644fa00b9d83b9.php

当然,上面的我们也可以在burpsuite中直接进行登陆数据的提交

那么,同样的我们就访问一下这个文件,发现是一个留言板页面。

当我们随便进行留言测试的时候,发现没有权限。这里,我们可以修改cookie以及登陆参数进行欺骗。

  我们利用burpsuite抓包时,可以发现两个参数:IsLogin和userlevel。很明显,IsLogin的值标识用户是否登陆,userlevel指明用户身份。当我们把这两个值修改成如图所示内容后,在响应报文里即可发现flag。

  这里IsLogin可能比较容易理解,但是userlevel的值为什么要改成root?有没有什么窍门呢?我们回忆题目,“管理员”是一个很重要的提示,一般管理员默认用户名,linux下比如admin,root。windows下是administrator,我们可以合理猜解。得到的Flag有两个字符,需要进行URL解码

flag{C0ngratulati0n}

2.IOS

解题链接:http://ctf4.shiyanbar.com/web/IOS/index.php

这题页面中提示系统升级到了IOS99,我们可以想到修改User-Agent进行欺骗。

关于User-Agent,大家参考我的这篇博文加以了解。User Agent是一个特殊字符串头,是一种向访问网站提供我们所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。我们访问网页的时候,会自动提交这个参数。通过这个标识,我们访问的网站可以显示不同的排版从而适应我们的浏览器,提供更好的体验。

我们可以在网上搜索一个IOS99的User-Agent值示例,也可以自己构造,比如

Mozilla/5.0 (iPhone; CPU iPhone OS 99 like Mac OS X) AppleWebKit/0 Safari/536

我们根据要求,提交信息之后,即可获得flag。

这里检测了浏览器标识 、操作系统标识、渲染引擎标识、版本信息。顺带提一下,最后的浏览器字段,只能使用Safari,你改成其他浏览器就不行,

因为Safari是苹果研发的浏览器,也是iPhone手机、iPodTouch、iPad平板电脑中iOS指定默认浏览器。

flag{LMvBi8w9$m1TrgK4}

3. 照猫画虎

解题链接:http://ctf4.shiyanbar.com/web/copy/index.php

这题,右击查看源代码,页面元素,没有发现。于是我们分析其网络请求

看到Set-Cookie,是不是熟悉了?一回生,二回熟。我们先把最后两个%3D字符串解码得到"==",进行base64解密

MjY5OTowNDE1NzQwZWFhNGQ5ZGVjYmM4ZGEwMDFkM2ZkODA1Zg==

得到

2699:0415740eaa4d9decbc8da001d3fd805f

如果你已经有了一些密码学的基础,你应该会发现2699后面是一串经过32位md5加密的数据,如果看不出来,回头在看看密码学的东西去,至少熟悉各种形式的密文,知道其使用的加密算法。

我们继续,给大家推荐一个加解密md5的网站:http://www.cmd5.com/

说明后半段的值,是前一个数字的32位md5加密字符串。于是我们“照猫画虎”,把“1234567890”md5之后,组合起来

1234567890:e807f1fcf82d132f9bb018ca6738a19f

然后把这段字符串经过Base64编码后,修改成cookie地值,提交,即可获得flag

flag{T4mmL9GhpaKWunPE} 

 4.问题就在这

解题链接:http://ctf4.shiyanbar.com/ste/gpg/john.tar.gz.gpg

提示:找答案 GPG key: GhairfAvvewvukDetolicDer-OcNayd#

  这题下载到的是一个gpg文件,文件名为john.tar.gz.gpg。我们可以从网上了解到这是一个经过GPG加密的数据,加密前的文件很可能是john.tar.gz,linux下的一种压缩文件。

  自然地想到,我们要对这个文件进行解密,但是无论是解题前,还是解题后,我都强烈建议你深入了解一下GPG的知识。

  windows下有很方便的工具可以进行解密,下载链接:https://gpg4win.org/download.html。当然,kali也自带了gpg工具,关于它使用,你可以参考我的另一篇博文:http://www.cnblogs.com/ssooking/p/8378407.html。解密命令:

gpg --output john.tar.gz --decrypt john.tar.gz.gpg

解密时,需要输入密钥:GhairfAvvewvukDetolicDer-OcNayd#。密钥不会在控制台上显示。

解密完成后,我们解压压缩包,会得到一个pcap数据包文件。

使用用Wireshark分析数据包,里面有许多HTTP数据,我们直接导出HTTP对象

我们也可以将数据包导入Charles工具中分析http

我们可以看到有很多图片,我们想到了考察内容中的隐写。隐写术是信息隐藏,即不让计划的接收者之外的任何人知道信息的传递事件或信息内容的一门技巧与科学。CTF中隐写术的题目,如果给图片,一般会把一些信息隐藏到图片里。我们可以使用stegsolve工具来分析这些图片。

stegsolve是一个java程序,电脑上需要装有java环境,正确配置了环境变量才能允许。一般双击即可,命令行环境下的运行命令

java -jar stegsolve.jar

当我们使用该工具对logo.png图片进行分析时,可以发现隐藏的flag。至于为什么找到了logo.png这张图片,当你运气不好的时候,你可能需要一个一个试试了。

flag{J0hn_th3_Sn1ff3r}

5.你最美

解题链接:http://ctf4.shiyanbar.com/misc/123/123.exe

这题下载到了一个exe文件,一般给这种文件,基本是考察逆向分析。但是,我们从这个链接中,发现这个题目属于安全杂项分类(密码学、隐写术、数据包分析等)

我们把这个程序放进十六进制编辑器中,这里我用的工具是HxD

一看到这个,我们就可以发现,这是一张图片,只是经过了base64编码(别问为什么了,见多了你就知道啦。这种格式很好记),关于这种base64图片存在的意义,你可以看看这篇文章:https://www.cnblogs.com/coco1s/p/4375774.html。我们利用在线工具(http://imgbase64.duoshitong.com/),把这么长的一大串数据转回图片。

发现是一个二维码,扫码即可获得flag。当然,不使用工具,我们也可以新建一个html文件,把这么长的数据引入img图片标签里,也能够看到图片。类似于

<img src="xxxxxxxxxxxxxxxx">

flag{you are beautiful}

6.shellcode
解题链接:http://ctf4.shiyanbar.com/re/shellcode/shellcode.txt

  这道题目给了一段十六进制代码,分类在逆向里,如果你懂逆向和PWN,会写shellcode,可能会顺着它的思路,顺手就写个shellcode出来了。但是写完之后,会发现没法运行,直接崩溃。而且,对萌新来说,可能会一脸懵,也不会写shellcode。所以这题需要换个思路。

  我们重新观察这些十六进制数据

\x6a\x0b\x58\x99\x52\x66\x68\x2d\x63\x89\xe7\x68\x2f\x73\x68\x00\x68\x2f\x62\x69\x6e\x89\xe3\x52\xe8\x34\x00\x00\x00\x65\x63\x68\x6f\x20\x5a\x6d\x78\x68\x5a\x33\x74\x54\x53\x45\x56\x73\x62\x47\x4e\x76\x5a\x47\x56\x66\x53\x56\x4e\x66\x63\x32\x39\x66\x51\x32\x39\x76\x62\x48\x30\x4b\x7c\x62\x61\x73\x65\x36\x34\x20\x2d\x64\x00\x57\x53\x89\xe1\xcd\x80

既然是十六进制,我们就把这些数据放到十六进制编辑器中看看。在文档里,把“\x”全都去掉

6a0b58995266682d6389e7682f736800682f62696e89e352e8340000006563686f205a6d78685a3374545345567362474e765a47566653564e6663323966513239766248304b7c626173653634202d6400575389e1cd80

我们拷贝这些数据,在HxD中新建一个空白二进制文档,把这些内容粘贴进去。

发现了一段经过了base64编码的数据:ZmxhZ3tTSEVsbGNvZGVfSVNfc29fQ29vbH0K

base64解码,发现它就是flag

flag{SHEllcode_IS_so_Cool}

四、最后的一些话

   时刻保持一颗不断学习和进取的心,在坚持不懈的努力中奋勇前进!一路征途,风雨无阻(共勉!)

原文地址:https://www.cnblogs.com/ssooking/p/8386139.html

时间: 2024-11-06 13:28:16

2018铁三测评题write以及一些想送给你们的话的相关文章

2018高考数学真题权威专家评析+2019备考方向解读

2018高考数学真题汇总!权威专家评析+2019备考方向解读 "试卷稳中求新,在保持结构总体稳定基础上,科学灵活地确定试题内容,强调数学应用,突出关键能力."教育部考试中心命题专家认为,2018年高考数学卷一个突出的特点是,根据文理科考生数学素养综合要求,调整文理科同题比例,为新一轮高考数学不分文理科的改革进行了积极探索. 探索内容改革,助推素质教育 教育部考试中心命题专家介绍,根据文理科考生数学素养的综合要求,调整全国Ⅱ卷.全国Ⅲ卷文理科同题比例,为新一轮高考数学不分文理科改革进行了

2018 年“三盟科技杯”中国大学生程序设计竞赛(湖南)

2018 年"三盟科技杯"中国大学生程序设计竞赛(湖南) A. Easy h-index 题目描述:给出一个数组\(a_i\),求最大的\(h\),使得至少有\(h\)个数不少于\(h\). solution 模拟. 时间复杂度:\(O(nlogn)\) B. Higher h-index 题目描述:写论文,当一份论文花费了\(x\)小时时,这份论文会得到\(ax\)个引用,\(a\)是给定的常数,\(x\)必须为正整数,每份论文都可以被之后自己写的论文引用,现在有\(n\)个小时写论

2018阿里巴巴在线编程题

在其他博客上看到一道 "2018阿里巴巴在线编程题" 我记得题目大概是这样的:输入数据n(n>=6)代表n个数,从0-9任意输入n个数,然后在n个数选出6个数xx-xx-xx表示 时:分:秒,求出最小时间和最大时间,若时间无效,则输出时间无效,例如: 输入: 6 6 5 4 3 2 1 输出: 123456 235641 输入: 6 9 9 9 9 9 9 输出: 时间无效 看着有点意思,就自己做了一遍,输出格式自己美化了一下,没有严格按照题目要求.代码如下: def find_

【BZOJ】初级水题列表——献给那些想要进军BZOJ的OIers(自用,怕荒废了最后的六月考试月,刷刷水题,水水更健康)

BZOJ初级水题列表——献给那些想要进军BZOJ的OIers 代码长度解释一切! 注:以下代码描述均为C++ RunID User Problem Result Memory Time Code_Length 695765 Eolv 1000 Accepted 804 kb 0 ms 118 B 739478 Eolv 2463 Accepted 804 kb 0 ms 134 B 696662 Eolv 1968 Accepted 1272 kb 48 ms 137 B 739546 Eolv

阿里2018前端测评题(Promise异步流程控制)

用Promise控制异步流程,三个异步任务,时间可能有先后,但是要按照想要的顺序输出. 我这里用四种方法解决,其实也就是考察你对Promise的理解,基础题了. //实现mergePromise函数,把传进去的数组顺序先后执行, //并且把返回的数据先后放到数组data中 const timeout = ms => new Promise((resolve, reject) => { setTimeout(() => { resolve(); }, ms); }); const ajax

2018.5.5铁三数据赛(第三赛区) 复现

1.pcap 题目: 黑客攻击的第一个受害主机的网卡IP地址 黑客对URL的哪一个参数实施了SQL注入 第一个受害主机网站数据库的表前缀(加上下划线例如abc_) 第一个受害主机网站数据库的名字 Joomla后台管理员的密码是多少 先过滤http协议 外网ip/黑客ip:202.1.1.2 内网ip/服务器ip/目标机ip:192.168.1.8 继续观察 url decode后: /index.php?option=com_contenthistory&view=history&list

PKUWC 2018 铁牌记

Day –INF: 联赛后根据分数一部分人继续停课.由于本蒟蒻撞上了狗屎运,联赛分数还行,可参加NOIWC和PKUWC,故继续停课训练.期间补全了一堆知识点,并成功翘掉期末考.(然而该还的还是要还的,春节要恶补文化课了) 我们学校今年参加thuwc的人数为7人,pkuwc的人数为3人,随行的还有10位家长和2位教练,人数史上最多. 作为一个从未在冬天去过“北方”的人,考虑到长沙的气温将远低过广州,特意去买了两件羽绒服.我妈甚至想给我买一双防水的运动鞋因为没有找到合适的故没买,个人觉得没必要. P

2018上半年系统分析师真题及答案

系统分析师2018上半年真题及答案 (1)面向对象分析中,对象是类的实例.对象的构成成分包含了(1),属性和方法(或操作). A.标识 B.消息 C.规则 D.结构 参考答案[A] (2)UML2.0所包含的图中,(2) 描述由模型本身分解而成的组织单元,以及他们之间的依赖关系. A.组合结构图 B.包图 C.部署图 D.构件图 参考答案[B] (3)UML的结构包括构造块.规则和公共机制三个部分.在基本构造块中,(3)能够表示多个相互关联的事物的集合:规则是构造块如何放在一起的规定, 包括了(

华为内部员工测评题——地铁站最佳路线推荐

背景概述 ?城市的地铁网络由多条线路组成 ?每条线路上有多个车站,线路自身没有交叉点 ?线路间交叉或重叠时,共用车站,在这些车站上可相互换乘 ?每条线路都是双向行车 ?线路有两种:I形线和O形线 –I形线有两个端点,乘客在端点处只能乘坐开往另外一端的地铁,在非端点处则有两个方向可选择.(如图中8号线) –O形线所有车站形成环,没有端点,乘客在任一站都有两个方向可选择.(如图中4号线) 功能需求 在地铁网络中任选一站为起点,任选另一站为终点,中途可换乘,要求输出 1)最短路线长度:从起点到终点经过