- 发布人:
- 时间:2019-09-30
- 点击:1019
- 来源:未知
“巴渝工匠杯”第六届中国·重庆
职业技能大赛网络安全项目样题
1 竞赛样题
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
序号 | 内容模块 | 竞赛时间 | 竞赛时长 |
1 | 系统安全加固与渗透 运维安全管控 权重70% | 13:30-15:30 | 120分钟 |
2 | CTF部分 权重30% | 10:30-11:30 | 60分钟 |
备注:大赛分两阶段进行,共计3小时,含赛题发放及收卷时间,由一组选手2人共同完成。
(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评分、安全规范评分。
(1)评判流程
第一步:机考评分
第二步:安全规范评分
(2)评判方法
为保证竞赛的公平公正,比赛分数由计算机自动评分,大屏幕直播公开显示。这部分评分需要选手向考评服务器中提交每道题唯一的“KEY”值或者“FLAG”值,系统自动匹配,不需要人工干预。
(3)统分方法
各模块总分相加再减去安全规范分即为选手最终得分,其中安全规范分为扣分制,最后裁判长对总成绩复核,各裁判员最终签字确认本参赛队选手成绩后,确定最终成绩,如果总分相同,以CTF评判成绩高低排序,CTF评判成绩高者靠前。
参赛选手应体现团队风貌、团队协作与沟通、组织与管理能力和工作计划能力等,并注意相关文档的准确性与规范性。
竞赛过程中,参赛选手如有不服从裁判判决、扰乱赛场秩序、舞弊等不文明行为,由裁判组按照规定扣减相应分数,情节严重的取消竞赛资格。选手有下列情形,需从比赛成绩中扣分:
违反比赛规定,提前进行操作或比赛终止后仍继续操作的,由现场裁判负责记录并酌情扣1-5分。
在竞赛过程中,违反操作规程,影响其他选手比赛的,未造成设备损坏的参赛队,扣5-10分。
在竞赛过程中,造成设备损坏或影响他人比赛、情节严重的报裁判长批准,终止该参赛队的比赛,竞赛成绩以0分计算。
系统自动启动违规检测,如有如下违规行为,给予扣分:
发现FLAG异常(譬如:删除、修改、杀进程等);
关闭赛卷中要求开启的端口;
自行改动攻防阶段靶机的IP参数;
靶机关闭。
7.1本赛项最终解释权归赛项组委会,现场如有问题由裁判长负责现场解释。