一种CTF在线竞赛平台动态Flag处理方法及装置制造方法及图纸

技术编号:15690838 阅读:1038 留言:0更新日期:2017-06-24 03:33
本发明专利技术公开了一种CTF在线竞赛平台动态Flag处理方法及装置,该方法包括:在接收到用户访问题目的请求时,生成动态Flag并保存,不同用户访问同一题目以及同一用户访问不同题目时生成的动态Flag均不同;用生成的动态Flag替换原始题目中的信息,生成新的题目返回给用户;在接收到用户提交的Flag时,将其与所保存的Flag进行对比,判断用户提交的是否正确。与现有技术相比,本发明专利技术通可以有效的减少选手交互Flag、获取他人Flag的行为,让选手更加专注于题目本身,放弃从其他非解题途径获得Flag的幻想,并且还能进一步发现选手可能存在的作弊行为,以便于对作弊选手进行警告、屏蔽、放开等操作。

Dynamic Flag processing method and device for CTF online competition platform

The invention discloses a CTF online competition platform for dynamic Flag processing method and device. The method includes: receiving user access to the topic request, generating dynamic Flag and dynamic Flag generation preservation, different users visit the same topic and the same user access to different problems are different; replace the original title information with the dynamic Flag generation, the formation of new subject returns to the user; receiving user submitted Flag, with the saved Flag comparison, determine the user submitted correctly. Compared with the prior art, the invention can effectively reduce the player interaction Flag, others Flag behavior, allowing players to focus more on the topic itself, give up to obtain Flag from other non fantasy and the way of solving problem, but also found that players may exist cheating, warning, cheating players for shielding, release etc. operation.

【技术实现步骤摘要】
一种CTF在线竞赛平台动态Flag处理方法及装置
本专利技术涉及一种CTF在线竞赛平台动态Flag处理方法及装置,属于信息处理

技术介绍
CTF(CaptureTheFlag)中文一般译作夺旗赛,是一种流行的信息安全竞赛形式。其大致流程是,参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。为了方便称呼,我们把这样的内容称之为“Flag”。CTF竞赛模式主要有三类,解题模式,攻防模式和混合模式。一、解题模式(Jeopardy)在解题模式CTF赛制中,参赛队伍可以通过互联网或者现场网络参与,这种模式的CTF竞赛与ACM编程竞赛、信息学奥赛比较类似,以解决网络安全技术挑战题目的分值和时间来排名,通常用于在线选拔赛。题目主要包含逆向、漏洞挖掘与利用、Web渗透、密码、取证、隐写、安全编程等类别。二、攻防模式(Attack-Defense)在攻防模式CTF赛制中,参赛队伍在网络空间互相进行攻击和防守,挖掘网络服务漏洞并攻击对手服务来得分,修补自身服务漏洞进行防御来避免丢分。攻防模式CTF赛制可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负,是一种竞争激烈,具有很强观赏性和高度透明性的网络安全赛制。在这种赛制中,不仅仅是比参赛队员的智力和技术,也比体力(因为比赛一般都会持续48小时及以上),同时也比团队之间的分工配合与合作。三、混合模式(Mix)结合了解题模式与攻防模式的CTF赛制,比如参赛队伍通过解题可以获取一些初始分数,然后通过攻防对抗进行得分增减的零和游戏,最终以得分高低分出胜负。其中解题模式一般为在线竞赛,各种CTF在线竞赛平台应运而生,现有CTF在线竞赛平台采用题目、平台松耦合机制,需求环境的题目需提前部署题目环境,录制题目内容,在比赛中使用CTF在线竞赛平台引导用户访问现有内容和环境进行答题。这种方式主要有个弊端即题目Flag唯一,所有队伍共享题目文本/附件/环境,Flag是唯一的,参赛队伍/人可以通过非解题手段获取他人Flag提交,平台无法判断Flag获取途径,也无法通过Flag区分获取途径。
技术实现思路
专利技术目的:针对现有技术中存在的问题,本专利技术提供一种CTF在线竞赛平台动态Flag处理方法及装置,有效预防参赛选手作弊现象。技术方案:为实现上述专利技术目的,本专利技术采用如下技术方案:一种CTF在线竞赛平台动态Flag处理方法,包括如下步骤:(1)在接收到用户访问题目的请求时,生成动态Flag并保存,不同用户访问同一题目以及同一用户访问不同题目时生成的动态Flag均不同;(2)用步骤(1)生成的动态Flag替换原始题目中的信息,生成新的题目返回给用户;(3)在接收到用户提交的Flag时,将其与所保存的Flag进行对比,判断用户提交的是否正确。所述题目为文本说明类题目时,所述步骤(2)中用动态Flag替换原始题目中的文本,动态生成包含动态Flag的新的题目文本。所述题目为附件下载类题目时,所述步骤(2)中根据动态Flag修改原始题目的内容,生成新的文件并将新文件的下载地址返回给用户;若所述附件下载类题目为编译后的可执行文件,则根据动态Flag修改相应代码文件的内容,重新编译生成新的可执行文件,并将下载地址返回给用户。作为优选,当需下载的文件为多个文件时,将多个文件打包后并将压缩包的下载地址返回给用户。所述题目为在线环境类题目时,所述步骤(2)中通过在环境生成之前将动态Flag写入初始化脚本实现将Flag注入到在线环境中。作为优选,在线环境的初始化脚本中包括Flag注入脚本,步骤(2)中先根据动态Flag修改Flag注入脚本内容,生成新的Flag注入脚本,或将动态Flag作为参数传递给Flag注入脚本,再调用环境部署程序进行在线环境部署,将部署的在线环境访问地址返回给用户。作为优选,所述步骤(1)中动态Flag为随机产生的一定长度的字符串,或者采用对用户信息、题目信息和时间戳进行不可逆加密算法得到的字符串。作为优选,所述步骤(3)中若用户提交的Flag不正确,还判断用户是否作弊,若用户提交的是其他用户的Flag,则认为两个用户之间存在作弊行为。一种基于上述的CTF在线竞赛平台动态Flag处理方法的装置,包括:用户请求与响应模块,动态Flag模块,题目生成模块,以及验证模块;所述用户请求与响应模块,用于接收用户访问题目的请求,并将动态生成的题目返回给用户;所述动态Flag模块,用于生成并保存动态Flag;题目生成模块,用于接收动态Flag模块生成的Flag,并根据接收到的动态Flag动态生成相应的题目;所述验证模块,用于将用户提交的动态Flag与所保存的Flag进行对比,判断用户提交的是否正确和是否作弊。所述题目生成模块包括:文本说明类题目生成单元,用于接收动态Flag,并动态生成包含动态Flag的新的题目文本;附件下载类题目生成单元,用于接收动态Flag,并根据动态Flag修改原始题目的内容,生成新的文件并将新文件的下载地址返回给用户;以及在线环境类题目生成单元,用于接收动态Flag,并通过将动态Flag写入初始化脚本从而实现将Flag注入到在线环境中。有益效果:与现有技术相比,本专利技术通过动态Flag为每个队/个人动态生成不同包含不同Flag的题目,可以有效的减少队员交互Flag、获取他人Flag的行为,让选手更加专注于题目本身,放弃从其他非解题途径获得Flag的幻想,并且还能进一步发现选手可能存在的作弊行为,以便于对作弊选手进行警告、屏蔽、放开等操作。附图说明图1为本专利技术实施例的方法流程图。图2为本专利技术实施例的装置结构示意图。具体实施方式下面结合具体实施例,进一步阐明本专利技术,应理解这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围,在阅读了本专利技术之后,本领域技术人员对本专利技术的各种等价形式的修改均落于本申请所附权利要求所限定的范围。如图1所示,本专利技术实施例公开的一种CTF在线竞赛平台动态Flag处理方法,主要包含动态Flag生成、动态Flag分发以及用户提交Flag动态验证三个关键机制,具体包括如下步骤:步骤(1)、在接收到用户访问题目的请求时,生成动态Flag并保存,不同用户访问同一题目以及同一用户访问不同题目时生成的动态Flag均不同。本步骤中,用户访问题目时,由XCTF实训平台统一生成一个专属于该用户该题目的Flag并保存在数据库中,该动态Flag可以是随机产生的一定长度的字符串,或者根据用户和题目相关信息采用加密算法得到,较为优选的方法是选取用户ID、题目ID和时间戳的组合字符串通过MD5、SHA1等不可逆加密算法得到。平台统一生成动态Flag后将Flag分发给题目。步骤(2)、用步骤(1)生成的动态Flag替换原始题目中的信息,生成新的题目返回给用户。本步骤中,每个具体的题目收到分发的动态Flag后,便将新的Flag注入到原始题目模板中,具体注入方法对于CTF常见的文本说明类、附件下载类、在线环境类不同种类题目类型采取的实现方式稍有区别,具体如下:a.文本说明类题目生成题目进程收到平台分发的Flag后,读取原始题目文本,将新的Flag更新到文本中,动态生成包含动态Flag的文本本文档来自技高网
...
一种CTF在线竞赛平台动态Flag处理方法及装置

【技术保护点】
一种CTF在线竞赛平台动态Flag处理方法,其特征在于,包括如下步骤:(1)在接收到用户访问题目的请求时,生成动态Flag并保存,不同用户访问同一题目以及同一用户访问不同题目时生成的动态Flag均不同;(2)用步骤(1)生成的动态Flag替换原始题目中的信息,生成新的题目返回给用户;(3)在接收到用户提交的Flag时,将其与所保存的Flag进行对比,判断用户提交的是否正确。

【技术特征摘要】
1.一种CTF在线竞赛平台动态Flag处理方法,其特征在于,包括如下步骤:(1)在接收到用户访问题目的请求时,生成动态Flag并保存,不同用户访问同一题目以及同一用户访问不同题目时生成的动态Flag均不同;(2)用步骤(1)生成的动态Flag替换原始题目中的信息,生成新的题目返回给用户;(3)在接收到用户提交的Flag时,将其与所保存的Flag进行对比,判断用户提交的是否正确。2.根据权利要求1所述的一种CTF在线竞赛平台动态Flag处理方法,其特征在于,所述题目为文本说明类题目时,所述步骤(2)中用动态Flag替换原始题目中的文本,动态生成包含动态Flag的新的题目文本。3.根据权利要求1所述的一种CTF在线竞赛平台动态Flag处理方法,其特征在于,所述题目为附件下载类题目时,所述步骤(2)中根据动态Flag修改原始题目的内容,生成新的文件并将新文件的下载地址返回给用户;若所述附件下载类题目为编译后的可执行文件,则根据动态Flag修改相应代码文件的内容,重新编译生成新的可执行文件,并将下载地址返回给用户。4.根据权利要求3所述的一种CTF在线竞赛平台动态Flag处理方法,其特征在于,当需下载的文件为多个文件时,将多个文件打包后并将压缩包的下载地址返回给用户。5.根据权利要求1所述的一种CTF在线竞赛平台动态Flag处理方法,其特征在于,所述题目为在线环境类题目时,所述步骤(2)中通过在环境生成之前将动态Flag写入初始化脚本实现将Flag注入到在线环境中。6.根据权利要求5所述的一种CTF在线竞赛平台动态Flag处理方法,其特征在于,在线环境的初始化脚本中包括Flag注入脚本,步骤(2)中先根据动态Flag修改Flag注入脚本内容,生成新的Flag注入...

【专利技术属性】
技术研发人员:王国伟谢峥高庆官唐海均诸葛建伟王珩王鹏秦卫东
申请(专利权)人:南京赛宁信息技术有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1