Background
看一些师傅们总困扰不知道怎么出一道比较好的CTF题目 给一些比较重要的比赛或者是学校的新生赛,我本身出题经历还算丰富 我这里给出一些我平常的思路和建议
我对好题目的定义 能学到新思路/涨知识/不被恶心到。
中策-新瓶装旧酒
如题,但我不觉得他是一个贬义词,比如你知道pickle反序列化漏洞这个考点,但是如果直接就放在比赛上,因为点实在是太过明显,可能难度不够,或者是没有很好的考察选手对题目的理解,那你也可以进行一些cms审计,发现某些cms中的漏洞然后放在比赛中,这个难度就会稍微提高不少。我举个例子,可能python的cms并不多,你就可以考察入手一些机器学习常用的库比如numpy,pandas numpy 的 load 函数中判断如果 allow_pickle 为 True,则调用 pickle.load 函数,在 pandas.read_pickle() 函数中,也会走 pickle.load()。这种很适合出在新生赛让新师傅们好好学习分析,那么我推荐一个我学弟出的比较不错的题目叫bottle poem 可以去体会他出题的思路。
上策-旧瓶装新酒
那这个就是比较常见的目前各大比赛的出题思路,也就是更有意思点的东西,比如MSSQL在某个版本新特性的一种绕过方式,又或者是Twig模板高版本可能导致的SSTI,这种通常需要出题人有一些储备,他看过和具体分析过源码和漏洞来找到的姿势,我举一个例子 就以twig模板为例子,你随便百度
{{["id"]|map("system")|join(",")
{{["id", 0]|sort("system")|join(",")}}
{{["id"]|filter("system")|join(",")}}
{{[0, 0]|reduce("system", "id")|join(",")}}
{{{"<?php phpinfo();":"/var/www/html/shell.php"}|map("file_put_contents")}}
能找到一堆这种poc,师傅们基本都知道原理 比如map sort filter reduce 基本都是过了php的array_map array_sort..
然后会造成一个回调函数,所以能调用system函数来执行rce,那么好了 我现在就ban掉这些你该怎么办呢?
我们以一个做题人的视角
1.可能你的过滤方法有问题
2.文档里可能有新的特性
3.源码里有新的操作的函数
那么我们回到出题人的视角,做到避免1 然后2和3自己去进行分析查找,如果你觉得这个点太简单了,那么继续串一下模板的语言特性,进行一些字符串的处理啊,来丰富你的黑名单。就会出一个不错的绕过题目。除了这个以外,还有一个常见的点就是缩短长度,缩短长度这种的一般来说适合可玩性高的题目,换句话就是如果你把缩短长度作为一个考点了 那跟你预期以外的解就多了,所以需要你好好斟酌
中策-小套不算套
不知道什么时候开始,套娃这个词越来越多被提及,但是其实简单的串联,我并不觉得是一个套娃类的题目 比如SQL to RCE sql注入出后台密码 后台能RCE,这个场景在实战中是经常可见的,你觉得算套娃吗?今年r3ctf中我贡献了一道php相关的题目叫r3php 考察了小皮面板的一个CVE(sql to rce)但我觉得题目本身如果这样的话难度不是特别高,我就研究了小皮面板的发包的思路,套了一层,给了一个可控头的ssrf,在进行攻击对话时需要注入一个新的头才能使发包格式正确,我不觉得他算一个套娃,也是一个蛮有意思的题目,反而是没有其他难度的一味堆叠内网之类的题目,才算是套娃。
下策-外国的月亮也能看
你不可否认的是国外的题目是能给你一些新的场景和思路的,但是抄是没必要的,你可以把他的思路学会,然后放在你合适的场景里,比如他的思路是他自己写了个解析url的系统,但是有点问题,可以绕过/目录穿越/等读取flag,那么你参考他的思路可以自己用其他语言写一个类似的,接下来可以进行一些分析进行我们上面说的一些整理,能帮你快速出题应付一些紧急任务,那么我觉得这种CTF题不一定是坏题,在能学到知识的前提,对各种语言的代码也比较熟络,那当然这个也算是下策
上上策-体会安全研究的乐趣
这种题目一般都是储备,比如可以在博客中找我关于express tricks的一个分析,就是基于我对express框架源码感兴趣然后发现的一些潜在的漏洞利用方式,那当然题目我并没有参与,但是他被当作题目出来了,也是一个蛮有意思的思路 那包括国外有很多某个chrome的trick 用来出xsleak等等等等 这都是安全研究的乐趣了,这个严格意义上来说并不是为了出题了,可能与本文有点不相关,只是笔者的一个看法。
Summary
行文可能没有很强的逻辑感,随便洋洋洒洒写了写,只希望给大家增加点出题的思路 希望大家enjoy CTF
a
新车上路,只带前10个人coinsrore.com
新车即将上线 真正的项目,期待你的参与
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com