【Recon】CTF Web类题目主要类型

发布于:2025-03-10 ⋅ 阅读:(10) ⋅ 点赞:(0)


CTF(Capture The Flag)竞赛中的Web类题目主要考察参赛者对Web应用漏洞的识别与利用能力,涵盖多种漏洞类型和攻击手法。以下是常见的Web题目类型及对应的漏洞考点:


1. 信息搜集类

  • 敏感目录泄露:通过探测.git.svn等目录或备份文件(如vim.swp文件)获取源码或敏感信息。
  • 常规文件分析:查看robots.txtreadme.md等文件,获取CMS版本或隐藏路径。
  • Banner识别:通过服务器响应头识别Web框架(如ThinkPHP),利用已知历史漏洞解题。

2. 注入类漏洞

  • SQL注入:包括数字型、字符型、布尔盲注、报错注入等,常用工具如SQLmap,或手动构造Payload(如' OR '1'='1)绕过登录验证。
  • 命令注入:利用系统命令执行函数(如systemexec),通过分号、管道符等拼接命令(如ls; cat flag),需绕过空格过滤(如${IFS}%09)。
  • XXE(XML外部实体注入):通过恶意XML读取服务器文件(如/etc/passwd)。

3. 文件处理漏洞

  • 文件上传漏洞:绕过黑名单(如.php改为.php5)、利用MIME类型欺骗或竞争条件上传WebShell。
  • 文件包含漏洞:本地文件包含(LFI)或远程文件包含(RFI),利用伪协议(如php://filter)读取源码或执行代码。
  • 任意文件读取:直接访问敏感文件(如/etc/passwd.env)。

4. 身份验证与会话漏洞

  • 弱密码与未授权访问:尝试常见弱密码(如admin:123456)或直接访问未鉴权的管理页面。
  • Cookie篡改与会话劫持:修改Cookie中的用户角色(如admin=1)或通过XSS窃取会话Token。
  • JWT漏洞:利用弱密钥或算法(如None)伪造Token。

5. 服务端漏洞

  • SSRF(服务端请求伪造):构造恶意URL访问内网服务(如http://127.0.0.1:8080)。
  • 反序列化漏洞:PHP或Java反序列化链利用,需绕过__wakeup方法(如修改对象属性数量)。
  • 代码执行漏洞:通过危险函数(如eval)执行任意代码,或利用框架漏洞(如ThinkPHP的RCE)。

6. 客户端漏洞

  • XSS(跨站脚本):反射型(Payload通过URL传递)或存储型(恶意脚本存储于数据库),常用Payload如<script>alert(1)</script>
  • CSRF(跨站请求伪造):构造恶意页面诱使用户触发敏感操作(如修改密码)。
  • CORS配置错误:利用跨域请求窃取用户数据。

7. 代码审计与PHP特性

  • 弱类型比较:利用==的松散比较(如0e123456 == 0)绕过MD5校验。
  • 正则绕过:通过%00截断、数组参数(如a[]=1)或特殊字符绕过正则过滤。
  • 无字母数字WebShell:使用异或、取反等操作构造Payload(如$_=~%9A%89%9E%93;)。

8. 业务逻辑漏洞

  • 越权操作:通过修改参数(如订单ID)访问他人数据。
  • 支付逻辑漏洞:利用负数价格、重复支付等绕过校验。
  • 竞态条件:并发请求导致资源分配异常(如积分重复兑换)。

总结

CTF Web题目的核心是识别漏洞并构造利用链,需熟悉常见漏洞原理及绕过技巧,并结合工具(如Burp Suite、SQLmap)提升效率。部分题目会结合多种漏洞类型,需灵活运用综合知识解题。