技术挑战赛样题解析与备战指导

上传人:n**** 文档编号:89244112 上传时间:2019-05-22 格式:PDF 页数:22 大小:223.06KB
返回 下载 相关 举报
技术挑战赛样题解析与备战指导_第1页
第1页 / 共22页
技术挑战赛样题解析与备战指导_第2页
第2页 / 共22页
技术挑战赛样题解析与备战指导_第3页
第3页 / 共22页
技术挑战赛样题解析与备战指导_第4页
第4页 / 共22页
技术挑战赛样题解析与备战指导_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《技术挑战赛样题解析与备战指导》由会员分享,可在线阅读,更多相关《技术挑战赛样题解析与备战指导(22页珍藏版)》请在金锄头文库上搜索。

1、样题解析样题解析 与与 备战指导备战指导 ISG2014ISG2014 技术挑战赛技术挑战赛 命题组命题组 20142014. .08.2908.29 CTFCTF竞赛形式竞赛形式 题目主要涉及以下题目主要涉及以下5 5大类:大类: 信息搜集信息搜集( (MiscMisc) ) WebWeb漏洞与渗透漏洞与渗透(Web)(Web) 软件逆向软件逆向(Reverse Engineering)(Reverse Engineering) 漏洞利用漏洞利用(Exploit)(Exploit) 密码学原理及应用密码学原理及应用(Crypto)(Crypto) CTFCTF竞赛形式竞赛形式 每一道题目都有

2、相应分值每一道题目都有相应分值,从,从5050到到500500不等。不等。 同一类别的题目中分值越高的题目难度越大。同一类别的题目中分值越高的题目难度越大。 参赛队伍需要运用安全相关的理论知识和技术参赛队伍需要运用安全相关的理论知识和技术 应用来解决问题,获得一个被称为应用来解决问题,获得一个被称为flagflag的字符的字符 串进行提交,以此来获得分数串进行提交,以此来获得分数。 本次比赛本次比赛flagflag的格式为的格式为: ISGISG 可见、长度不定的字符串可见、长度不定的字符串 信息搜集信息搜集( (MiscMisc) ) 这一类题目考察的内容往往涉及以下几个方面这一类题目考察的

3、内容往往涉及以下几个方面: 1 1)人员目标或者是服务器目标等相关信息搜集;)人员目标或者是服务器目标等相关信息搜集; 2 2)网络的流量分析;)网络的流量分析; 3 3)取证分析,包括图像隐写、内存取证等;)取证分析,包括图像隐写、内存取证等; 4 4)另外一些不方便分类的题目)另外一些不方便分类的题目, 包括编程能力的考察包括编程能力的考察。 样题:样题:0ctf2014 0ctf2014 【题目】截止到【题目】截止到2014.2.232014.2.23,亚太互联网络信息中心分配给中,亚太互联网络信息中心分配给中 国大陆的国大陆的IPv4IPv4地址是多少个?地址是多少个? 【解答】通过搜

4、索了解到亚太【解答】通过搜索了解到亚太IPv4IPv4地址分配由地址分配由APNICAPNIC负责,访负责,访 问其官方网站并下载问其官方网站并下载2.232.23日地址段分配文件。日地址段分配文件。 【文件格式文件格式】 apnic|CN|ipv4|1.2.2.0|256|20110331|assignedapnic|CN|ipv4|1.2.2.0|256|20110331|assigned 等级机构等级机构| |获得该获得该IPIP段的国家段的国家/ /组织组织| |资源类型资源类型| |起始起始IP|IPIP|IP段段 长度长度| |分配日期分配日期| |分配状态分配状态 运用脚本过滤出

5、运用脚本过滤出CNCN( (中国大陆中国大陆) )以及以及ipv4ipv4的条目数。的条目数。 WebWeb漏洞与渗透漏洞与渗透(Web)(Web) WebWeb漏洞与渗透主要考察选手在漏洞与渗透主要考察选手在WebWeb渗透方面的技术渗透方面的技术 能力,考察的要素包括但不仅限于以下的内容能力,考察的要素包括但不仅限于以下的内容: 1 1)SQLSQL注入注入 2 2)文件上传漏洞)文件上传漏洞 3 3)端口嗅探)端口嗅探 4 4)服务器提权)服务器提权 5 5)XSSXSS 样题:样题:0ctf 0ctf Only_AdminOnly_Admin 【题目】常规的登录界面,以题目】常规的登录

6、界面,以AdminAdmin用户登录即可用户登录即可 获得获得flagflag。( (数据库是数据库是mysqlmysql) ) 【题解题解】 这道题目考察了这道题目考察了mysqlmysql在做在做insertinsert操作的时候有一操作的时候有一 个截断的问题。如果用户注册一个用户名叫做个截断的问题。如果用户注册一个用户名叫做 Admin Admin a a 这样会替换掉原来的那个这样会替换掉原来的那个AdminAdmin用户,接下来用你用户,接下来用你 自己注册的时候设置的密码登录即可自己注册的时候设置的密码登录即可。 软件逆向软件逆向 (Reverse Engineering)(Re

7、verse Engineering) 这部分内容主要考察参赛队伍对于源代码以这部分内容主要考察参赛队伍对于源代码以 及二进制的分析、理解能力。题目的平台和及二进制的分析、理解能力。题目的平台和 类型包括但不限于以下内容类型包括但不限于以下内容: 1 1)Linux Linux x86 / Linux x86_64x86 / Linux x86_64 2 2) Windows x86 / Windows x86_64) Windows x86 / Windows x86_64 3 3) ARM Linux) ARM Linux 4 4) APK() APK(安卓应用安卓应用) ) 样题:样题:0

8、ctf Waltz0ctf Waltz 【题目】题目提供了一个题目】题目提供了一个EndlessWaltzEndlessWaltz的的apkapk文件下载,通过文件下载,通过 分析从中找到分析从中找到flagflag。 【题解题解】 解压解压apkapk得到得到dexdex,使用,使用dex2jardex2jar将将dexdex文件转化为文件转化为jarjar包,然后包,然后 用用jdjd- -guigui查看此查看此apkapk源代码,在源代码,在ActivityActivity中找到中找到 new new StringBufferStringBuffer( (MainActivity.th

9、is.text_input.getTextMainActivity.this.text_input.getText().().t t oStringoString().replace(N, ().replace(N, C).reverse().C).reverse().toStringtoString().replace(X, ().replace(X, T).replace(Y, T).replace(Y, F).equals(“F).equals(“=0nbvl2czVmcw1WS0CTFMt3cw9GM=0nbvl2czVmcw1WS0CTFMt3cw9GM“)“), 逆推之后再逆推之后

10、再base64base64解码便可以得到明文的解码便可以得到明文的flagflag字符串。字符串。 漏洞利用漏洞利用(Exploit)(Exploit) 这一部分主要考察的是选手对于二进制的漏洞挖这一部分主要考察的是选手对于二进制的漏洞挖 掘与利用的能力。考察的范围包括但不限于以下掘与利用的能力。考察的范围包括但不限于以下 内容内容: 1 1) Buffer Overflow) Buffer Overflow 2 2) Format String) Format String 3 3) ) ShellcodeShellcode编写编写 涉及的平台包括涉及的平台包括3232位和位和6464位的位

11、的LinuxLinux和和WindowsWindows 样题样题:0ctf Login:0ctf Login 【题目】远程溢出服务器题目】远程溢出服务器(Ubuntu Server)(Ubuntu Server)上的一个上的一个 程序,程序,flagflag文件在远程服务器上,要通过溢出获取文件在远程服务器上,要通过溢出获取 shellshell,然后才能获得,然后才能获得flagflag文件文件。 注:这一类题目需要掌握注:这一类题目需要掌握socketsocket的编程,来和远程的编程,来和远程 的服务交互,从而远程溢出获得的服务交互,从而远程溢出获得shellshell。 【题解题解】

12、将提供的二进制扔入将提供的二进制扔入IDAIDA进行分析进行分析: 样题样题:0ctf Login:0ctf Login char *_char *_cdeclcdecl getpathgetpath()() char s; / sp+8h bpchar s; / sp+8h bp- -25Ch1 60425Ch1 604 void *v2; / sp+260h bpvoid *v2; / sp+260h bp- -4h14h1 unsigned unsigned intint v3; / sp+268h bp+4h1v3; / sp+268h bp+4h1 printfprintf(“Inp

13、ut Name Please: “);(“Input Name Please: “); fflushfflush( (stdoutstdout);); gets( /gets( /溢出溢出 v2 = (void *)v3; v2 = (void *)v3; if ( (v3 _exit(1);n“, v2); _exit(1); printfprintf(“Got Name %s(“Got Name %s n“, n“, return return strdupstrdup( ( 样题样题:0ctf Login:0ctf Login 利用利用callcall eaxeax来来bypassbyp

14、ass检查,直接跳转到检查,直接跳转到 shellcodeshellcode开始的地方开始的地方。 . .text:08048A4B call text:08048A4B call eaxeax ; _CTOR_LIST_; _CTOR_LIST_ sock.sendsock.send( (shellcodeshellcode + + x90*(608x90*(608- - len(len(shellcodeshellcode)+)+ x4Bx4B x8Ax8A x04x04 x08+x08+ n)n) 起了起了shellshell之后之后catcat flagflag即可获得即可获得flag

15、flag字符串字符串。 密码学原理及应用密码学原理及应用(Crypto)(Crypto) 这部分内容主要考察参赛队伍对于密码学的理这部分内容主要考察参赛队伍对于密码学的理 论知识以及实际应用的了解程度,其中包括以论知识以及实际应用的了解程度,其中包括以 下内容下内容: 1 1)古典密码学)古典密码学 2 2)现代密码学)现代密码学 3 3)密码学在实际信息安全产业中的应用)密码学在实际信息安全产业中的应用 样题:样题:0ctf 0ctf JohnCodeJohnCode 【题目】提供了一个加密算法题目】提供了一个加密算法JohnCodeJohnCode的源代码,的源代码, 并提供了一个密文,要求明文并提供了一个密文,要求明文( (明文即为明文即为flagflag) )。 密文:密文: eaxRa8RO8gyXLs/5lZO2jUk32bGGN9Do

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号