571
社区成员




CTF是在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。
在解题模式CTF赛制中,参赛队伍可以通过互联网或者现场网络参与,这种模式的CTF竞赛与ACM编程竞赛、信息学奥赛比较类似,以解决网络安全技术挑战题目的分值和时间来排名,通常用于在线选拔赛。题目主要包含逆向、漏洞挖掘与利用、Web渗透、密码、取证、隐写、安全编程等类别。
在攻防模式CTF赛制中,参赛队伍在网络空间互相进行攻击和防守,挖掘网络服务漏洞并攻击对手服务来得分,修补自身服务漏洞进行防御来避免丢分。攻防模式CTF赛制可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负,是一种竞争激烈,具有很强观赏性和高度透明性的网络安全赛制。在这种赛制中,不仅仅是比参赛队员的智力和技术,也比体力(因为比赛一般都会持续48小时及以上),同时也比团队之间的分工配合与合作。
用例名称 | 用户注册 |
---|---|
执行者 | 未注册用户 |
基本事件流 | 1.登录平台首页 |
2.跳转至注册页面 | |
3.选择注册模式:手机注册/邮箱注册 | |
4.填写验证码,填写相关注册信息 | |
5.注册成功,跳转至首页 | |
异常事件流 | 填写信息有误,提示错误 |
用例名称 | 用户登录 |
---|---|
执行者 | 已注册用户 |
基本事件流 | 1.登录平台首页 |
2.填写登录密码/手机验证码 | |
3.注册成功,跳转至首页 | |
异常事件流 | 填写信息有误,提示错误 |
用例名称 | 部署靶场(以dedecms为例子) |
---|---|
执行者 | 管理员 |
基本事件流 | 1.从pull下来一个集成环境然后启动并挂载到宿主机的一个数据卷上 |
2.正常安装,配置数据库 | |
3.kill掉该docker并rm掉,FTP连接到宿主机 | |
4.找到安装好dedecms的目录 | |
5.在目录下创建一个新的文件夹并把dedecms的所有文件放到文件夹内 | |
6.编辑Dockerfile文件 | |
7.配置Flag项 | |
8.打包成镜像 |
用例名称 | 获取flag |
---|---|
执行者 | 用户 |
基本事件流 | 1.选择题目 |
2.打开题目拉取环境 | |
3.解题获取flag | |
4.提交flag | |
5.解题成功,积分增加 | |
异常事件流 | 填写flag有误,提示错误 |
用例名称 | 加入战队 |
---|---|
执行者 | 用户 |
基本事件流 | 1.进入战队版块 |
2.搜索战队信息 | |
3.申请加入战队 | |
4.若队长同意,则加入战队,否则加入失败 | |
异常事件流 | 搜索战队信息错误 |
用例名称 | 组队比赛 |
---|---|
执行者 | 用户 |
基本事件流 | 1.进入竞赛版块 |
2.选择竞赛 | |
3.若该竞赛截止时间未过则等待竞赛开始 | |
4.若竞赛开始则开始答题 | |
5.竞赛结束显示竞赛结果及排行信息 | |
异常事件流 | 搜索竞赛已经截止 |
属性名 | 类型 | 描述 |
---|---|---|
user_id | integer | 用户编号 |
username | varchar | 用户名 |
password | varchar | 密码 |
varchar | 邮箱 | |
telephone | varchar | 手机号 |
user_points | integer | 用户积分 |
solved_problems | integer | 解题数 |
user_images | varchar | 用户头像 |
team_id | integer | 队伍编号 |
属性名 | 类型 | 描述 |
---|---|---|
problem_id | integer | 题目编号 |
problem_titile | varchar | 题目标题 |
difficulty | integer | 难度系数 |
problem_description | varchar | 题目描述 |
problem_scene | varchar | 题目场景 |
problem_appendix | varchar | 题目附件 |
problem_answer | varchar | 题目答案 |
problem_points | integer | 题目积分 |
problem_type_id | integer | 题目类型编号 |
属性名 | 类型 | 描述 |
---|---|---|
contest_id | integer | 竞赛编号 |
contest_title | varchar | 竞赛主题 |
sponsor | varchar | 主办方 |
start_time | time | 竞赛开始时间 |
end_time | time | 竞赛结束时间 |
contest_introduction | varchar | 竞赛介绍 |
team_nums | integer | 参赛队伍数 |
属性名 | 类型 | 描述 |
---|---|---|
team_id | integer | 队伍编号 |
team_name | varchar | 战队名称 |
team_name | integer | 队长id |
team_nums | integer | 战队人数 |
team_points | integer | 战队积分 |
team_create_time | time | 战队创建时间 |
注册界面使用了单例模式,点击注册按钮时,无论如何,都只能打开一个注册界面。如果不使用单例模式对注册窗口对象进行唯一化,则将弹出多个窗口且这些窗口显示的内容完全一致,浪费内存资源。
在日志记录中运用到了工厂模式,该记录器可以通过多种途径保存系统的运行日志,如通过文件记录或数据库记录。
在用户、题目、队伍的管理中运用到了MVC模式。
以用户User为例,创建一个作为模型的User的对象,UserView是一个把用户详细信息输出到控制台的视图类,UserController是负责存储数据到User对象的中的控制器类,并相应的更新UserView。
作者:457