作者:向生李
链接:https://www.zhihu.com/question/21914899/answer/39344435
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Web安全工程师

  • Web安全相关概念
    熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等)。
    1. 通过关键字(SQL注入、上传、XSS、CSRF、一句话木马等)进行Google/SecWiki;
    2. 阅读《精通脚本黑客》,虽然很旧也有错误,但是入门还是可以的;
    3. 看一些渗透笔记/视频,了解渗透实战的整个过程,可以Google(渗透笔记、渗透过程、入侵过程等);
  • 3周

    熟悉渗透相关工具
    熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相关工具的使用。

    1. 了解该类工具的用途和使用场景,先用软件名字Google/SecWiki;
    2. 下载无后们版的这些软件进行安装;
    3. 学习并进行使用,具体教材可以在SecWiki上搜索,例如:Brup的教程sqlmap
    4. 待常用的这几个软件都学会了可以安装音速启动做一个渗透工具箱;
  • 5周

    渗透实战操作
    掌握渗透的整个阶段并能够独立渗透小型站点。

    1. 网上找渗透视频看并思考其中的思路和原理,关键字(渗透、SQL注入视频、文件上传入侵、数据库备份、dedecms漏洞利用等等);
    2. 自己找站点/搭建测试环境进行测试,记住请隐藏好你自己;
    3. 思考渗透主要分为几个阶段,每个阶段需要做那些工作,例如这个:PTES渗透测试执行标准
    4. 研究SQL注入的种类、注入原理、手动注入技巧;
    5. 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架
    6. 研究XSS形成的原理和种类,具体学习方法可以Google/SecWiki,可以参考:XSS
    7. 研究Windows/Linux提权的方法和具体使用,可以参考:提权
    8. 可以参考: 开源渗透测试脆弱系统
  • 1周

    关注安全圈动态
    关注安全圈的最新漏洞、安全事件与技术文章。

    1. 通过SecWiki浏览每日的安全技术文章/事件;
    2. 通过Weibo/twitter关注安全圈的从业人员(遇到大牛的关注或者好友果断关注),天天抽时间刷一下;
    3. 通过feedly/鲜果订阅国内外安全技术博客(不要仅限于国内,平时多注意积累),没有订阅源的可以看一下SecWiki的聚合栏目
    4. 养成习惯,每天主动提交安全技术文章链接到SecWiki进行积淀;
    5. 多关注下最新漏洞列表,推荐几个:exploit-dbCVE中文库Wooyun等,遇到公开的漏洞都去实践下。
    6. 关注国内国际上的安全会议的议题或者录像,推荐SecWiki-Conference
  • 3周

    熟悉Windows/Kali Linux
    学习Windows/Kali Linux基本命令、常用工具;

    1. 熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert,net,tasklist,taskkill等;
    2. 熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等;
    3. 熟悉Kali Linux系统下的常用工具,可以参考SecWiki,《Web Penetration Testing with Kali Linux》、《Hacking with Kali》等;
    4. 熟悉metasploit工具,可以参考SecWiki、《Metasploit渗透测试指南》。
  • 3周

    服务器安全配置
    学习服务器环境配置,并能通过思考发现配置存在的安全问题。

    1. Windows2003/2008环境下的IIS配置,特别注意配置安全和运行权限,可以参考:SecWiki-配置
    2. Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等,可以参考:SecWiki-配置
    3. 远程系统加固,限制用户名和口令登陆,通过iptables限制端口;
    4. 配置软件Waf加强系统安全,在服务器配置mod_security等系统,参见SecWiki-ModSecurity
    5. 通过Nessus软件对配置环境进行安全检测,发现未知安全威胁。
  • 4周

    脚本编程学习
    选择脚本语言Perl/Python/PHP/Go/Java中的一种,对常用库进行编程学习。

    1. 搭建开发环境和选择IDE,PHP环境推荐WampXAMPP,IDE强烈推荐Sublime,一些Sublime的技巧:SecWiki-Sublime
    2. Python编程学习,学习内容包含:语法、正则、文件、网络、多线程等常用库,推荐《Python核心编程》,不要看完
    3. 用Python编写漏洞的exp,然后写一个简单的网络爬虫,可参见SecWiki-爬虫视频
    4. PHP基本语法学习并书写一个简单的博客系统,参见《PHP与MySQL程序设计(第4版)》、视频
    5. 熟悉MVC架构,并试着学习一个PHP框架或者Python框架(可选);
    6. 了解Bootstrap的布局或者CSS,可以参考:SecWiki-Bootstrap;
  • 3周

    源码审计与漏洞分析
    能独立分析脚本源码程序并发现安全问题。

    1. 熟悉源码审计的动态和静态方法,并知道如何去分析程序,参见SecWiki-审计
    2. 从Wooyun上寻找开源程序的漏洞进行分析并试着自己分析;
    3. 了解Web漏洞的形成原因,然后通过关键字进行查找分析,参见SecWiki-代码审计高级PHP应用程序漏洞审核技术
    4. 研究Web漏洞形成原理和如何从源码层面避免该类漏洞,并整理成checklist。
  • 5周
     
  • 入门学习,主要分为三个方面:安全工具、开发技术、安全原理

    • 工具
      • AWVS
      • Nmap
      • Sqlmap
      • Burpsuite
    • 开发
      • PHP
      • Msql
      • Javascript
      • HTTP
      • HTML
    • 安全原理
      • SQL 注入
      • XSS
      • CSRF
      • 远程命令执行

    推荐书籍

    • 《JavaScript DOM编程艺术》
    • 《XSS 跨站脚本攻击剖析与防御》
    • 《SQL 注入攻击与防御》
    • 《Web安全深度剖析》
    • 《Python 学习手册》
    • 《黑客技术攻防宝典:Web实战篇》
    • 《细说 PHP》
    • 《黑客攻防---web安全实战详解》
    • 《安全之路:Web渗透技术及实战案例解析(第2版)》

    链接:https://www.zhihu.com/question/21914899/answer/219721822
    来源:知乎

web渗透 学习计划(转载)的更多相关文章

  1. Web安全学习计划

    http://cisps.org/bbs/viewtopic.php?f=71&t=26125 标题为Web安全学习计划,实属我的愿望:将下面这份Web学习清单完善成为一个Web安全,学习计划 ...

  2. web渗透学习目录

    一,基础学习 01.基础学习 [[编码总结]] [[JSON三种数据解析方法]] [[js加密,解密]] [[Internet保留地址和非保留地址.内网和公网.VNC和UltraVN]] 代理 [[S ...

  3. web渗透学习方向

    本章写给新加入我们破晓工作室的学弟学妹. 我现在写的是渗透方向的学习方向.因为我参加了线上培训班,听了专门培训渗透的课程后.所以感觉我们工作室自学太累了.如果没有一个“正确”的学习方向都不知道该学些什 ...

  4. 零基础到精通Web渗透测试的学习路线

    小编相信很多新手都会遇到以下几个问题 1.零基础想学渗透怎么入手? 2.学习web渗透需要从哪里开始? 这让很多同学都处于迷茫状态而迟迟不下手,小编就在此贴给大家说一下web渗透的学习路线,希望对大家 ...

  5. 转载自php 大牛的学习计划 人生规划

    2012年偶决定开始写博客了,不为别的,就希望可以通过博客记录我的成长历程同时也希望可以帮助一些刚毕业,刚入行业的兄弟姐们们.我们是一群充满浮躁.抱怨.迷茫的程序猿,想一想3年就这么过去了,社会变得更 ...

  6. Kali学习笔记23:Web渗透简介

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 我这里先说几句: 其实从缓冲区溢出到Web渗透之间还有 ...

  7. 治愈 JavaScript 疲态的学习计划【转载】

    来源:伯乐在线 - Rose Wang 像其他人一样,最近我读了 Jose Aguinaga 的文章 <How it feels to learn JavaScript in 2016>. ...

  8. 转载过来的参考内容---常规36个WEB渗透测试漏洞描述及修复方法----很详细

        常规WEB渗透测试漏洞描述及修复 --转自:http://www.51testing.com/html/92/n-3723692.html (1). Apache样例文件泄漏 漏洞描述 apa ...

  9. 安全学习概览——恶意软件分析、web渗透、漏洞利用和挖掘、内网渗透、IoT安全分析、区块链、黑灰产对抗

    1 基础知识1.1 网络熟悉常见网络协议:https://www.ietf.org/standards/rfcs/1.2 操作系统1.3 编程2 恶意软件分析2.1 分类2.1.1 木马2.1.2 B ...

随机推荐

  1. 关于 redis.properties配置文件及rule

    当你配置的 FinanceRlue 的path为/count/users时,redis.properties中就必须也配置一个/users=redis://localhost:6379/2?keyle ...

  2. C# 8中的可空引用类型

    原文:Nullable Reference Types In C# 8 作者:.NET Core Tutorials 译者:Lamond Lu 现状 可空引用类型? 自从我开始学习.NET, 引用类型 ...

  3. nodejs搭建web项目

    如果要使用cnpm可安装淘宝cnpm镜像(事实证明不建议使用,因为cnpm和npm有一些包不同步)npm install -g cnpm --registry=https://registry.npm ...

  4. 开源项目福利-github开源项目免费使用Azure PipeLine

    微软收购Github后,很多人猜想微软可能会砍掉VSTS,然而事实VSTS并没有砍掉,关于Azure Devops的详细信息可以查看 这篇博客,如果想查看原文也可以从链接里提供的原始地址里查看. 今天 ...

  5. 第15章 使用EntityFramework Core进行配置和操作数据 - Identity Server 4 中文文档(v1.0.0)

    IdentityServer旨在实现可扩展性,其中一个可扩展点是用于IdentityServer所需数据的存储机制.本快速入门展示了如何配置IdentityServer以使用EntityFramewo ...

  6. 【转载】C#将图片转换为二进制流调用

    在C#中可以使用MemoryStream类.BinaryFormatter类等来操作图片,将图片读取到二进制数据流中,最终转成二进制数据流进行调用,详细的实现如下方法所示. private byte[ ...

  7. InnoSetup 使用

    目录 简介 示例脚本 相关参考 在进行 WPF 程序打包发布的时候如果对程序打包没有特别高的要求,InnoSetup 足以胜任普通的程序打包发布需求,它支持安装包加密,安装包升级安装,注册表操作等常规 ...

  8. Mac下如何用SSH连接远程Linux服务器

     终端命令 a).打开Mac的命令终端 b).输入ssh -p 22 root@102.210.86.213 它会提示你输入密码,输入正确的密码之后,你就发现已经登陆成功了.(22: 端口号 root ...

  9. WingMoney APP逆向,实现自动话费充值

    主要难点,获取JWT内加密的token. 因为是打算使用写成c# winform版本的.所以折腾了很久.刚开始直接改写成c#版本始终有问题.最后决定先上eclipse,先使用java把数据读取出来. ...

  10. 【AO笔记】Addins的Toolbar 添加一条分割线

    在XAML中,给Item标签添加separator属性,需要从哪里打分割线,就将其设置为true即可.如下图所示: 如紫色框住的灰色竖线所示. 默认separator属性是false的,这个小东西极其 ...