0CTF常用参数详解:打比赛不得不知道的那些“套路”!
嘿,大家好呀!今天咱们来聊聊一个让很多CTF选手又爱又恨的话题——0CTF常用参数,说真的,每次打0CTF的时候,我都有种“我到底会不会做题”的自我怀疑,哈哈哈!但后来慢慢摸索出来一些门道,尤其是那些高频出现的参数,搞懂了之后真的能省下不少时间,所以今天这篇文章,我就把自己踩过的坑和总结的经验,一股脑儿分享给你们!

为啥要专门聊0CTF常用参数?
先说说背景吧,0CTF(0ops CTF)作为国内顶尖的CTF赛事之一,题目质量那是真的高,但难度也是真的“劝退”,尤其是Web方向,出题人特别喜欢在参数上做文章,你要是不知道那些0CTF常用参数的套路,可能连题目在考啥都摸不着头脑。
我自己第一次打0CTF的时候,看到一堆莫名其妙的参数名,整个人都是懵的,后来打多了才发现,哦——原来这些参数都是有“传承”的!很多题目会复用相似的参数结构,掌握了这些0CTF常用参数,你就能快速判断出题人的意图。
那些年我们遇到过的0CTF常用参数
?url= 和 ?file= —— 文件包含与SSRF的重灾区
哎呀,这两个参数简直是0CTF的“常客”了!每次看到?url=,我第一反应就是:是不是要考SSRF?是不是要打内网?而?file=一出现,大概率就是文件包含或者任意文件读取。
比如有一道经典题,给了个?file=index.php,你以为只是普通包含?不不不,出题人早就把php://filter给你安排上了,这时候你要是不知道php://filter/convert.base64-encode/resource=index.php这种玩法,那就只能干瞪眼了。
?cmd= 和 ?exec= —— 命令执行的老朋友
说实话,看到?cmd=的时候,我内心是既兴奋又紧张,兴奋是因为命令执行往往能直接拿flag,紧张是因为——八成有过滤!0CTF的出题人特别喜欢在命令执行上加各种waf,什么空格过滤、关键字过滤、长度限制……这时候0CTF常用参数的变形技巧就派上用场了。
比如用$IFS代替空格,用base64编码绕过关键字检测,或者用反引号、嵌套执行,这些骚操作,打0CTF的时候真的是必备技能!
?id= 和 ?page= —— SQL注入与文件读取的伪装
?id=这个参数,但凡打过CTF的人都不陌生吧?SQL注入的经典入口,但在0CTF里,出题人可不会让你这么轻松就注进去,什么union select被过滤了,information_schema被禁了,甚至逗号都不能用……这时候你就得想别的办法,比如用join代替union,用innodb_table_stats代替information_schema。
至于?page=,有时候是文件包含,有时候是SQL注入的变种,还有时候是逻辑漏洞,反正看到这个参数,多留个心眼就对了!
?debug= 和 ?test= —— 隐藏的后门参数
这两个参数,嘿,真的是“彩蛋”级别的存在!很多0CTF题目里,出题人会偷偷留一个?debug=1或者?test=1,开启之后就能看到源码、报错信息或者调试接口,你要是不懂这些0CTF常用参数,可能永远都发现不了这个隐藏入口。
我记得有一次,一道题卡了好久,最后发现加个?debug=1就能看到phpinfo,里面直接泄露了flag路径……当时那个心情啊,又气又笑!
怎么快速掌握0CTF常用参数?
说实话,光看文章是记不住的,我的建议是:
- 多打比赛:尤其是0CTF的历年真题,做多了自然就有感觉了。
- 整理自己的参数字典:把常见的参数名和对应的漏洞类型记下来,比如
url=SSRF、file=LFI、cmd=RCE。 - 学会看源码:很多题目会给源码,源码里往往藏着参数的处理逻辑,看懂源码,你就知道哪些参数是“危险”的。
- 关注社区Writeup:看看别人是怎么利用这些0CTF常用参数的,学到的技巧都是自己的!
最后的碎碎念
好啦,今天关于0CTF常用参数的分享就到这里了,其实说到底,CTF比赛考的就是一个“经验+思路”,参数只是表象,背后的漏洞原理才是核心,希望这篇文章能帮到正在打0CTF或者准备打0CTF的你!
如果你也有什么好玩的参数技巧,欢迎在评论区留言交流呀!咱们一起进步,一起拿flag!冲鸭!🚀
PS:记得多练多打,光看是没用的哦!下次0CTF见!