Web逆向零基础学习计划
🎯 学习目标
从零基础开始,系统学习 Web 逆向工程的核心知识,掌握 Web 应用的逆向分析技能,能够分析和还原加密算法、理解混淆代码、突破反爬虫机制。
📚 知识体系总览
Web逆向工程
├── 计算机基础
│ ├── 操作系统基础
│ ├── 计算机体系结构
│ └── 数据表示与编码
├── 网络基础
│ ├── HTTP/HTTPS协议
│ ├── TCP/IP协议栈
│ └── 网络请求分析
├── 前端基础
│ ├── HTML/CSS/JavaScript
│ ├── 浏览器工作原理
│ └── DOM/BOM操作
├── 加密与安全
│ ├── 对称加密算法
│ ├── 非对称加密算法
│ ├── 哈希算法
│ └── 编码技术
├── 逆向技术
│ ├── JavaScript混淆与还原
│ ├── WebAssembly分析
│ ├── 调试与Hook技术
│ └── 协议分析与还原
└── 实战技能
├── 工具使用
├── 靶场练习
└── 项目实践📅 学习阶段规划
第一阶段:基础入门(1-2 个月)
目标:建立完整的知识框架,掌握基础概念
第 1-2 周:计算机与网络基础
计算机基础
操作系统基础(Windows/Linux 基本操作)
二进制、八进制、十六进制转换
字符编码(ASCII、Unicode、UTF-8)
网络基础
TCP/IP 协议栈理解
HTTP 协议深度学习
请求方法(GET、POST、PUT、DELETE 等)
请求头 / 响应头分析
状态码含义
Cookie、Session、JWT 认证
学习资源:
《HTTP 权威指南》
MDN Web 文档:HTTP 协议部分
W3Schools:HTML/CSS/JavaScript 基础
第 3-4 周:前端基础
HTML 基础
标签结构
表单元素
常用属性
CSS 基础
选择器
盒模型
布局基础
JavaScript 核心
变量、数据类型、运算符
函数、闭包、原型链
异步编程(回调、Promise、async/await)
DOM 操作
浏览器对象模型(BOM)
实践任务:
搭建个人静态网站
实现简单的表单验证
编写异步请求代码
第二阶段:安全与加密(1-2 个月)
目标:掌握加密算法原理,理解安全机制
第 1-2 周:加密算法基础
对称加密
AES 算法原理
DES 算法原理
加密模式(ECB、CBC、CFB、OFB)
非对称加密
RSA 算法原理
密钥对生成
加密 / 解密流程
哈希算法
MD5、SHA1、SHA256
HMAC 算法
应用场景(密码存储、数据完整性校验)
编码技术
Base64 编码
URL 编码
Unicode 编码
学习资源:
《密码学与网络安全》
CryptoJS 官方文档
各种加密算法的在线演示工具
第 3-4 周:Web 安全基础
常见 Web 漏洞
SQL 注入原理与防御
XSS 攻击类型与防护
CSRF 攻击原理
命令注入
安全机制
同源策略
CORS 跨域资源共享
内容安全策略(CSP)
HTTPS 与 SSL/TLS
实践任务:
实现各种加密算法的 JavaScript 版本
分析网站的认证机制
学习使用浏览器开发者工具
第三阶段:逆向技术核心(2-3 个月)
目标:掌握 Web 逆向的核心技术和工具
第 1-2 周:工具掌握
浏览器开发者工具
Elements 面板:DOM 分析
Console 面板:代码执行
Sources 面板:断点调试
Network 面板:抓包分析
Application 面板:存储分析
抓包工具
Fiddler 使用
Charles 使用
Burp Suite 基础
调试工具
Chrome DevTools 高级调试
VS Code 调试配置
实践任务:
使用抓包工具分析网站请求
调试并修改网页 JavaScript 代码
分析网站的 API 接口
第 3-6 周:JavaScript 逆向
代码混淆技术
变量名混淆
控制流平坦化
字符串加密
死代码插入
反混淆技术
代码格式化
变量名还原
控制流分析
字符串解密
AST 抽象语法树
AST 结构理解
使用工具(Esprima、Acorn)解析 JS 代码
基于 AST 的代码转换
实践任务:
分析并还原简单的混淆代码
编写反混淆脚本
实现基于 AST 的代码优化
第 7-8 周:WebAssembly 逆向
WASM 基础
WebAssembly 概念
二进制格式理解
与 JavaScript 交互
WASM 逆向工具
WABT 工具链
wasm2c、wasm2wat
IDA Pro 分析 WASM
实战分析
识别 WASM 模块
分析导出函数
还原算法逻辑
第四阶段:实战提升(2-3 个月)
目标:通过靶场练习和项目实践提升技能
第 1-4 周:靶场练习
推荐靶场:
基础类靶场
DVWA:综合 Web 漏洞练习
练习重点:SQL 注入、XSS、CSRF、文件上传
SQLi-Labs:专注 SQL 注入
练习重点:各种 SQL 注入场景
Upload-Labs:文件上传漏洞
练习重点:文件上传绕过技术
XSS-Labs:跨站脚本攻击
- 练习重点:各种 XSS 场景和绕过
进阶靶场
Pikachu:综合漏洞练习平台
WebGoat:OWASP 官方靶场
Hack The Box:在线实战平台
Try Hack Me:初学者友好的在线平台
练习方法:
分析网站功能和交互流程
抓包分析请求参数
定位关键 JavaScript 代码
断点调试分析算法
用 Python 重写关键逻辑
第 5-8 周:项目实践
项目 1:爬虫逆向实战
选择目标网站(如电商、社交媒体)
分析请求参数加密
还原签名算法
编写爬虫程序
项目 2:验证码识别
分析验证码生成逻辑
识别验证码类型(数字、字母、滑块、点选)
实现自动化识别
项目 3:反爬虫突破
分析反爬虫机制
突破浏览器指纹识别
处理验证码和人机验证
第五阶段:高级进阶(2-3 个月)
目标:掌握复杂逆向技术,解决实际问题
第 1-2 周:高级 Hook 技术
Frida 框架
安装与配置
JavaScript API 使用
函数 Hook
参数修改
浏览器扩展开发
Chrome 扩展开发
脚本注入
网络请求拦截
第 3-4 周:协议分析与还原
WebSocket 协议
握手过程
数据帧格式
逆向分析
Protobuf 协议
协议结构
二进制格式
逆向还原
自定义协议
数据包分析
协议字段识别
编解码逻辑还原
第 5-8 周:综合项目
复杂网站逆向
多参数加密分析
动态签名生成
会话保持机制
APP 逆向联动
移动端 WebView 分析
数据传输加密
跨平台逆向
🛠️ 必备工具清单
浏览器工具
Chrome DevTools:前端调试核心工具
Firefox Developer Tools:备选调试工具
浏览器扩展
Vue DevTools
React Developer Tools
JSON Viewer
ModHeader
抓包工具
Fiddler:Windows 平台抓包工具
Charles:跨平台抓包工具
Burp Suite:专业渗透测试工具
mitmproxy:命令行抓包工具
逆向工具
IDA Pro:专业逆向分析工具
Ghidra:开源逆向工具
JADX:Java 反编译工具
Frida:动态插桩工具
Radare2:开源逆向框架
开发工具
Visual Studio Code:代码编辑器
Node.js:JavaScript 运行环境
Python:脚本编写语言
Git:版本控制工具
📚 推荐学习资源
书籍资源
《Web 前端黑客技术揭秘》
《HTTP 权威指南》
《JavaScript 高级程序设计》
《密码学与网络安全》
《逆向工程权威指南》
在线资源
MDN Web 文档:https://developer.mozilla.org/
OWASP Web 安全测试指南:https://owasp.org/www-project-web-security-testing-guide/
FreeCodeCamp:https://www.freecodecamp.org/
TryHackMe:https://tryhackme.com/
Hack The Box:https://www.hackthebox.com/
视频资源
B 站:Web 逆向相关教程
YouTube:LiveOverflow 频道
极客时间:Web 安全相关课程
社区资源
FreeBuf:https://www.freebuf.com/
⚠️ 重要提醒
法律与伦理
必须遵守法律法规,仅在授权环境下进行测试
禁止对未授权系统进行逆向分析
尊重他人知识产权和隐私
遵守《网络安全法》等相关法律法规
学习建议
理论与实践结合,多动手练习
从简单到复杂,循序渐进
建立知识体系,不要孤立学习
加入技术社区,与同行交流
关注技术发展,持续学习新技能
🎯 技能评估标准
初级水平(3 个月)
理解 HTTP 协议和前端基础
掌握常见加密算法原理
能够使用浏览器开发者工具
完成 DVWA 基础靶场
中级水平(6 个月)
能够分析和还原简单的混淆代码
掌握常见的逆向工具使用
完成中等难度的靶场练习
能够编写简单的逆向脚本
高级水平(12 个月)
能够分析复杂的加密算法
掌握 WebAssembly 逆向技术
能够突破高级反爬虫机制
独立完成复杂项目的逆向分析
学习是一个持续的过程,建议制定详细的学习计划并严格执行。遇到困难时不要气馁,多查阅资料、多实践、多请教他人。祝你在 Web 逆向的学习道路上取得成功!
(注:文档部分内容可能由 AI 生成)