零基础到精通Web渗透测试的学习路线
小编相信很多新手都会遇到以下几个问题
1.零基础想学渗透怎么入手?
2.学习web渗透需要从哪里开始?
这让很多同学都处于迷茫状态而迟迟不下手,小编就在此贴给大家说一下web渗透的学习路线,希望对大家有帮助
同时本博客也会按照学习路线推出渗透学习教学教程,希望大家能多多支持
本博客地址:http://www.cnblogs.com/cnhacker/
- Web安全相关概念
熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等)。
- 通过关键字(SQL注入、上传、XSS、CSRF、一句话木马等)进行Google/SecWiki;
- 阅读《精通脚本黑客》,虽然很旧也有错误,但是入门还是可以的;
- 看一些渗透笔记/视频,了解渗透实战的整个过程,可以Google(渗透笔记、渗透过程、入侵过程等);
- 3周
熟悉渗透相关工具
熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相关工具的使用。
- 了解该类工具的用途和使用场景,先用软件名字Google/SecWiki;
- 下载无后们版的这些软件进行安装;
- 学习并进行使用,具体教材可以在SecWiki上搜索,例如:Brup的教程、sqlmap;
- 待常用的这几个软件都学会了可以安装音速启动做一个渗透工具箱;
- 5周
渗透实战操作
掌握渗透的整个阶段并能够独立渗透小型站点。
- 网上找渗透视频看并思考其中的思路和原理,关键字(渗透、SQL注入视频、文件上传入侵、数据库备份、dedecms漏洞利用等等);
- 自己找站点/搭建测试环境进行测试,记住请隐藏好你自己;
- 思考渗透主要分为几个阶段,每个阶段需要做那些工作,例如这个:PTES渗透测试执行标准;
- 研究SQL注入的种类、注入原理、手动注入技巧;
- 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架;
- 研究XSS形成的原理和种类,具体学习方法可以Google/SecWiki,可以参考:XSS;
- 研究Windows/Linux提权的方法和具体使用,可以参考:提权;
- 可以参考: 开源渗透测试脆弱系统;
- 1周
关注安全圈动态
关注安全圈的最新漏洞、安全事件与技术文章。
- 通过SecWiki浏览每日的安全技术文章/事件;
- 通过Weibo/twitter关注安全圈的从业人员(遇到大牛的关注或者好友果断关注),天天抽时间刷一下;
- 通过feedly/鲜果订阅国内外安全技术博客(不要仅限于国内,平时多注意积累),没有订阅源的可以看一下SecWiki的聚合栏目;
- 养成习惯,每天主动提交安全技术文章链接到SecWiki进行积淀;
- 多关注下最新漏洞列表,推荐几个:exploit-db、CVE中文库、Wooyun等,遇到公开的漏洞都去实践下。
- 关注国内国际上的安全会议的议题或者录像,推荐SecWiki-Conference。
- 3周
熟悉Windows/Kali Linux
学习Windows/Kali Linux基本命令、常用工具;
- 熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert,net,tasklist,taskkill等;
- 熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等;
- 熟悉Kali Linux系统下的常用工具,可以参考SecWiki,《Web Penetration Testing with Kali Linux》、《Hacking with Kali》等;
- 熟悉metasploit工具,可以参考SecWiki、《Metasploit渗透测试指南》。
- 3周
服务器安全配置
学习服务器环境配置,并能通过思考发现配置存在的安全问题。
- Windows2003/2008环境下的IIS配置,特别注意配置安全和运行权限,可以参考:SecWiki-配置;
- Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等,可以参考:SecWiki-配置;
- 远程系统加固,限制用户名和口令登陆,通过iptables限制端口;
- 配置软件Waf加强系统安全,在服务器配置mod_security等系统,参见SecWiki-ModSecurity;
- 通过Nessus软件对配置环境进行安全检测,发现未知安全威胁。
- 4周
脚本编程学习
选择脚本语言Perl/Python/PHP/Go/Java中的一种,对常用库进行编程学习。
- 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime,一些Sublime的技巧:SecWiki-Sublime;
- Python编程学习,学习内容包含:语法、正则、文件、网络、多线程等常用库,推荐《Python核心编程》,不要看完;
- 用Python编写漏洞的exp,然后写一个简单的网络爬虫,可参见SecWiki-爬虫、视频;
- PHP基本语法学习并书写一个简单的博客系统,参见《PHP与MySQL程序设计(第4版)》、视频;
- 熟悉MVC架构,并试着学习一个PHP框架或者Python框架(可选);
- 了解Bootstrap的布局或者CSS,可以参考:SecWiki-Bootstrap;
- 3周
源码审计与漏洞分析
能独立分析脚本源码程序并发现安全问题。
- 熟悉源码审计的动态和静态方法,并知道如何去分析程序,参见SecWiki-审计;
- 从Wooyun上寻找开源程序的漏洞进行分析并试着自己分析;
- 了解Web漏洞的形成原因,然后通过关键字进行查找分析,参见SecWiki-代码审计、高级PHP应用程序漏洞审核技术;
- 研究Web漏洞形成原理和如何从源码层面避免该类漏洞,并整理成checklist。
- 5周
安全体系设计与开发
能建立自己的安全体系,并能提出一些安全建议或者系统架构。
- 开发一些实用的安全小工具并开源,体现个人实力;
- 建立自己的安全体系,对公司安全有自己的一些认识和见解;
- 提出或者加入大型安全系统的架构或者开发;
- 转载注明出处:http://www.cnblogs.com/cnhacker/
零基础到精通Web渗透测试的学习路线的更多相关文章
- KALI LINUX WEB 渗透测试视频教程—第十九课-METASPLOIT基础
原文链接:Kali Linux Web渗透测试视频教程—第十九课-metasploit基础 文/玄魂 目录 Kali Linux Web 渗透测试视频教程—第十九课-metasploit基础..... ...
- Kali Linux Web 渗透测试视频教程— 第四课 google hack 实战
Kali Linux Web 渗透测试— 第四课 google hack 实战 文/玄魂 目录 shellKali Linux Web 渗透测试— 第四课 google hack 实战 课程目录 Go ...
- Kali Linux Web渗透测试手册(第二版) - 1.0 - 渗透测试环境搭建
一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: 在Windows和Linux上安装VirtualBox 创建一个Kali Linux虚拟机 更新和升级Kali Linux ...
- 反向代理在Web渗透测试中的运用
在一次Web渗透测试中,目标是M国的一个Win+Apache+PHP+MYSQL的网站,独立服务器,对外仅开80端口,网站前端的业务系统比较简单,经过几天的测试也没有找到漏洞,甚至连XSS都没有发现, ...
- Kali Linux Web 渗透测试视频教—第二十课-利用kali linux光盘或者usb启动盘破解windows密码
Kali Linux Web 渗透测试视频教—第二十课-利用kali linux光盘或者usb启动盘破解windows密码 文/玄魂 目录 Kali Linux Web 渗透测试视频教—第二十课-利用 ...
- Kali Linux Web 渗透测试— 第二十课-metasploit.meterpreter
Kali Linux Web 渗透测试— 第二十课-metasploit.meterpreter 原文链接:http://www.xuanhun521.com/Blog/7fc11b7a-b6cb-4 ...
- KALI LINUX WEB 渗透测试视频教程—第16课 BEEF基本使用
Kali Linux Web 渗透测试视频教程—第16课 BeEF基本使用 文/玄魂 目录 Kali Linux Web 渗透测试视频教程—第16课 BeEF基本使用............... ...
- Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击
Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击 文/玄魂 目录 Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击................... ...
- Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗、嗅探、dns欺骗、session劫持
Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗.嗅探.dns欺骗.session劫持 文/玄魂 目录 Kali Linux Web 渗透测试—第十四课-arp欺骗.嗅探.dns欺 ...
随机推荐
- 2、微信小程序之弹幕的实现(无后台)
对弹幕功能主要利用环信来实现的,读者也许对环信这个东西很陌生,请先自行了解这环信再来看这文章. 环信开发文档:http://docs.easemob.com/im/400webimintegratio ...
- docker~docker-compose和VS解决方案的关系
回到目录 一般地,我们在VS里添加了一个解决方案之后,会更新模块或者业务添加多个api,web项目,这类似于最近说的微服务,而我们的docker-compose与微软件正好有了一种默契,当你为你的解决 ...
- 操作系统,银行家算法模拟实现(Windows 环境 C++)
计算机操作系统课设需要,写了两个下午的银行家算法(陷在bug里出不来耽误了很多时间),参考计算机操作系统(汤子瀛) 实现过程中不涉及难度较大的算法,仅根据银行家算法的思想和步骤进行实现.以下为详细步骤 ...
- SpringMVC源码情操陶冶-FreeMarker之web配置
前言:本文不讲解FreeMarkerView视图的相关配置,其配置基本由FreeMarkerViewResolver实现,具体可参考>>>SpringMVC源码情操陶冶-ViewRe ...
- 【ES6】变量的解构赋值
1. 数组 var [a, b, c] = [1, 2, 3]; let [a, [b], d] = [1, [2, 3], 4]; 默认值生效的条件是,对象的属性值严格等于undefined. [x ...
- JS浏览器对象:window对象、History、Location对象、Screen对象
一.JS浏览器对象-window 1.window对象 window对象是BOM的核心,window对象指当前的浏览器窗口 所有JavaScript全局对象.函数以及变量均自动成为window对象的成 ...
- Asp.net MVC Razor常见问题及解决方法
没有经验的童鞋就是这样磕磕碰碰出来的经验. 1,Datatype的错误提示消息无法自定义 这也许是Asp.net MVC的一个Bug.ViewModel中定义了DataType为Date字段: [Re ...
- Jetty的工作原理
Jetty的工作原理 Jetty 的基本架构 Jetty 目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器,它有一个基本数据模型,这个数据模型就 ...
- 最大流当前弧优化Dinic模板
最大流模板: 普通最大流 无向图限制:将无向图的边拆成2条方向相反的边 无源汇点有最小流限制的最大流:理解为水管流量形成循环,每根水管有流量限制,并且流入量等于流出量 有源汇点的最小流限制的最大流 顶 ...
- Section 1.1 Your Ride Is Here
Your Ride Is Here It is a well-known fact that behind every good comet is a UFO. TheseUFOs often com ...