当前位置:首页 > 百科

网络安全ctf

凌晨两点,网络屏幕右下角弹出一道flag提交框,安全我盯着那串像乱码一样的网络字符串,手心全是安全汗。那是网络第一次打CTF,线上赛,安全题目叫“签到题”,网络结果我卡了四个小时。安全后来才知道,网络那题只是安全把flag藏在了网页源码的注释里。气笑了,网络但也从此掉进这个坑。安全

CTF,网络Capture The 安全Flag,中文叫夺旗赛。网络本质就是一群人对着电脑找隐藏信息,只不过这些信息被故意塞进了程序漏洞、加密算法、网络流量或者杂七杂八的奇怪文件里。比赛形式分三种:解题模式、攻防模式、混合模式。解题模式最常见,给你一道题,可能是逆向一个二进制文件,可能是分析一段被截获的WiFi数据包,也可能是从一张图片里提取出隐藏的压缩包。攻防模式就刺激了,每队守一台服务器,同时攻击别人的。你修漏洞的速度得比对手利用漏洞的速度快,不然flag被人拿走,分数刷刷往下掉。

很多人以为CTF就是黑客比赛,其实不太一样。黑客攻击真实系统,CTF打的是专门搭建的靶场。靶场里那些漏洞是故意留的,比如一个Web题,可能就一个简单的SQL注入,但出题人会加各种过滤,逼你用盲注、用时间延迟、用堆叠查询。你得像剥洋葱一样一层层绕过去。我见过一道题,过滤了所有空格和注释符,最后用Tab键和换行符拼出了payload。那一刻真觉得出题人是个变态,但提交flag的时候又觉得他挺可爱。

CTF的题目类型大概分五类:Web、逆向、密码学、杂项、Pwn。Web就是搞网站漏洞,SQL注入、XSS、文件包含、反序列化。逆向是把编译好的程序反汇编,找出验证flag的逻辑。密码学不光是解RSA,还有各种古典密码、哈希碰撞、椭圆曲线。杂项最杂,隐写术、流量分析、电子取证,甚至给你一个坏了的U盘镜像让你恢复文件。Pwn是二进制漏洞利用,栈溢出、堆溢出、格式化字符串,难度最高,也最考验底层功底。

打CTF的人,学生居多。大学里有战队,像清华的Blue-Lotus、上交的0ops,都是国际赛拿过名次的。但也有很多像我这样的野路子,自己看writeup,自己搭环境,半夜爬起来打国外比赛。有一次打DEF CON CTF资格赛,连续48小时,我们队五个人轮班,最后排名三百多。没进决赛,但那种一起熬夜、一起骂出题人、一起在语音里喊“我出了”的感觉,比拿奖还爽。

工具当然要用。Burp Suite抓包改包,IDA Pro反汇编,pwntools写exploit,Wireshark看流量。但工具只是工具,核心还是思路。我见过有人用Excel解出了密码学题,也见过有人靠猜出题人心理直接绕过逆向。CTF考的不是你背了多少工具命令,而是你怎么把零散的信息拼成一条通往flag的路。

说点实在的。如果你想入门,别一上来就啃Pwn。先从杂项和Web开始,去CTFtime.org找往期比赛题目,或者去攻防世界、BUUCTF这些平台刷题。遇到不会的就看writeup,看懂了再自己复现一遍。别怕抄,抄多了自然就会了。我刚开始连Linux命令都不熟,现在至少能自己写脚本批量跑字典了。

最后说个真事。有一次线下赛,旁边坐了个初中生,打逆向比我快。我问他怎么学的,他说他爸是程序员,家里有个旧服务器,他从小就在上面瞎折腾。那一刻我明白,CTF这东西,跟年龄、学历、专业都没关系。你愿意花时间,愿意跟一堆二进制和乱码死磕,你就能玩下去。flag就在那里,找不找得到,看你肯不肯熬。

分享到: