在探讨Web安全学习以前,首先了解一下什么是Webphp
看到这里,你可能会问:这么多内容都须要学习吗?html
答案是:能够不用学得很深刻,可是若是不了解这些研究对象,是不可能搞好的安全研究的。(原话来自余弦大佬在知乎的回答)前端
那么这么多内容应该从哪里开始学呢?别急,等了解完什么是Web安全再学也不迟。linux
把Web服务各层串联起来的就是数据流,掌握了数据流就能知道数据在每层是如何处理的。而在数据流中有一个关键的协议,就是HTTP 协议,搞明白HTTP协议后,你就会明白一个专业术语“输入输出”。黑客经过输入提交‘特殊数据’,‘特殊数据’在数据流的每一个层处理,若是其中某一层没处理好,在输出的时候,就会出现相应层的安全问题,也就是本文的重点——Web 安全。数据库
例如:浏览器
操做系统:数据若是在操做系统层上没处理好,可能会产生命令执行等安全问题;安全
存储:数据若是在存储层上没处理好,可能会产生SQL 注入等安全问题;前端框架
Web容器:数据若是在Web容器层中没处理好,可能会产生远程溢出、DoS等安全问题;服务器
Web服务端语言:代码审计对于安全人员来讲也是一项重要技能;网络
Web开发框架/Web应用:数据若是在这里没处理好,可能会产生命令执行等安全问题;
Web前端框架:数据若是在Web前端框架中没处理好,可能会产生 XSS 跨站脚本 等安全问题;
到这里能够看出“输入输出”对于安全的重要性了吧。
初步了解了什么是Web以及容易产生的一些安全问题,下面具体来讲说入门Web安全应该学什么,怎么学。
仍是从Web服务提及,操做系统层具体分为Windows和Linux,Windows又有Win十、Win八、Win七、WindowsServer 201六、WindowsServer 20十二、WindowsServer 200八、WindowsServer 2003等版本,主要了解它们的安全配置及相关漏洞。
Windows系统安全配置:
www.hetianlab.com/cour.do?w=1…
经过学习Windows系统安全配置课程,基本了解Windows操做系统的安全加固方法
Windows系统加固:
www.hetianlab.com/expc.doec=E…
这也是和Windows系统安全加固相关的实验。
还有不少Windows相关的好比文件系统备份、用户管理、日志清理、用户口令破解等知识,均可以在
www.hetianlab.com/pages/searc…
进行学习。
而Linux又有CentOS、Redhat、Ubuntu、Debian、Fedora、openSUSE等诸多发行版本,说到Linux,不得不提那本被推荐了无数遍的——《鸟哥的Linux私房菜》
纯文字的阅读不免让人感受枯燥,做者更喜欢一边学习一边动手操做:
Linux入门最佳实践:
www.hetianlab.com/cour.do?w=1…
课程包括Linux的发展、文件管理基础命令、管道命令、帐户及系统管理等
存储层主要分为数据库存储、内存存储和文件存储,其中数据库有MySQL、Oracle、MSSQL、access、MongoDB、Redis
等,数据库是SQL注入
学习的基础。
MySQL数据库相关基础学习:
www.hetianlab.com/expc.do?ec=…
了解MySQL表的结构与内容,增长用户及受权,删除用户等操做。
MongoDB安全配置:
www.hetianlab.com/expc.do?ec=…
实验介绍了MongoDB数据库及其安全攻防实践,经过学习此实验了解MongoDB的基本操做和安全特性。
Redis数据库安全实践:
www.hetianlab.com/cour.do?w=1…
系统性的SQL、MySQL学习也能够到w3cschool上进行。
Web容器包括Apache、IIS和Nginx,这里推荐几个集合环境软件:
php集合环境软件phpStudy:
jsp集合环境软件jspStudy:
ASP集合环境软件小旋风ASP服务器:
第一个phpStudy集合了Apache、MySQL和PHP,将Web源码放到phpStudy里就搭建好了本身的Web服务器。具体教程自行百度,这里就不放连接了。
Web服务端语言:前面提到了代码审计,入门Web安全其实不须要对语言进行系统性的学习,这样很浪费时间,只要平时在分析漏洞原理、查看目标网站源代码等时候,对重要的函数、方法等有所了解,可以触类旁通便可。
PHP基础:
www.hetianlab.com/cour.do?w=1…
经过基础实验了解PHP语言,为后续的学习打下基础。
PHP代码审计:
www.hetianlab.com/cour.do?w=1…
经过此实验学习PHP代码审计的基础知识及PHP常见危险函数
Web框架/应用:开发框架包括Struts二、React、Django、thinkPHP等,前端框架包括jQuery、Bootstrap、HTML五、semanticUI、Pure等,Web应用包括BBS,blog,discuz、metinfo、Joomla等各类CMS,不须要你们用这些框架搭建Web应用,只须要了解各框架/CMS存在哪些漏洞,其原理、利用以及如何进行修复等。
横向的学习路径介绍完,开始纵向学习数据流之《HTTP从入门到放弃》。
协议这个东西光靠看书学习很费劲,有什么快速掌握的途径吗?
还真的有,经过学习一些入门的HTTP 协议,而后浏览器F12看看‘Network’标签里的HTTP请求响应,结合wireshark等协议分析软件,不出几个小时,就大概能知道HTTP协议是什么了。
HTTP协议基础:
www.hetianlab.com/expc.do?ce=…
wireshark数据抓包分析之HTTP协议:
www.hetianlab.com/expc.do?ec=…
掌握wireshark的基本操做,加深对HTTP协议的理解。
经过wireshark分析其余协议:
www.hetianlab.com/cour.do?w=1…
梳理完Web服务的学习,下面正式开始入门Web安全,掌握了下面这些,就算Web安全入门了。
命令执行漏洞:
www.hetianlab.com/expc.do?ec=…
经过实验了解命令执行漏洞产生的缘由,学习漏洞的利用和修复。
ImageMagick命令执行漏洞:
www.hetianlab.com/expc.do?ec=…
因为大量的Web程序都使用了ImageMagic的拓展,致使本地命令执行漏洞在Web环境里能够被远程触发,危害巨大。
Memcached远程命令执行漏洞:
经过实验学习memcached远程命令执行漏洞的利用及修复方法。
还有不少命令执行漏洞的学习实例:
包括布尔盲注、时间盲注、报错注入、联合查询注入、宽字节注入、二次注入等。
渗透SQL注入:
www.hetianlab.com/cour.do?w=1…
在入门以前先了解SQL注入的原理:
SQL注入初级:
www.hetianlab.com/cour.do?w=1…
九个实验带你入门SQL注入:
[公开课]有一种注入叫SQL注入:
www.hetianlab.com/expc.do?ce=…
从SQL语句基础到SQL注入漏洞造成原理和实战利用,让你认识什么是SQL注入。
包括客户端绕过js检查进行上传及服务端绕事后缀及内容检查进行上传,服务端绕过又包括特殊后缀欺骗上传、配合解析漏洞上传、截断上传等。
文件上传漏洞:
www.hetianlab.com/expc.do?ec=…
学习文件上传漏洞产生的缘由,以及如何利用和修复。
[公开课]玩转文件上传漏洞:
www.hetianlab.com/expc.do?ce=…
经过此公开课学习文件上传漏洞产生的缘由,以及文件上传绕过的各类姿式。
kindEditor文件上传漏洞分析和利用:
www.hetianlab.com/expc.do?ce=…
kindEditor编辑器组件最近爆出的文件上传漏洞,经过实验还原入侵过程,了解漏洞原理和防御方法。
包括本地文件包含和远程文件包含。
文件包含漏洞:
简单的文件包含:
www.hetianlab.com/expc.do?ec=…
缓冲区溢出基础与实践:
www.hetianlab.com/expc.do?ec=…
经过实验了解缓冲区溢出的原理与危害,掌握缓冲区溢出的基本方法,学会进行常见的缓冲区溢出攻击。
缓冲区溢出漏洞调试与分析:
www.hetianlab.com/expc.do?ec=…
利用缓冲区溢出攻击,能够致使程序运行失败、系统宕机、重启等后果。
实战挖掘某ftp服务器溢出漏洞:
www.hetianlab.com/expc.do?ec=…
了解ftp服务漏洞的表现形式及利用方法。
包括反射型XSS、存储型XSS及DOM型XSS。在学习XSS前,应该熟悉HTML/CSS及JavaScript,不然很难研究好XSS。
HTML基础:
www.hetianlab.com/expc.do?ec=…
了解HTML的基本结构和标签。
JavaScript基础:
www.hetianlab.com/expc.do?ec=…
了解什么是JavaScript,了解DOM操做和BOM操做。
渗透XSS:
www.hetianlab.com/cour.do?w=1…
学习XSS漏洞原理,以及如何利用XSS漏洞对目标系统进行渗透测试。
分为GET型和POST型。
渗透CSRF:
www.hetianlab.com/cour.do?w=1…
在学习XXE前,应该熟悉XML语言,不然很难研究好XXE。
XXE漏洞攻击与防护:
www.hetianlab.com/cour.do?w=1…
包括对XXE漏洞的分析与相关组件XXE漏洞学习:
Apache解析漏洞:
www.hetianlab.com/expc.do?ec=…
了解解析漏洞原理,经常使用的攻击方法以及有效的防护手段。
Nginx解析漏洞:
www.hetianlab.com/expc.do?ec=…
IIS解析漏洞在fckEditor上传攻击中的利用:
www.hetianlab.com/expc.do?ec=…
经过实验学习IIS6.0中的解析漏洞,掌握IIS6.0解析漏洞在fckEditor上传攻击中的利用方法。
统一身份认证:
www.hetianlab.com/expc.do?ec=…
判断一个用户是否为合法用户的处理过程。
非受权访问:
www.hetianlab.com/expc.do?ec=…
包括非法用户进入网络或系统进行违法操做,合法用户以未受权的方式进行操做。
Jenkins未受权访问漏洞利用实践:
www.hetianlab.com/expc.do?ec=…
包括PHP反序列化、Java反序列化、Python反序列化等。
PHP反序列化漏洞:
www.hetianlab.com/expc.do?ec=…
了解什么是反序列化漏洞,其成因以及如何挖掘和预防反序列化漏洞。
Java反序列化漏洞:
www.hetianlab.com/expc.do?ec=…
以ApacheCommons Collections3为例,分析和复现Java反序列化漏洞。
Python反序列化漏洞:
www.hetianlab.com/expc.do?ec=…
了解Python反序列化漏洞产生的机理,加强安全意识。
前面提到了Struts二、React、Django、thinkPHP等开发框架,jQuery、Bootstrap、HTML五、semanticUI、Pure等前端框架,以及discuz、metinfo、Joomla等各类CMS。
Struts2框架安全:
www.hetianlab.com/expc.do?ec=…
Struts2(s2-045)远程命令执行漏洞分析与复现:
www.hetianlab.com/expc.do?ec=…
ThinkPHP5远程代码执行漏洞:
www.hetianlab.com/expc.do?ce=…
Joomla未受权建立帐号/权限提高漏洞:
www.hetianlab.com/expc.do?ce=…
Joomla反序列化远程代码执行漏洞:
BEEF框架攻击:
以WordPress博客系统为基础,典型的XSS漏洞为案例,详细学习beef平台下各个模块的经常使用命令和攻击方法。

复制代码
看到这里有没有一种怀疑人生的感受?
不用怀疑,入门Web安全没有大家想象的那么难,弄懂上面说的这些,你还会以为你是一个什么都不懂的小白吗?
本文转自合天智汇公众号,转载请注明来源
关于合天网安实验室
合天网安实验室(www.hetianlab.com)-国内领先的实操型网络安全在线教育平台
真实环境,在线实操学网络安全 ; 实验内容涵盖:系统安全,软件安全,网络安全,Web安全,移动安全,CTF,取证分析,渗透测试,网安意识教育等。