Skip to content

Web

CTF 中的 Web 方向通常指的是通过阅读阅读网站源码,或是根据网站已给信息,实现对网站的漏洞利用。

例如,通过输入框输入一些精心设计的内容,可以获取到网站的数据或者服务器权限。

这是由于网站是由前端和后端构成的。前端指的是你看到的、能接触到的内容,而后端则是服务器对你发起的网络请求进行一定的处理等操作。通过构造一些请求从而达到「欺骗」后端的目的,实现对后端服务器的部分控制。

常见的 Web 题型有 SQL 注入、模板注入(SSTI)、PHP 漏洞利用等。

收拾行李

Web 方向需要有较强的代码阅读能力(即便是未接触过的代码,不要求会写,但需能够阅读),以及搜索能力。

以下建议可能能够帮助你提升代码阅读能力,但任何事物都是循序渐进的,你也可以在做题的同时学习和成长。

  • 学习和掌握 Python 语言
  • 在做题中遇到难以读懂的代码时询问搜索引擎或 AI

下面是一些你需要了解的概念或过程,若你此前并不了解,请自行通过搜索引擎或视频网站学习:

  • IP 地址、端口、域名
  • 通过网址访问网页的通信过程
  • Linux 操作系统和其基本使用
  • 终端、命令提示符
  • Web 服务器,常见的 Web 服务器
  • 常见的编程语言,用于 Web 服务器编程的常见编程语言
  • HTTP 报文格式
  • 浏览器 Cookie
  • 正则表达式

此外,你还需要了解开源和熟悉 Github,并最好具备访问全球互联网的能力。

注意事项

Web 安全技术威胁性大,请勿用于攻击和测试境内的目标,未授权的攻击测试行为将承担巨大的法律责任。若您决心踏上这一旅途,请立志成为一名将技术服务于社会和人民的安全从业人员(白帽子)。

出发远航

下面将列举一些常见的考点,以便你在入门的旅途中找到搜索的方向。一些词汇你可能感到陌生,你也并不需要立即掌握它们,但需要你遇到时能学习并铭记在心,这将非常考查你的知识接受能力和自学能力。这里将不会列举相对进阶的知识点。

  • PHP 考点
    • 弱类型比较
    • PHP 伪协议
    • PHP 反序列化
    • PHP 版本引发的
  • MySQL 数据库考点
    • 联合注入
    • 报错注入
    • 布尔注入
    • 延时盲注(时间盲注)
  • 模板注入(SSTI)

常见的利用方式(思路)有:

  • 任意文件读/写
  • 远程代码执行(RCE)
  • 服务端请求伪造(SSRF)
  • 路径穿越