Introduction
Author: YoSheep (网络空间安全协会老狗)
Web 安全部分是 CTF 竞赛中最基础、最核心的方向之一。由于现实世界中绝大多数业务都以 Web 系统为主要载体,因此 Web 题在比赛中占比高,对参赛者的渗透测试能力、漏洞理解能力有一定要求。另外,目前许多线下赛 Web 方向的题目也作为主线之一。
🎯 需要掌握的能力
- 基本 Web 安全工具的使用(BurpSuite、nmap、sqlmap、......)
- 常见 Web 漏洞的原理和利用方法
- 能够编写基本脚本来辅助渗透测试和漏洞验证
- Web 应用的源码审计能力,能通过阅读后/前端代码发现逻辑错误或漏洞点
- ... ...
🔍 常见漏洞类型示例
| 漏洞类型 | 简要说明 |
|---|---|
| SQL 注入 | 数据库查询语句攻击者可控,进而能够操控数据库 |
| 跨站脚本(XSS) | 恶意脚本注入,达到执行任意JS代码,进而劫持用户信息等 |
| 文件上传漏洞 | 上传脚本执行 or 通过上传的文件拿到目标服务器权限(getshell) |
| 文件包含漏洞 | 通过 include/require 等函数加载恶意文件 |
| 目录遍历/穿越 | 读取敏感文件等信息泄露 |
| SSRF | 模拟服务器请求,访问内部资源 |
| CSRF | 冒名执行敏感操作 |
| SSTI | 攻击者能够在模板语法中注入表达式或代码 |
| 逻辑漏洞 | 绕过权限、越权访问等 |
| ... ... | ... ... |
🛠 推荐工具 & 环境
建议按需安装,不必一次性装满工具箱,这样可能会导致弄一堆自己都不知道有什么用的东西。
推荐:
- BurpSuite:流量拦截与修改工具,刚需,可用yakit代替
- Python2&3:写脚本用的主要语言。有一些工具需要python2环境,但大多数时候使用python3,因此最好两个版本都装
- Hackbar :浏览器插件,用于临时构造和发送 HTTP 请求(GET/POST),方便调试与测试输入数据。
- dirsearch / 御剑:目录扫描工具,用于 fuzz 和发现隐藏目录/文件
- nmap:端口/服务发现。
- ... ...
📌 为什么选择Web?
-
入门快,正反馈及时
-
与真实渗透测试联系紧密
- CTF中题量大,线下赛刚需
- 未来就业面广
🍵 对于 Web 说点现实的
- 入门虽然快,想要学到上限也很难,知识体量庞大
- 赛道人多,卷,无论在CTF赛场还是就业市场都卷
- 未来就业岗位中,底层岗位较多(运营、安服),上限可能不高
⚖️ 安全合规提醒
所有测试仅可在授权的靶场或得到明确许可的环境中进行。未经授权的测试可能导致法律责任。
🌟 结语
总的来说, Web 是一个能够比较容易上手、就业的方向,但也从来不是随便便学就能变强的方向,也同样需要不断的练习、思考。相比于其他门槛较高的方向,Web 安全由于市场饱和,想要争取到一些研究类的岗位,难度会明显高于其余。
对于选择 Web 的同学,你可能在未来的凌晨,卡在一个 Payload 上,也可能因为一个逻辑点没想到错过一血,但当你真正解出一道题、挖到一个漏洞,总会发现所有的一切都值得。
希望各位师傅不是为了“卷”而学,而是真正感兴趣,寻求突破、成长,在掌握自己的努力。希望此Wiki中Web的内容能为各位推开一点点大门,剩下的部分,欢迎你自己闯~