C. 出题者应提交以下内容到投稿系统: 题目名称(建议是一个四字成语)、题目描述、Flag值、题目类型、是否收费、题目附件(如REVERSE题的程序文件)、解题思路(详细的题目设计说明和破解思路)以及备注。提交资料不完整的不予通过!
5、题目规则
(1)PWN题的设计规则 设计一个存在漏洞的程序。 漏洞包括不限于堆栈溢出、UAF、DOUBLE FREE、OFF BY ONE、格式化、逻辑错误等漏洞。 提供稳定的漏洞利用EXP,攻击者根据漏洞攻击成功后能获得flag,flag格式不限,但要求能轻易找到,因为题目设计的目的应当是考查知识点,而不是隐藏flag位置。 为确保题库服务的稳定性,看雪会提供服务器来部署赛题。因此出题者应该另外打包一个压缩文档,写明详细部署方法(如所依赖的操作系统版本),并加入部署所用到的文件。看雪审核后,将会删去部署方法压缩文档。如果你的PWN题依赖的是Ubuntu 16.04,您可以不用提交docker-compose.yml及相关环境,只提交二进制文件即可。如果你的PWN题依赖的是Ubuntu 16.04,您必须提交docker-compose.yml及相关环境。
(2)Windows平台REVERSE题设计规则
Flag规则
A. REVERSE题应有且仅有唯一Flag REVERSE题的Flag只能由ASCII可打印字符构成。不允许将Flag绑定硬件ID。
B. REVERSE题界面 只能包括如下两种情况: B1. REVERSE题界面有且仅有Flag输入框(确认按钮是可有可无的)。 B2. REVERSE题界面有且仅有用户名输入框和Flag输入框(确认按钮是可有可无的)。在这种情况下,出题者必须在题目描述中告知Flag所对应的用户名是什么。
C. REVERSE题输入 C1. REVERSE题在没有被附加调试的情况下运行时,第一次运行时输入正确用户名+Flag,必须显示成功提示信息,若是重启验证的,在重启后必须显示。 C2. 在REVERSE题没有被改动且没有被其他程序干扰的情况下,只要输入了Flag,显示了成功信息,则认为该Flag是正确的,否则设计不合理。
D. REVERSE题输出显示 D1. Flag正确,要出现成功提示信息。 D2. REVERSE题里不允许出现虚假的注册成功提示信息。
算法规则
A. 不鼓励穷举 在当前技术条件下,Flag从理论上讲,是可逆或可求出来的,如果破解者必须通过穷举才能得到Flag的,设计说明里一定要描述清楚,并且将穷举代码和程序上传到投稿系统的解题思路部分。后台审核时,如果穷举时间超过5分钟则不通过。另外,如果REVERSE题的启动时间超过10秒也不通过,需要打回修改。