ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

CTF Wiki:CTF 竞赛内容全景指南——六大经典方向与全国大学生信息安全竞赛考点剖析

CTF Wiki:CTF 竞赛内容全景指南——六大经典方向与全国大学生信息安全竞赛考点剖析 文档网络安全教程【免费下载链接】ctf-wikiCome and join us, we need you!项目地址https://gitcode.com/gh_mirrors/ct/ctf-wiki点击查看免费下载CTFCapture The Flag竞赛的考题范围向来宽泛并无严格统一的考纲但纵观历年国内外赛事题型已稳定收敛为Web 网络攻防、RE 逆向工程、Pwn 二进制漏洞利用、Crypto 密码攻击、Mobile 移动安全与Misc 安全杂项六大方向。本文基于 CTF Wiki 的 竞赛内容 主线逐一对六大方向的题型特点、必备技能与常见解题思路展开讲解并结合仓库内各方向的专题文档给出可继续深入的学习入口同时完整收录《全国大学生信息安全竞赛参赛指南》中的官方考点帮助读者建立从了解 CTF 考什么到知道去哪里学、怎么练的完整认知地图。六大竞赛方向概览由于 CTF 的考题范围其实比较宽广目前也没有太明确的规定界限说会考哪些内容。但是就目前的比赛题型而言主要还是依据常见的Web 网络攻防、RE 逆向工程、Pwn 二进制漏洞利用、Crypto 密码攻击、Mobile 移动安全以及Misc 安全杂项来进行分类。这一分类方式在 CTF Wiki 的导航结构中得到了一一对应仓库 docs/zh/mkdocs.yml 中 Web、Crypto、Reverse、Pwn、AndroidMobile、Misc 各成一章每一章内部又按知识点层层展开构成了一套从入门到进阶的完整知识体系。下面逐一剖析每个方向的内容与学习要点。Web - 网络攻防Web 方向主要介绍 Web 安全中常见的漏洞如 SQL 注入、XSS、CSRF、文件包含、文件上传、代码审计、PHP 弱类型等介绍 Web 安全中常见的题型及解题思路并提供了一些常用的工具。Web 题型在 CTF 中占比很大其特点正如仓库 Web 简介 所述种类繁多、知识点细碎、时效性强能紧跟时下热点漏洞贴近实战。随着 WEB 2.0、社交网络等互联网产品的大量出现基于 Web 环境的攻击与防护对抗也愈发激烈这也是 Web 题经久不衰的根本原因。结合仓库中的专题文档Web 方向的常见考点可归纳为以下几类SQL 注入通过向用户可控参数注入 SQL 语法破坏原有 SQL 结构达成程序编写者意料之外的结果。其成因是程序编写者使用字符串拼接构造 SQL 语句与未对用户可控参数进行足够过滤两个因素叠加。仓库 SQL 注入 一文还整理了user()、database()、version()、concat()、group_concat()、load_file()、select ... into outfile等常用注入参数以及 sqlmap、Burp Suite 等常用工具。XSS 跨站脚本攻击恶意攻击者向 Web 页面插入恶意 HTML 代码用户浏览时嵌入代码即被执行从而达成攻击目的。CSRF 跨站请求伪造使已登录用户在不知情的情况下执行某种动作的攻击。因攻击者看不到伪造请求的响应结果CSRF 主要用于执行动作而非窃取数据。SSRF 服务器端请求伪造由攻击者构造、由服务端发起请求的安全漏洞攻击目标通常是从外网无法访问的内部系统。文件上传与文件包含文件上传若未限制或绕过限制可被利用上传可执行文件、脚本导致服务器沦陷文件包含则分为本地文件包含LFI和远程文件包含RFI可导致恶意代码执行与敏感信息泄露。命令执行当用户可控制system、exec、shell_exec等命令执行函数的参数时即可注入恶意系统命令。代码审计与 PHP 弱类型Web 方向的进阶能力要求阅读源码发现漏洞点。此外Web 简介 还覆盖了点击劫持、条件竞争、XXE、越权、敏感信息泄露、错误的安全配置、请求走私、TLS 投毒、XS-Leaks、WAF、IDS、IPS 等进阶主题可作为该方向的扩展阅读清单。Reverse Engineering - 逆向工程逆向方向主要介绍逆向工程中的常见题型、工具平台、解题思路进阶部分介绍逆向工程中常见的软件保护、反编译、反调试、加壳脱壳技术。软件代码逆向的核心是对软件的结构、流程、算法、代码等进行逆向拆解和分析。仓库 软件逆向工程简介 给出了 CTF 中逆向题的能力要求与常规流程能力要求熟悉操作系统、汇编语言、加解密等相关知识具备丰富的多种高级语言编程经验熟悉多种编译器的编译原理具备较强的程序理解和逆向分析能力。常规逆向流程使用strings、file、binwalk、IDA 等静态分析工具收集信息并根据静态信息进行搜索比对研究程序的保护方法代码混淆、保护壳、反调试等设法破除或绕过保护反汇编目标软件快速定位关键代码进行分析结合动态调试验证猜想在分析过程中理清程序功能针对程序功能编写脚本求解 flag。进阶对抗技术原文档明确提到的内容代码混淆使用 OLLVM、movfuscator、花指令、虚拟化及 SMC 等技术使程序分析变得困难对应的反混淆技术模拟执行、符号执行主要目的是复原控制流。仓库 代码混淆 等文档有专题讲解。保护壳压缩壳大致可分为unpack - execute全量解压再执行、unpack - execute - unpack - execute边解压边执行、unpack - [decoder | encoded code] - decode - execute解码后执行三类脱壳常用单步调试法、ESP 定律等方法。反调试通过检测调试器避免程序被调试分析例如使用IsDebuggerPresent等 API、SEH 异常处理、时间差检测以及覆写调试端口、自调试等方法。在工具层面Reverse Tools 一章覆盖 IDA、Ghidra、Jadx、dnSpy 等静态分析工具以及 GDB、OllyDbg、x64dbg、WinDbg 等动态调试工具。仓库还覆盖了 Z3 约束求解、angr 与 unicorn 模拟执行、迷宫逆向、虚拟机逆向等进阶主题。Pwn - 二进制漏洞利用Pwn 题目主要考察二进制漏洞的发掘和利用需要对计算机操作系统底层有一定的了解。在 CTF 竞赛中PWN 题目主要出现在 Linux 平台上。Pwn 是六大方向中系统性最强、技术纵深最深的一块。仓库中 Pwn 章节的知识树见 docs/zh/mkdocs.yml可以清晰地看到其学习脉络环境搭建现有 CTF Pwn 题主要以 Linux 用户态为主绝大多数远程环境为 Ubuntu。仓库 CTF Pwn 做题环境搭建 推荐通过 Docker 搭建与题目版本匹配的 Ubuntu 环境给出了完整的 Dockerfile 模板本地则需准备 IDA、Python pwntools、gdb pwndbg/peda 三件套。栈溢出Stack Overflow需要理解函数调用栈即后进先出LIFO的数据结构程序栈从进程地址空间的高地址向低地址增长。仓库 栈介绍 特别提醒了 x86 与 x64 的差异x86 下函数参数在函数返回地址的上方x64 下 System V AMD64 ABI 规定前六个整型或指针参数依次保存在 RDI、RSI、RDX、RCX、R8、R9 寄存器中更多参数才压栈。攻击手法从基础 ret2text 一直延伸到 ret2libc、ret2dlresolve、SROP 等高级 ROP 技巧。格式化字符串Format String利用printf等函数格式化参数不可控导致的读写原语。堆利用Heap Exploitation深入 ptmalloc2 的 chunk 结构、fastbin、unsorted bin、large bin、tcache 等机制涉及 UAF、off-by-one、unlink、house of series 等一系列经典利用手法仓库还覆盖了 musl mallocng、IO_FILE 利用、整数溢出、类型混淆、未初始化内存、条件竞争等主题。内核态Kernel Pwn涉及权限提升、信息泄露、DoS 等攻击目标以及 KASLR、SMEP、KPTI 等内核防御机制的绕过是 Pwn 方向的进阶高地。除 Linux 平台外仓库还覆盖 Windows 平台用户态栈溢出、内核基础、macOS、沙箱逃逸Python、shell、seccomp、namespace、chroot、Docker、虚拟化QEMU、VirtualBox、VMware、Parallels与浏览器Chrome V8、Firefox、Safari等拓展方向。Crypto - 密码攻击Crypto 主要包括古典密码学和现代密码学两部分内容古典密码学趣味性强种类繁多现代密码学安全性高对算法理解的要求较高。仓库 密码学简介 将 Crypto 方向的知识体系划分如下古典密码学作为实用性艺术存在编码与破译依赖设计者和敌手的创造力与技巧主要包括单表替换加密Monoalphabetic Cipher多表替换加密Polyalphabetic Cipher各种奇奇怪怪的加密方式值得注意的是古典密码设计者主要考虑消息保密性对完整性和不可否认性考虑较少该方向的趣味性强、脑洞大适合培养对密码学的兴趣仓库 古典密码简介 中有更详细的展开。现代密码学起源于 20 世纪中后期1949 年香农发表《保密系统的通信理论》标志着其开始主要包括对称加密Symmetric Cryptography以 DES、AES、RC4 为代表又分为分组密码Block Cipher如 AES/DES/IDEA/Simon-Speck 及其 ECB/CBC/CFB/OFB/CTR 等模式与序列密码Stream Cipher如 RC4、LFSR/NFSR、LCG。非对称加密Asymmetric Cryptography以 RSA、ElGamal、椭圆曲线加密为代表仓库对 RSA 的各类攻击模数攻击、指数攻击、私钥 d 相关攻击、Coppersmith、PKCS、侧信道等、背包加密、离散对数与格密码都有专门章节。哈希函数Hash Function以 MD5、SHA-1、SHA-512 等为代表仓库覆盖 MD5、SHA1、FNV 及各类哈希攻击。数字签名Digital Signature以 RSA 签名、ElGamal 签名、DSA 签名为代表。密码设计者追求的根本目标是机密性Confidentiality、完整性Integrity、可用性Availability、认证性Authentication与不可否认性Non-repudiation其中前三者即信息安全 CIA 三要素。而对于破解者而言一般需要识别密码算法然后进行暴力破解或利用密码体制的漏洞常见的攻击类型按攻击者能力可分为唯密文攻击、已知明文攻击、选择明文攻击与选择密文攻击四类仓库中以表格形式给出了四类攻击的定义。Mobile - 移动安全Mobile 方向主要介绍安卓逆向中的常用工具和主要问题类型。安卓逆向常常需要一定的安卓开发知识iOS 逆向题目在 CTF 竞赛中较少出现因此不作过多介绍。仓库 Android 逆向基本介绍 明确了 Android 逆向的目的——希望分析出程序的功能并给出了两个分析维度分析方法静态分析对源代码进行逆向后阅读分析与动态分析动态调试通常离不开静态分析的配合分析对象Java 层代码与原生Native层代码。因此掌握基本的 Java 层知识与原生层知识是进行 Android 逆向的前提。Android 逆向在现实中的应用方向包括App 安全审查、系统漏洞挖掘、恶意代码查杀、同行业产品技术原理分析、移除安全机制等。仓库的 Android 章节覆盖了从开发基础Android 基础开发、运行机制Dex/ODEX、Smali、SO 文件到静态/动态逆向分析的完整链路包括 JADX、IDA 等工具的使用与实例分析可作为该方向的进阶学习路径。Misc - 安全杂项Misc 方向以诸葛建伟翻译的《线上幽灵世界头号黑客米特尼克自传》和一些典型 MISC 题为切入点内容主要包括信息搜集、编码分析、取证分析、隐写分析等。Misc 是 Miscellaneous 的前四个字母意为杂项、混合体、大杂烩。仓库 杂项简介 指出在国外的比赛中 Misc 其实又被细分为 Recon、Forensic、Stego、Misc 等小块国内比赛则统一划入 Misc 领域有时古典密码也被划入其中。Misc 考察基本知识对安全技能的各个层面都有所涉及是切入 CTF 竞赛领域、培养兴趣的最佳入口。Misc 方向的主要内容对应仓库中的章节包括信息搜集Recon主要介绍获取信息的渠道和利用百度、谷歌等搜索引擎的技巧如 信息搜集技术 中提及的 Google Hacking、whois、IP 定位等。编码分析EncodeCTF 比赛中常见的编码形式、转换技巧与常见方式通信类、计算机类、现代类编码。数字取证与隐写分析Forensic StegoMisc 中最为重要的一块包括文件分析、隐写、内存镜像分析、流量抓包分析等等涉及巧妙的编码、隐藏数据、层层嵌套的文件、灵活利用搜索引擎等具体又可分为图片分析PNG/JPG/GIF、音频隐写、流量包分析与协议分析Wireshark、HTTP、HTTPS、FTP、DNS、WiFi、USB、压缩包分析ZIP/RAR、磁盘内存分析、Pyc 逆向等。需要区分的是CTF 中的 Misc 与现实取证不同现实取证很少涉及巧妙编码、数据隐藏或脑洞类挑战更多是精心恢复残损文件、挖掘损坏硬盘的蛛丝马迹、从内存镜像中抽取有用信息、从日志与文件系统中找出攻击痕迹并且流量取证更注重元数据分析尤其是 TLS 加密会话。全国大学生信息安全竞赛 - 竞赛内容2016 年全国大学生信息安全竞赛开始举办创新实践技能赛采取的就是传统的 CTF 赛制。在《2016 年全国大学生信息安全竞赛参赛指南》中主办方给出的竞赛内容相对全面值得参考。这份官方考纲与前述六大方向的划分高度呼应可作为衡量自身能力覆盖面的对照清单系统安全。涉及操作系统和 Web 系统安全包括 Web 网站多种语言源代码审计分析特别是 PHP、数据库管理和 SQL 操作、Web 漏洞挖掘和利用如 SQL 注入和 XSS、服务器提权、编写代码补丁并修复网站漏洞等安全技能。软件逆向。涉及 Windows/Linux/Android 平台的多种编程技术要求利用常用工具对源代码及二进制文件进行逆向分析掌握 Android 移动应用 APK 文件的逆向分析掌握加解密、内核编程、算法、反调试和代码混淆技术。漏洞挖掘和利用。掌握 C/C/Python/PHP/Java/Ruby/汇编 等语言挖掘 Windows/Linuxx86/x86_64 平台二进制程序漏洞掌握缓冲区溢出和格式化字符串攻击编写并利用 shellcode。密码学原理及应用。掌握古典密码学和现代密码学分析密码算法和协议计算密钥和进行加解密操作。其他内容。包括信息搜集能力、编程能力、移动安全、云端计算安全、可信计算、自主可控、隐写术和信息隐藏、计算机取证Forensics技术和文件恢复技能计算机网络基础以及对网络流量的分析能力。对照可见系统安全 软件逆向 漏洞挖掘和利用 密码学 其他信息搜集/移动安全/隐写取证/流量分析的官方划分与 CTF 竞赛事实上的 Web / Reverse / Pwn / Crypto / Mobile / Misc 六类题型一一对应——这既是官方视角对 CTF 内容边界的确认也是学习规划的重要依据。如何按图索骥在 CTF Wiki 中系统学习围绕这份竞赛内容地图CTF Wiki 的目录结构见 docs/zh/mkdocs.yml本身就是一条经过组织的学习路径建议按以下思路使用先建立全局认知从 CTF 历史CTF 起源于 1996 年第四届 DEFCON 安全大会、竞赛模式解题模式 Jeopardy、战争分享模式 Belluminar与本文的竞赛内容概览入手理解CTF 考什么、怎么考。再选择主攻方向根据兴趣与基础进入 Web、Reverse、Pwn、Crypto、MobileAndroid、Misc 任一章节顺着目录由基础到进阶逐篇阅读。最后以实战检验结合 CTF 实战经验 与 资源推荐 中的题目资源动手练习将本文梳理的六大方向知识点转化为可落地的解题能力。CTF 的内容边界虽然宽广且没有明确界限但有了这样一张按方向展开的知识地图无论是备赛还是日常学习都能做到有的放矢、循序渐进。赞分享文档网络安全教程【免费下载链接】ctf-wikiCome and join us, we need you!项目地址https://gitcode.com/gh_mirrors/ct/ctf-wiki点击查看免费下载相关推荐ICS CTF 工控安全竞赛实战指南四大考察点分类与典型题目解析ctf-wiki 工控篇ICS CTF 工控安全竞赛实战指南四大考察点分类与典型题目解析ctf wiki 工控篇 本文基于 ctf wiki 工控ICS栏目 https://文档网络安全教程fish-shell安全竞赛CTF与安全研究比赛fish shell安全竞赛CTF与安全研究比赛 引言为什么Shell安全至关重要 在当今数字化时代命令行Shell壳层作为用户与操作系统交互的核心CLI开发工具上一篇Gekko 边界与核心设计解析市场数据、策略接口与订单执行机制下一篇Apache WeexCore 测试体系实战基于 Google Testgoogletest的 C 单元测试框架集成指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表