最近出了 web 前端很火爆之外, Web 安全也是热门话题之一, 但是很多人都不知道怎么学习或者从哪里开始学起, 今天小猿圈 Web 安全讲师就为你讲解 Web 安全学习路线.
学习基础 时间: 1 周 ~ 2 周:
1 我们用这段时间了解基本的概念:(SQL 注入, XSS, 上传, CSRF, 一句话木马, 常见的后台等: 可以通过 Google 搜索获取资料)为之后的 Web 渗透测试打下基础.
2 查看一些论坛的一些 Web 渗透资料, 学一学案例的思路, 每一个站点都不一样, 所以思路是主要的.
3 学会提问的艺术, 如果遇到不懂得要善于提问.
配置渗透环境 时间: 3 周 ~ 4 周:
1 了解渗透测试常用的工具, 例如(AWVS,SQLMAP,NMAP,APPSCAN,BURP, 中国菜刀等).
2 下载这些工具无后门版本并且安装到计算机上, 并做一个工具包, 推荐 Rolan.
3 了解这些工具的使用场景, 懂得基本的使用, 推荐在 Secwiki 或者 Google 上查找资料.
渗透实战操作 时间: 约 6 周:
1 在网上搜索渗透实战案例, 深入了解 SQL 注入, 文件上传, 解析漏洞等在实战中的使用.
2 自己搭建漏洞环境测试, 推荐 DWVA,SQLi-labs,Upload-labs,bWAPP.
3 懂得渗透测试的阶段, 每一个阶段需要做那些动作: 例如 PTES 渗透测试执行标准.
4 深入研究手工 SQL 注入, 寻找绕过 waf 的方法, 制作自己的脚本.
5 研究文件上传的原理, 如何进行截断, 双重后缀欺骗 (IIS,PHP), 解析漏洞利用(IIS,Nignix,Apache) 等, 参照: 上传攻击框架.
6 了解 XSS 形成原理和种类, 在 DWVA 中进行实践, 使用一个含有 XSS 漏洞的 cms, 安装安全狗等进行测试.
7 了解一句话木马, 并尝试编写过狗一句话.
8 研究在 Windows 和 Linux 下的提升权限, Google 关键词: 提权
经常逛网络安全有关的网站 时间:∞
1 例如: Freebuf,i 春秋, 安全客, 看雪, 91Ri.org,Sec-wiki, 安全脉搏, Sec 圈子社区, T00ls 论坛等.
2 遇到有意义的文章可以转载到自己博客
熟悉 Windows & Kali Linux 系统 时间: 2 周 ~ 4 周
1了解 Windows 系统下的常用命令, 如: ipconfig,nslookup,tracert.NET,tasklist,taskkill 等.
2 熟悉 Linux 系统的常用命令, 如: wget,mv,cd,rm,mkdir 等.
3 熟悉 Kali Linux 系统下的常用工具.
学习服务器的安全配置 时间: 4 周左右
1 了解 03,08,12 系统下 iis 的基本配置, 了解 Win 下的目录权限(例如 iis 写权限), 建立一个简单的站点.
2 了解 Linux 的运行权限, 跨目录, 文件夹权限, 学会配置 Linux Web 服务器, 并建立一个简单的站点.
3 使用自动化工具扫描已经建立好的站点, 并利用 Google 学会修补漏洞.
4 学会打补丁, iptables 限制端口, 添加规则等.
5 下载一款 waf 软件, 熟悉它的使用.
学习一些编程知识 时间: 约 8 周
1 在 w3cschool 上学习 html,PHP, 数据库的基础, 建议每一种学到第 8 节就可以了.
2 学习 Python(也可以是其他语言, 但是强烈建议使用 python). 要求学习: 爬虫 (基础), 多线程, 文件操作, 正则表达式(基础) 还有一些常用的第三方库, 可能需要安装 pip.
3 利用 python 写一个简单的 poc 或者 exp.
4 开发一些渗透时会用到的程序, 例如: 端口扫描等.
5 选择一个 PHP 框架进行学习, 不要太深入.
学习代码审计 时间: 4 周 ~ 6 周
1 了解代码审计的静态和动态方法, 懂得分析程序.
2 在乌云镜像里找到开源的漏洞程序, 跟着学习分析方法, 尝试自己分析 3~5 次代码.
3 了解 Web 漏洞形成的原因, 熟悉常见漏洞函数.
安全体系开发 时间:∞
1 开发一些安全工具, 并将其开源, 可以托管到码云或者 GitHub 上, 展示个人实力.
2 建立自己的一套安全体系, 拥有独立的思路方法.
以上就是小猿圈 Web 安全讲师给大家分享的 Web 安全学习路线图, 希望对小伙伴们有所帮助, 想要了解更多内容的小伙伴可以到小猿圈直接观看, 想要学好 Web 安全的小伙伴快快行动吧.
来源: http://www.jianshu.com/p/a2e9338dee4f