网站渗透这块水太深,你把握不住!但你叔我能(十年经验分享)

网站渗透这块水太深,你把握不住!但你叔我能(十年经验分享)

很多朋友问我,想搞网络安全专业的学校很少,大部分同学是来自计算机科学、网络工程、软件工程专业的,甚至很多非计算机专业自学的。因此不像这三个专业,有系统的课程体系,大一教什么,大二教什么,大三又教什么,那么清晰明白,网络安全这条路很多都是自学摸索。

我从大二开始入坑网络安全,至今也有十个年头了,也见过许许多多自学成才的例子,工作这些年,先后学习过C、C++、Java、Python、Objective-C、JavaScript、TypeScript,现在回过头来,有一些自己的思考。

很多培训班,一上来就给你讲一堆各种攻击手法、各种工具使用,很多人搞得一头雾水,为什么要学这些,这些背后的原理是什么全都不知道。

我主张学习网络安全可以像做软件开发中的“敏捷开发”,先从一个最小的核心开始,逐步迭代,已臻完善。

这个最小的核心是什么呢?

如果你是偏向于搞网络渗透的方向,这个最小核心就是:

HTTP + Web + 漏洞扫描工具,学习网站漏洞的概念,开始有“安全”这个意识。

围绕Web相关的知识掌握得差不多了,然后可以开始迭代起来了:

1、有了上面这些基本知识,可以开始学习各种花式的Web漏洞攻击,什么XSS、CSRF、SQL注入、SSRF等等。

2、学习漏洞原理的过程中,开始熟悉一些Web服务器的工作机制,日志技术,容器技术这些知识,以及背后的操作系统Linux/Windows的基础知识。

3、对Web安全有了一些基础,开始把眼光从Web放宽到更广阔的网络安全,这个时候,就需要进一步学习HTTP背后的TCP劫持、DNS劫持、ARP欺骗、TCP SYN洪水攻击等等。

4、对网络攻击的手法了解到这个阶段,现有的工具可能就满足不了你的需要,你需要定制一些爬虫、扫描、漏洞POC或其他工具了,是时候来学习一些工具编写了,你可以开始学习Python编程,门槛最低,实用性最强。

5、安全玩到后面,都是在玩漏洞。而学到后面,越来越多时间开始接触到操作系统层面的漏洞,这个时候你就要开始学习一些C语言,通过C知道代码程序底层的执行原理,拓展自己在操作系统层面的知识深度。

6、有了上面这些技术的打底,你的眼界将会被打开,但随之而来,你会发现自己要学的还有很多,但至少到这个时候,你不再像一开始那么迷茫,而是知道自己接下来该去补充哪些东西。

核心:

1.web安全

2.二进制安全(包括逆向工程和漏洞利用)

3.密码学知识

 

其他基础:

1.软件开发

2.数据库原理

3.编程语言

4.计算机取证分析和隐写术

5.网络协议及网络算法

6.算法与数据结构

7.研究开源工具的基本原理,懂得自制工具

 

Web安全:

1.注入类:SQL注入;XSS跨站脚本攻击;XXE;命令执行~命令注入(bash);文件上传~文件下载

2.信息接口;员工资料泄露;服务器信息泄露

3.逻辑类:权限绕过;条件竞争;数据篡改

 

网站工作原理:

HTTP协议;Webserver

 

HTTP协议构成:

1.http-header构成(request response)

2.http-body 构成(request response)

3.http方法

 

Webserver:

1.Webserver分类

2.Webserver解析流程

3.Webserver基础安全

 

编程语言:

前端:html,css,javascript

后台和脚本语言:php,java,python

 

数据库原理:

关系型数据库(MySQL)和非关系型数据库

 

逆向工程:

1.体系结构:机器指令和汇编语言

2.编译原理:自动机,词法分析,语法分析

3.操作系统:系统的加载与引导

4.计算机组成原理

 

漏洞挖掘与利用:

1.逆向工程

2.模糊测试

3.什么是漏洞

4.程序员在什么时候会犯错

5.信息收集工具:端口,子域名,代码泄露,员工字典

6.数据包抓取修改重放工具

7.顺手的浏览器及插件(火狐H网站渗透这块水太深,你把握不住!但你叔我能(十年经验分享)

 

福利来啦:

最新2021整理收集的一些高频面试题(都整理成文档),有很多干货,包含网络安全,渗透测试,Linux运维,Web安全。。详细讲解,也有详细的学习规划图,面试题整理等,需要获取这些内容的朋友请扫描下方二维码 备注:网站渗透这块水太深,你把握不住!但你叔我能(十年经验分享)

 

总结:

回答一开始那个问题,对于网络渗透方向,编程不是一开始就要做的事,也不如程序员拿它吃饭那么重要,但即便如此,你还是得学一点。

以上是我对网络渗透方向学习的一些建议,而对于安全开发与二进制安全方向,则有所不同,我们下次再聊这两个方向。