首页 > 其他分享 >新手入门Web安全的学习路线

新手入门Web安全的学习路线

时间:2023-06-19 12:13:20浏览次数:47  
标签:Web 漏洞 渗透 新手入门 安全 Linux 路线 学习

学习Web安全需要掌握Web安全相关概念、渗透测试相关工具、渗透实战操作、熟悉Windows/Kali Linux、中间件和服务器的安全配置、脚本编程学习、源码审计与漏洞分析、安全体系设计与开发等等。

如果是零基础的小白入门Web安全,可以参考这个学习规划:

第一步:Web安全相关概念

建议学习时间:2周

学习内容如下:

1、熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等)。

2、通过关键字(SQL注入、上传、XSS、CSRF、一句话木马等)进行Google。

3、阅读《Web安全深度剖析》,作为入门学习还是可以的。

4、看一些渗透笔记/视频,了解渗透实战的整个过程,可以Google(渗透笔记、渗透过程、入侵过程等)。

第二步:熟悉渗透相关工具

建议学习时间:3周

学习内容如下:

1、熟悉AWVS、Sqlmap、Burpsuite、Nessus、China chopper 、Nmap、Appscan等相关工具的使用。

2、了解该类工具的用途和使用场景。

3、下载无后门版的这些软件进行安装。

4、学习并进行使用,具体教材可以在网上搜索,例如:Burpsuite的教程、Sqlmap。

5、常用的这几个软件都学会后,可以安装音速启动做一个渗透工具箱

第三步:渗透实战操作

建议学习时间:5周

学习内容如下:

1、掌握渗透的整个阶段并能够独立渗透小型站点。

2、网上找渗透视频看并思考其中的思路和原理,关键字(渗透、SQL注入视频、文件上传入侵、数据库备份、Dedecms漏洞利用等等)。

3、自己找站点/搭建测试环境进行测试,记住请隐藏好你自己。

4、思考渗透主要分为几个阶段,每个阶段需要做哪些工作,例如这个:PTES渗透测试执行标准。

5、研究SQL注入的种类、注入原理、手动注入技巧。

6、研究文件上传的原理,如何进行截断、解析漏洞利用等,参照:上传攻击框架。

7、研究XSS形成的原理和种类,具体学习方法可以Google。

8、研究Windows/Linux提权的方法和具体使用,可以参考:提权。

9、可以参考: 开源渗透测试脆弱系统。

第四步:关注安全圈动态

建议学习时间:1周

学习内容如下:

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

2、浏览每日的安全技术文章/事件。

3、通过微博、微信关注安全圈的从业人员(遇到大牛的关注或者好友果断关注),天天抽时间刷一下。

4、通过feedly/鲜果订阅国内外安全技术博客(不要仅限于国内,平时多注意积累)。

5、养成习惯,每天主动提交安全技术文章链接到i春秋社区进行积淀。

6、多关注下最新漏洞列表,可以看看hackerone、freebuf、安全客等,遇到公开的漏洞都去实践下。

7、关注国内国际上的安全会议的议题或者录像。

8、加入技术交流群,与群内大佬们讨教一些经验和技巧。

第五步:熟悉Windows/Kali Linux

建议学习时间:3周

学习内容如下:

1、学习Windows/Kali Linux基本命令、常用工具。

2、熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert,net,tasklist,taskkill等。

3、熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等。

4、熟悉Kali Linux系统下的常用工具,可以参考《Web Penetration Testing with Kali Linux》、《Hacking with Kali》等。

5、熟悉metasploit工具,可以参考《Metasploit渗透测试指南》。

第六步:中间件和服务器的安全配置

建议学习时间:3周

学习内容如下:

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

2、Windows server2012环境下的IIS配置,特别注意配置安全和运行权限。

3、Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等。

4、远程系统加固,限制用户名和口令登陆,通过iptables限制端口;配置软件Waf加强系统安全,在服务器配置mod_security等系统。

5、通过Nessus软件对配置环境进行安全检测,发现未知安全威胁。

第七步:脚本编程学习

建议学习时间:4周

学习内容如下:

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

2、搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime。

3、Python编程学习,学习内容包含:语法、正则、文件、网络、多线程等常用库,推荐《Python核心编程》。

4、用Python编写漏洞的exp,然后写一个简单的网络爬虫。

5、PHP基本语法学习并书写一个简单的博客系统,参见《PHP与MySQL程序设计(第4版)》、视频。

6、熟悉MVC架构,并试着学习一个PHP框架或者Python框架(可选)。

7、了解Bootstrap的布局或者CSS。

第八步:源码审计与漏洞分析

建议学习时间:3周

学习内容如下:

1、能独立分析脚本源码程序并发现安全问题。

2、熟悉源码审计的动态和静态方法,并知道如何去分析程序。

3、了解Web漏洞的形成原因,然后通过关键字进行查找分析。

4、研究Web漏洞形成原理和如何从源码层面避免该类漏洞,并整理成checklist。

学习地址:i春秋官网

第九步:安全体系设计与开发

建议学习时间:5周

学习内容如下:

1、能建立自己的安全体系,并能提出一些安全建议或者系统架构。

2、开发一些实用的安全小工具并开源,体现个人实力。

3、建立自己的安全体系,对公司安全有自己的一些认识和见解。

4、提出或者加入大型安全系统的架构或者开发。

以上是我个人总结的新手入门Web安全的学习路线,仅供参考。下一期会分享具备一定的网络安全技能,如何快速提升网络安全实战技能,不要错过呦~

标签:Web,漏洞,渗透,新手入门,安全,Linux,路线,学习
From: https://www.cnblogs.com/wangluo-anquan/p/17490822.html

相关文章

  • jsp WebUploader 分块上传
    ​ 前言文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好的办法,毕竟很少有人会忍受,当文件上传到一半中断后,继续上传却只能重头开始上传,这种让人不爽的体验。那有没有......
  • 腾讯薪选T9级Android进阶学习路线(内含全套学习笔记+视频资料)
    随着android系统的迭代更新和开源api的强大,相信大部分开发者技术的瓶颈很难突破。想要突破瓶颈,我们就需要搭建完备的知识体系,让学到的知识体系化。这里,我整理了Android开发中的一些知识点,包括架构师筑基必备技能、源码解析、性能优化、Kotlin、高级UI、NDK模块、Flutter及微信小程......
  • 腾讯T9级Android音视频开发学习路线(初-中-高)
    腾讯T10级Android音视频开发学习路线(初-中-高)随着5G时代的开启,音视频的运用不再单一局限于泛娱乐平台,而是向多个领域延伸和完善,比如远程教学、在线教学、在线会议、远程互动、安防监控等,传统的图文媒体也开始向以音视频为主的新媒体转变,这些变化极大地改变了我们的生活。如今,行业对......
  • 关于数据治理的读书笔记 - 数据治理路线图规划
    数据治理成熟度评估为企业提供了一个数据治理的切入点,通过发现企业数据治理中存在的问题,找到目前和业界领先企业的差距,绘制出符合企业现状和需求的数据治理路线图。路线图是指描述技术变化步骤或技术相关环节之间逻辑关系的简洁的图形、表格、文字等形式。数据治理路线图则是对企业......
  • Java Websocket 02: 原生模式通过 Websocket 传输文件
    目录JavaWebsocket01:原生模式Websocket基础通信JavaWebsocket02:原生模式通过Websocket传输文件Websocket原生模式传输文件关于Websocket传输的消息类型,允许的参数包括以下三类以下类型之一,同时只能出现一个文本类型(textmessages)的消息:String......
  • .NET Core Web API 实现图形验证码
    https://blog.csdn.net/liwan09/article/details/126319320?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-126319320-blog-101289369.235%5Ev38%5Epc_relevant_sort_base2&depth_1-utm_......
  • Java Websocket 01: 原生模式 Websocket 基础通信
    目录JavaWebsocket01:原生模式Websocket基础通信JavaWebsocket02:原生模式通过Websocket传输文件Websocket原生模式原生模式下服务端通过@ServerEndpoint实现其对应的@OnOpen,@OnClose,@OnMessage,@OnError方法客户端创建WebSocketClient实现对应的......
  • 基于JAVA公交路线查询系统
    进入21世纪以来,计算机通讯得到迅速发展,计算机的信息技术全面地普及到人类社会的各个方面,信息化成为世界经济和社会发展的大趋势。随着信息时代的发展,快捷高效的处理信息已成为各行各业的基本需求。在公交路线查询系统中,为满足其系统化,自动化,高效化的要求,需要设计一个有效的公交路......
  • 软件测试|web自动化测试神器playwright教程(二十七)
    前言使用selenium进行web自动化测试,如果我们打开了多个网页,进行网页切换时,我们需要先获取各个页面的句柄,通过句柄来区分各个页面,然后使用switch_to.window()实现切换,这样的操作比较麻烦,playwright的网页切换比selenium更为简单快捷。本文就给大家介绍一下playwright多个网页的切换......
  • 软件测试|web自动化测试神器playwright教程(二十三)
    前言我们在进行web自动化时,经常遇到一些不好操作的元素,普通的元素定位和操作容易报错,如果我们使用的selenium的话,就可以使用selenium调用js脚本进行操作。在playwright中也有类似的方法,使用page.evaluate()执行JavaScript脚本。page.evaluate()和page.evaluate_handle()之间的唯......