A. web安全要学什么
Web安全的范围实在太大,哪些先学,哪些后学,如果没有系统的路线会降低大家效率,对于刚入门的同学们来说简直就是“噩梦”。所以,这篇类似学习路线的文章,希望可以帮助刚入门的萌新们少走弯路。(文末附学习资料及工具领取)
首先我们来看看企业对Web安全工程师的岗位招聘需求是什么?
1职位描述
对公司各类系统进行安全加固;
对公司网站、业务系统进行安全评估测试(黑盒、白盒测试)
对公司安全事件进行响应、清理后门、根据日志分析攻击途径
安全技术研究,包括安全防范技术、黑客技术等;
跟踪最新漏洞信息,进行业务产品的安全检查。
熟悉Web渗透测试方法和攻防技术,包括sql注入、XSS跨站、CSRF伪造请求、命令执行等OWSP TOP10 安全漏洞与防御;
熟悉Linux、Windows不同平台的渗透测试,对网络安全、系统安全、应用安全有深入理解和自己的认识;
熟悉国内外安全工具,包括Kali、Linux、Metasploit、Nessus、Namp、AWVS、Burp等;
对Web安全整体有深刻理解,有一定漏洞分析和挖掘能力;
2岗位要求
根据岗位技能需求,再来制定我们的学习路径,如下:
一、Web安全学习路径
01 HTTP基础
只有搞明白Web是什么,我们才能对Web安全进行深入研究,所以你必须了解HTTP,了解了HTTP,你就会明白安全术语的“输入输出”。黑客通过输入提交“特殊数据”,特殊数据在数据流的每个层处理,如果某个层没处理好,在输出的时候,就会出现相应层的安全问题。关于HTTP,你必须要弄明白以下知识:
HTTP/HTTPS特点、工作流程
HTTP协议(请求篇、响应篇)
了解HTML、Javascript
Get/Post区别
Cookie/Session是什么?
02 了解如下专业术语的意思
Webshell
菜刀
0day
SQL注入
上传漏洞
XSS
CSRF
一句话木马
......
03 专业黑客工具使用
熟悉如何渗透测试安全工具,掌握这些工具能大大提高你在工作的中的效率。
Vmware安装
Windows/kali虚拟机安装
Phpstudy、LAMP环境搭建漏洞靶场
Java、Python环境安装
子域名工具 Sublist3r
Sqlmap
Burpsuite
Nmap
W3af
Nessus
Appscan
AWVS
04 XSS
要研究 XSS 首先了解同源策略 ,Javascript 也要好好学习一下 ,以及HTML实体 HTML实体的10 或16进制还有Javascript 的8进制和16进制编码,最终掌握以下几种类型的XSS:
反射型 XSS:可用于钓鱼、引流、配合其他漏洞,如 CSRF 等。
存储型 XSS:攻击范围广,流量传播大,可配合其他漏洞。
DOM 型 XSS:配合,长度大小不受限制 。
05 SQL注入
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。你需要了解以下知识:
SQL 注入漏洞原理
SQL 注入漏洞对于数据安全的影响
SQL 注入漏洞的方法
常见数据库的 SQL 查询语法
MSSQL,MYSQL,ORACLE 数据库的注入方法
SQL 注入漏洞的类型:数字型注入 、字符型注入、搜索注入 、盲注(sleep注入) 、Sqlmap使用、宽字节注入
SQL 注入漏洞修复和防范方法
一些 SQL 注入漏洞检测工具的使用方法
06 文件上传漏洞
了解下开源编辑器上传都有哪些漏洞,如何绕过系统检测上传一句话木马、WAF如何查杀Webshell,你必须要掌握的一些技能点:
1.客户端检测绕过(JS 检测)
2.服务器检测绕过(目录路径检测)
3.黑名单检测
4.危险解析绕过攻击
5..htaccess 文件
6.解析调用/漏洞绕过
7.白名单检测
8.解析调用/漏洞绕过
9.服务端检测绕过-文件内容检测
10.Apache 解析漏洞
11.IIS 解析漏洞
12.Nginx 解析漏洞
07 文件包含漏洞
去学习下
include() include_once() require() require_once() fopen() readfile()
这些php函数是如何产生文件包含漏洞, 本地包含与远程包含的区别,以及利用文件包含时的一些技巧如:截断 /伪url/超长字符截断等 。
08 命令执行漏洞
PHP代码中常见的代码执行函数有:
eval(), assert(), preg_replace(), call_user_func(), call_user_func_array(),create_function(), array_map()等。
了解这些函数的作用然后些搞清楚如何造成的代码执行漏洞。
09 CSRF 跨站点请求
为什么会造成CSRF,GET型与POST型CSRF 的区别, 如何防御使用 Token防止CSRF?
010 逻辑漏洞
了解以下几类逻辑漏洞原理、危害及学会利用这几类漏洞:
信息轰炸、支付逻辑漏洞、任意密码修改、越权访问、条件竞争、任意注册、任意登录、顺序执行缺陷、URL跳转漏洞.
011 XEE(XML外部实体注入)
当允许XML引入外部实体时,通过构造恶意内容,可以导致文件读取、命令执行、内网探测等危害。
012 SSRF
了解SSRF的原理,以及SSRF的危害。
SSRF能做什么?当我们在进行Web渗透的时候是无法访问目标的内部网络的,那么这个时候就用到了SSRF漏洞,利用外网存在SSRF的Web站点可以获取如下信息。
1.可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息;
2.攻击运行在内网或本地的应用程序(比如溢出);
3.对内网Web应用进行指纹识别,通过访问默认文件实现;
4.攻击内外网的Web应用,主要是使用get参数就可以实现的攻击(比如struts2,sqli等);
5.利用file协议读取本地文件等。
如果上述漏洞原理掌握的都差不多那么你就算入门Web安全了。
如果看了上面你还不知道具体如何学习?可参考合天网安实验室Web安全工程师岗位培养路径学习:网页链接
B. 网络安全工程师需要学什么
1、了解各种SQL注入类型:报错注入、布尔盲注、时间盲注、DNSLog盲注、二次注入、宽字节注入、还有伪静态SQL注入
2、SQL XSS、XXE、SSRF命令执行等无回显,如何测试证明漏洞存在?
3、PHP代码审计常见危险函数测试思路防御方法你了解多少?
成为一个Web安全工程师需要扎实的基础,需要系统化的学习,更需要攻防模拟演练,从而培养独立完成项目实战的能力。不是懂一点皮毛就可以胜任的!
如果你能掌握安全漏洞高级利用方法与防御方法,熟练使用渗透测试工具的高级使用技巧,漏洞手工利用技巧,掌握对外网渗透和内网渗透技术,并掌握PHP代码审计,python安全脚本开发等技能,那么你才算是在Web安全行业小有所成了!
当然了,如果你入门网络安全,但是对技术又不太敏感,觉得自己很愚钝找不到好工作,其实也不用怕,之前提到网络安全里面包含了售前工程师,这个岗位需要对网络知识理论足够了解,也懂得相关的安全知识、安全标准,但是对技术要求不高,服务与各大企业薪酬也是很高的。
最后做总结,网络安全工程师需要学什么?了解网络基础和基本理论、操作系统、编程语言,然后入门Web安全,掌握了一定的网络安全技术后,再考虑以后的大职业方向。
C. 我想问下学web安全这方面容易找工作吗,就是渗透这方面
这方面还是可以的
因为企业个人网站越来越多
市场上
也没有特别管用的安全防护软件
一般差不多的公司
都会有网络安全管理人员
纯手打
望采纳
D. 网络安全都有哪些就业方向
能够胜任的岗位主要有:渗透测试工程师、大数据安全工程师、信息安全工程师、安全测试工程师、安全服务工程师、安全运维工程师、系统安全工程师、服务器安全工程师、云计算安全工程师、网络安全工程师、安全分析师、渗透讲师等;
说了这么多,可能还是有挺多人不太明白,词汇太过专业,那就来点接地气的说法;
按照web渗透、内网渗透、自动化渗透、代码审计、日志分析、应急响应、安全加固等知识点学完后,上述大部分岗位胜任完全没有问题,前提是实战技术要过硬,工具要使用得溜溜的。
1.专业对口:渗透测试工程师
专业比较对口的工作是渗透测试工程师,主要是在企业中承担找漏洞的角色,找漏的对象主要是企业授权的站或者自己家系统的漏洞;也有定点突破的一些来自GA的网站等;
2.能力提升阶段:安全服务岗位
如果能力处于提升阶段的,从事安全服务岗位是较为合适的,该岗位需要懂Web漏洞的一些原理,能够使用一些渗透工具做Web漏洞扫描或内网扫描 ,针对扫描结果生成渗透测试报告,并能够提出一些整改的建议即可;难度相对要低一些,更多的时候都是采用工具去完成渗透,主要原因也是因为任务较重,一天需要渗透测试的网站较多,需要短时间测试完毕;
3.能力较强:进入企业/实验室跟进产品线
有一些能力强一点的也会选择进入企业或者实验室,跟产品线的,很多时候需要做安全分析,如态势感知的产品,需要懂Web渗透的原理、利用和编写POC或EXP,然后利用wireshark抓包分析,提取漏洞攻击和利用的一些规律,提取对应的规则等;
4.能力强、口才好:渗透讲师岗位
当然如果你的能力和口才不错,也可以选择渗透讲师岗位,不过该岗位对工作经验有一定的要求。
E. 自学web渗透测试学成什么样能找工作正常需要多久
学成能独立完成web层面渗透,修复,能在web架构层面提供安全解决方案的样子就可以找工作了,一般的话,全日制脱产学习网络安全课程需要4个月左右,渗透测试阶段的内容学习大概20天,当然,这些仅供参考。
学成WEB前端开发的必要因素,一样都不可以少:
1.自主学习的能力,自己不动,谁都帮不了你。
2.有经验的技术好的人在前期带你少走弯路。
3.明确的学习规划路线,学最新最有用的东西。
4.坚定的目标感,没有持之以恒的态度,什么都学不了,学习都是枯燥的。
关于WEB前端的教程以及学习内容
基础:HTML+CSS网站页面搭建,CS核心和PC端页面开发,HTML5移动端页面开发
核心:web前端核心技术Java,ecmasript,dom,ajax,json,正则,作用域,运动框架,核心算法,高级函数,插件封装,jQuery等。
高级:html5+高级Java开发,大数据可视化,webapp交互接口,lbs定位,微信sdk,es6标准,高级算法,数据结构,插件封装。
框架:vue、react、angular企业开发应用。
企业要求:bootstrap,swiper,iscroll,sass,ps切图,网站上线等。
以上知识点内容都真正的掌握了,当然可以找到一份很不错的WEB前端开发的工作。但是能持之以恒学下去的人并不多,弯路走的太多了,人的状态自然就下降了。所以学习WEB前端开发最好的还是少走弯路,这样的效率才会高。