成为一名月薪 2 万的 web 安全工程师需要掌握哪些技能?

2024-08-21 18:36

本文主要是介绍成为一名月薪 2 万的 web 安全工程师需要掌握哪些技能?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 现在 web 安全工程师比较火,岗位比较稀缺,现在除了一些大公司对学历要求严格,其余公司看中的大部分是能力。

有个亲戚的儿子已经工作 2 年了……当初也是因为其他的行业要求比较高,所以才选择的 web 安全方向。

资料免费分享给你们,帮助大家从网络安全的小白进阶!

那么成为一名 web 安全工程师需要哪些技能呢?下面就告诉你。

01 环境的搭建
1、熟悉基本的虚拟机配置。2、Kali linux,centos,Windows 实验虚拟机 3、自己搭建 IIS 和 apache4、部署 php 或者 asp 的网站 5、搭建 Nginx 反向代理网站 6、了解 LAMP 和 LNMP 的概念 

02 熟悉渗透相关工具

熟悉 AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan、Msf 等相关工具的使用。
了解该类工具的用途和使用场景,先用软件名字 Googl;下载软件进行安装;
学习并进行使用,具体教材可以在 SecWiki 上搜索,例如:Brup 的教程、sqlmap;
待常用的这几个软件都学会了可以安装音速启动做一个渗透工具箱;
了解 msf 的基础知识,对于经典的 08_067 和 12_020 进行复现

03Web 安全相关概念

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

免费领取 20G 网络视频笔记+开发工具
有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

04 渗透实战操作

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

05 关注安全圈动态

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

06 熟悉 Windows/Kali Linux

  1. 学习 Windows/Kali Linux 基本命令、常用工具。
  2. 熟悉 Windows 下的常用的 cmd 命令,例如
  3. ipconfig,nslookup,tracert,net,tasklist,taskkill 等;
  4. 熟悉 Linux 下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo 等;
  5. 熟悉 Kali Linux 系统下的常用工具;
  6. 熟悉 metasploit 工具。

07 服务器安全配置

  1. 学习服务器环境配置,并能通过思考发现配置存在的安全问题。Windows2003/2008 环境下的 IIS 配置,特别注意配置安全和运行权限
  2. Linux 环境下的 LAMP 的安全配置,主要考虑运行权限、跨目录、文件夹权限等
  3. 远程系统加固,限制用户名和口令登陆,通过iptables限制端口;配置软件Waf加强系统安全,在服务器配置ShareWAF、modsecurity等系统,ShareWAF简单易用,小而美,推荐使用,modsecurity 有些复杂,需要配大量规则
  4. 通过 Nessus 软件对配置环境进行安全检测,发现未知安全威胁。

08 脚本编程学习

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

09 源码审计与漏洞分析

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

10 安全体系设计与开发

  1. 能建立自己的安全体系,并能提出一些安全建议或者系统架构。
  2. 开发一些实用的安全小工具并开源,体现个人实力;
  3. 建立自己的安全体系,对公司安全有自己的一些认识和见解;
  4. 提出或者加入大型安全系统的架构或者开发;
  5. 还是不太了解的可以跟我要个入门的基础介绍。

如果你是准备学习网络安全或者正在学习,下面这些你应该能用得上: 

①网络安全学习路线
②20份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥网络安全必备书籍
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

 

这篇关于成为一名月薪 2 万的 web 安全工程师需要掌握哪些技能?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1093952

相关文章

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

轻松掌握python的dataclass让你的代码更简洁优雅

《轻松掌握python的dataclass让你的代码更简洁优雅》本文总结了几个我在使用Python的dataclass时常用的技巧,dataclass装饰器可以帮助我们简化数据类的定义过程,包括设置默... 目录1. 传统的类定义方式2. dataclass装饰器定义类2.1. 默认值2.2. 隐藏敏感信息

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

Java Web指的是什么

Java Web指的是使用Java技术进行Web开发的一种方式。Java在Web开发领域有着广泛的应用,主要通过Java EE(Enterprise Edition)平台来实现。  主要特点和技术包括: 1. Servlets和JSP:     Servlets 是Java编写的服务器端程序,用于处理客户端请求和生成动态网页内容。     JSP(JavaServer Pages)