第六届中国重庆职业技能大赛网络安全项目样题
  • 发布人:
  • 时间:2019-09-30
  • 点击:1110
  • 来源:未知

 

“巴渝工匠杯”第六届中国·重庆

职业技能大赛网络安全项目样题

 

竞赛样题

1.1内容

本竞赛项目建议书由以下文件组成:

巴渝工匠杯”第六届中国·重庆职业技能大赛网络安全项目竞赛样题

1.2简介

竞赛有固定的开始和结束时间,参赛队伍必须决定如何有效的分配时间。 请认真阅读以下指引:

禁止携带任何资料参加比赛;

比赛过程中禁止使用手机;

禁止向任何人透露任何比赛材料或信息;

开始比赛前请认真阅读整个比赛脚本;

赛场无Internet环境,仅允许选手使用组委会提供的赛场和机器环境进行比赛,不得自带U盘、手机、平板、笔记本电脑、电子表、智能手环等具有存储或上网功能的电子设备进入赛场。

注意不同的任务所占整个比赛项目分数的占比,仔细计划每一任务的时间。

1.3任务描述

你作为一名网络安全工程师,被指派去获取对应目标中的flag。你必须在规定的时间内完成要求的任务,并进行充分的测试,确保你获取到的 flag 是正确的。更多信息参见以下具体要求。

2.任务内容

2.1 系统安全加固与渗透运维安全管控

任务一:SQL注入漏洞挖掘与修复

任务环境说明:

l 攻击机:选手自行准备

l 靶机环境:

n 服务器场景:Web Server

n 服务器场景操作系统:Ubuntu Linux 64bit

n 服务器场景安装服务/工具1:Apache2.4;

n 服务器场景安装服务/工具2:Php5;

n 服务器场景安装服务/工具3:MySQL5;

l 任务内容:

(1)靶机中Web服务的登录页面做了访问限制,需要绕过访问限制才能正常访问登录页面,并在登录页面获取FLAG1的值进行提交(Flag形式:flag{xxxxxxxxxxx})(分值:10分)

(2)进入到登录页面以后,需要通过网站存在的SQL注入漏洞获取网站的登录权限,并获取到FLAG2的值进行提交(Flag形式:flag{xxxxxxxxxxx})(分值:30分)

(3)在(2)中获取到网站的登录权限后,会给出FLAG3所在的数据库中表的名称,利用网站存在的SQL注入漏洞获取数据库中的FLAG3的值进行提交(Flag形式:flag{xxxxxx})(分值:50分)

(4)利用前面渗透过程中获取到的权限,在服务器根目录下的flag.txt文件中可以查看到FLAG4的值进行提交(Flag形式:flag{xxxxxx})(分值:60分)

(5)利用前面渗透过程中获取到的权限,对网站根目录下的index.php文件进行漏洞修复,填写该文件中空缺的FLAG5字符串,并将此字符串作为FLAG5的值进行提交(Flag形式:flag{xxxxxx})(分值:40分)

任务二:Web安全漏洞挖掘与修复

任务环境说明:

l 攻击机:选手自行准备

l 靶机环境:

l 服务器场景:Web Server

l 服务器场景操作系统:Ubuntu Linux 64bit

l 服务器场景安装服务/工具1:Apache2.4;

l 服务器场景安装服务/工具2:Php5;

l 服务器场景安装服务/工具3:MySQL5;

l 虚拟机操作系统安装工具1:Apache2.4

l 任务内容:

(1)靶机中搭建了网站服务,选手需要对靶机进行信息收集,获取靶机中泄露的网站源代码,在源代码中获取到FLAG1的值进行提交(Flag形式:flag{xxxxxxxxx})(分值:10分)

(2)对源代码进行分析,获取源代码中存在的漏洞,并利用此漏洞对靶机上的网站服务器进行攻击,获取到靶机服务器根目录下的flag.txt文件中的FLAG2的值进行提交(Flag形式:flag{xxxxxxxxxx})(分值:50分)

(3)利用靶机服务器中存在的系统及配置错误漏洞对靶机进行权限提升,获取到靶机系统管理员权限后,查看管理员家目录下的flag.txt文件中的FLAG3的值进行提交(Flag形式:flag{xxxxxxxxxx})(分值:50分)

(4)利用前面渗透过程中获取到的权限,对网站根目录下的index.php文件进行漏洞修复,填写该文件中空缺的FLAG4字符串,并将此字符串作为FLAG4的值进行提交(Flag形式:flag{xxxxxx})(分值:40分)

任务三:二进制漏洞挖掘与利用

任务环境说明:

l 攻击机:选手自行准备

l 靶机环境:

n 服务器场景:Linux Server

n 服务器场景操作系统:Ubuntu Linux 64bit

n 虚拟机操作系统安装工具1:Apache2.4

l 任务内容:

(1)对靶机进行端口扫描探测,获取靶机开放的端口号,并讲此端口号作为FLAG1的值进行提交(Flag形式:flag{端口号})(分值:10分)

(2)通过nc访问被探测到的端口号,在应用服务的banner信息中获得FLAG2的值进行提交(Flag形式:flag{xxxxxxxx})(分值:20分)

(3)通过浏览器直接访问http://靶机ip/pwn 即可下载到可执行文件pwn,通过攻击机调试工具,对pwn文件进行调试分析,在pwn文件中获得FLAG3的值进行提交(Flag形式:flag{xxxxxxxx})(分值:30分)

(4)根据程序存在的漏洞编写攻击脚本,并利用此攻击脚本对服务器进行攻击验证,获得服务器权限后,在服务器根目录下获取到FLAG4的值进行提交(Flag形式:flag{xxxxxxxx})(分值:60分)

任务四:内网渗透漏洞挖掘与修复

任务环境说明:

l 攻击机:选手自行准备

l 靶机环境:

n DMZ区域

u 某企业OA系统

u 服务器场景:Linux Server

u 服务器场景操作系统:Ubuntu Linux 64bit

u 虚拟机操作系统安装工具1:Apache2.4、PHPMyAdmin

n 办公区域

u 服务器场景:Windows PC

u 服务器场景操作系统:Windows 7 64bit

l 任务内容:

(1)DMZ区域的靶机服务器为某企业的OA系统,通过信息收集获得某个普通账号的账号名称与密码,并将此账号的密码作为Flag1值进行提交。(Flag形式:flag{xxxxxxxxxx})(分值:10分)

(2)使用此普通账号登录OA系统后,在此账号的邮件或日志文件中可以获得Flag2的值,并且可以发现数据库的某个普通账号与对应口令。(Flag形式:flag{xxxxxxxxxx})(分值:10分)

(3)利用此数据库的账号和口令导入到系统中预装的数据库管理工具中,在数据库中获得Flag3的值。(Flag形式:flag{xxxxxxxxxx})(分值:20分)

(4)利用此数据库管理工具存在的漏洞可以获取到服务器权限,然后再服务器根目录下的flag.txt文件中获得Flag4的值(Flag形式:flag{xxxxxxxxxx})(分值:50分)

(5)通过修改数据库值可以任意修改OA系统的账号口令,以此获取OA系统的管理员权限,利用管理员口令登录到OA系统中获取Flag5的值(Flag形式:flag{xxxxxxxxxx})(分值:30分)

(6)步骤(4)中已获得服务器权限,可以以此服务器作为跳板进入到办公区内网中,利用办公PC机中的某个应用存在漏洞,利用此漏洞可以获得系统管理员权限,利用系统管理员权限在桌面上的flag.txt文件中获得Flag6的值(Flag形式:flag{xxxxxxxxxx})(分值:60分)

(7)办公PC桌面的补丁文件中预置了一些此应用软件的多个版本的文件,分析这些文件,将不存在漏洞的版本替换掉原有的应用软件,并且再次进行漏洞利用查看漏洞是否仍存在。对此应用软件不存在漏洞版本进行逆向分析,在源代码中获得Flag7的值进行提交Flag形式:flag{xxxxxxxxxx})(分值:60分)

 

2.2    CTF部分

任务一:Misc杂项

任务清单(图片隐写、数据包分析、取证分析)

注意:请不要攻击攻防竞赛平台。

(1)图片隐写(分值:10)

l 获取Flag

n 找到图片中隐藏的Flag信息

n 通过提取图片中隐藏的压缩包文件,然后对压缩包文本中的密文信息进行解密获取Flag

(2)数据包分析(分值:15)

l 获取Flag

n 在流量中获取键盘输入信息

n 通过分析数据包,数据包流量是键盘的输入信息,通过分析键盘的输入信息获取Flag

(3)取证分析(分值:25)

l 获取Flag

n 从磁盘中恢复被删除掉到文件

n 通过分析磁盘信息,磁盘中的某些文件被删除了,需要恢复这些被删除的文件获得Flag

任务二:Crypto加解密

任务清单(CRC32、异或算法、BabyRSA)

注意:请不要攻击攻防竞赛平台。

(1)CRC32(分值:10)

l 获取Flag

n 对压缩包进行分析,获取里面的信息

n 通过CRC32爆破获得压缩包的密码,并对压缩包中的文件内容进行凯撒解密(非普通凯撒加密)获得Flag

(2)异或算法(分值:15)

l 获取Flag

n 对题目所给的密文进行分析,找到密文采取的加密算法

n 对密文进行Base64解密与异或获得Flag

(3)BabyRSA(分值:25)

l 获取Flag

n 通过分析所给出的公钥,找出公钥中的漏洞

n 通过利用RSA公钥中的漏洞,对给出的密文进行解密

任务三:Reverse逆向分析

任务清单(CRC32、异或算法、BabyRSA)

注意:请不要攻击攻防竞赛平台。

(1)ELFCrack(分值:10)

l 获取Flag

n 通过分析所给二进制文件获得flag。

n 直接对二进制文件进行调试,直接在程序中获得flag

(2)EASYReverse(分值:15)

l 获取Flag

n 通过分析所给二进制文件获得flag,使得输入flag可以通过程序的检测流程

n 通过分析非x86架构的程序指令,逆推加密过程从而解密获取flag

(3)Obfuscator代码混淆

l 获取Flag(分值:25)

n 通过分析所给二进制文件获得flag,使得输入flag可以通过程序的检测流程

n 通过解混淆,理解程序逻辑获取flag

任务四:Web安全

任务清单(信息收集、SQL注入、 反序列化)

注意:请不要破坏题目环境,请不要攻击攻防竞赛平台。

(1)信息收集(10分)

l 获取Flag

n 网站的源代码中隐藏了Flag信息

n 获取源代码,在源代码中获得Flag

(2)SQL注入(分值:25)

l 获取Flag

n 网站存在SQL注入漏洞

n 利用网站存在的SQL注入漏洞,获取数据库中的Flag

(3)反序列化(分值:40)

l 获取Flag

n 网站存在反序列化漏洞

n 利用网站存在的反序列化漏洞,获取数据库中的Flag

任务五:PWN二进制安全

任务清单(变量覆盖、栈溢出、堆溢出)

注意:请不要攻击攻防竞赛平台。

(1)变量覆盖(分值:10)

l 获取Flag

n 通过分析所给出的二进制程序,找到程序中的变量覆盖漏洞

n 通过变量覆盖漏洞获取Flag值

(2)栈溢出(分值:25)

l 获取Flag

n 通过分析所给出的ELF程序,找到程序中的栈漏洞

n 利用栈溢出漏洞,得到服务器的运行权限,取得flag

(3)堆溢出漏洞(分值:40)

l 获取Flag

n 通过分析所给出的ELF程序,找到程序中的堆漏洞

n 利用堆溢出漏洞,得到服务器的运行权限,取得flag

3.1赛项时间

序号

内容模块

竞赛时间

竞赛时长

1

系统安全加固与渗透

运维安全管控

权重70%

13:30-15:30

120分钟

2

CTF部分

权重30%

10:30-11:30

60分钟

备注:大赛分两阶段进行,共计3小时,含赛题发放及收卷时间,由一组选手2人共同完成。

4.1技术平台

4.11软件平台

(1)Windows系统:Windows XP、Windows 7、Windows 10、Windows2003 Server、Windows2008 Server(根据命题确定);

(2)Linux系统:Ubuntu、Debian、CentOS(根据命题确定)。

(3)其他应用软件:

包括但不限于:VMware workstation、Chrome、nmap、nc、BurpSuite、Wireshark、IDA、OllyDebug、Binwalk、Python、Putty、RealVNC、JDK脚本等(具体根据命题确定)

5.1评分方法

5.11.题目评价指标组成

评价指标由:系统安全攻防及运维安全管控评分、CTF评分、安全规范评分。

5.12成绩评判方式

(1)评判流程

第一步:机考评分

第二步:安全规范评分

(2)评判方法

为保证竞赛的公平公正,比赛分数由计算机自动评分,大屏幕直播公开显示。这部分评分需要选手向考评服务器中提交每道题唯一的“KEY”值或者“FLAG”值,系统自动匹配,不需要人工干预。

(3)统分方法

各模块总分相加再减去安全规范分即为选手最终得分,其中安全规范分为扣分制,最后裁判长对总成绩复核,各裁判员最终签字确认本参赛队选手成绩后,确定最终成绩,如果总分相同,以CTF评判成绩高低排序,CTF评判成绩高者靠前。

6.1安全规范

参赛选手应体现团队风貌、团队协作与沟通、组织与管理能力和工作计划能力等,并注意相关文档的准确性与规范性。

竞赛过程中,参赛选手如有不服从裁判判决、扰乱赛场秩序、舞弊等不文明行为,由裁判组按照规定扣减相应分数,情节严重的取消竞赛资格。选手有下列情形,需从比赛成绩中扣分:

违反比赛规定,提前进行操作或比赛终止后仍继续操作的,由现场裁判负责记录并酌情扣1-5分。

在竞赛过程中,违反操作规程,影响其他选手比赛的,未造成设备损坏的参赛队,扣5-10分。

在竞赛过程中,造成设备损坏或影响他人比赛、情节严重的报裁判长批准,终止该参赛队的比赛,竞赛成绩以0分计算。

系统自动启动违规检测,如有如下违规行为,给予扣分:

发现FLAG异常(譬如:删除、修改、杀进程等);

关闭赛卷中要求开启的端口;

自行改动攻防阶段靶机的IP参数;

靶机关闭。

7.1本赛项最终解释权归赛项组委会,现场如有问题由裁判长负责现场解释。