这是一个聚合了各种协议及其原理的知识库,不定期更新。
2021年08月09日 HTTP Header非常多,本文对协议规范中列出的HTTP Header进行了梳理,便于读者吃透HTTP协议。
2021年08月09日
2021年08月09日
笔者在学习Web安全的过程中,深切地感受到相关的知识浩如烟海,而且很大一部分知识点都相对零散,如果没有相对清晰的脉络作为参考,会给学习带来一些不必要的负担。因此,在对Web安全有了浅薄的了解之后,尝试把一些知识、想法整理记录下来,最后形成了这份笔记,希望能够为正在入门的网络安全爱好者提供一定的帮助。
在开始在前,需要明确的一个问题是,Web安全是什么。比较直白的一个定义是,Web安全是包括网站、网络应用、网络服务在内的一系列安全内容,或者说,Web安全关注的是应用层的安全,尤其是细化到与网络相关内容的安全。也就是说,Web安全需要学习的内容主要包括网络协议本身、网络应用的特性与对应的安全问题、各种工具的使用。实际上这几块内容是相当零散且庞杂的,那么应该如何学习呢,笔者尝试从这本笔记组织形式来回答这个问题。
以史为鉴,可以知兴替,最先需要了解的应该是领域的发展史。要更好的理解为什么现在的Web安全领域是这样的,各个研究又是朝什么方向而发展,就需要对Web应用技术与网络攻防技术的发展与演进历史有所了解。这也是笔记的第一部分,围绕Web技术的发展与演化、安全领域的基本常识进行了记录和说明。
在对Web安全发展史有大概了解之后可以开始对计算机网络的基础知识进行学习,这是本文的第二部分,对计算机网络的部分基础知识做了介绍。考虑到网络数据库、Web服务器等技术分支较多、演进较快,本文仅仅对网络协议进行了介绍而略过了网络应用的部分,实际上应该对各种编程语言、Web应用框架、网络服务、操作系统特性有所了解。
有一定基础之后可以关注一些更细化的攻防内容,比如某个漏洞类型的研究、某种语言、应用的特性与其对应的安全问题,这是本文的第三部分。这部分按照常见的渗透测试的顺序,对信息收集、常见的Web漏洞、常见语言与框架、内网渗透的技巧等进行了简单的讲述,开始学习渗透测试之后通常会接触到这部分内容。
第四部分回到防御的视角,从安全团队的建设、威胁情报与风控等视角进行了描述,也对蜜罐、溯源等较为细节的技术内容作了一定说明。
最后是更具体的应用,以工具的介绍与使用为主,文中的这一部分推荐了一些工具与资源列表,也归档了一部分暂时没有分类的内容。
在开始在前,需要明确的一个问题是,Web安全是什么。比较直白的一个定义是,Web安全是包括网站、网络应用、网络服务在内的一系列安全内容,或者说,Web安全关注的是应用层的安全,尤其是细化到与网络相关内容的安全。也就是说,Web安全需要学习的内容主要包括网络协议本身、网络应用的特性与对应的安全问题、各种工具的使用。实际上这几块内容是相当零散且庞杂的,那么应该如何学习呢,笔者尝试从这本笔记组织形式来回答这个问题。
以史为鉴,可以知兴替,最先需要了解的应该是领域的发展史。要更好的理解为什么现在的Web安全领域是这样的,各个研究又是朝什么方向而发展,就需要对Web应用技术与网络攻防技术的发展与演进历史有所了解。这也是笔记的第一部分,围绕Web技术的发展与演化、安全领域的基本常识进行了记录和说明。
在对Web安全发展史有大概了解之后可以开始对计算机网络的基础知识进行学习,这是本文的第二部分,对计算机网络的部分基础知识做了介绍。考虑到网络数据库、Web服务器等技术分支较多、演进较快,本文仅仅对网络协议进行了介绍而略过了网络应用的部分,实际上应该对各种编程语言、Web应用框架、网络服务、操作系统特性有所了解。
有一定基础之后可以关注一些更细化的攻防内容,比如某个漏洞类型的研究、某种语言、应用的特性与其对应的安全问题,这是本文的第三部分。这部分按照常见的渗透测试的顺序,对信息收集、常见的Web漏洞、常见语言与框架、内网渗透的技巧等进行了简单的讲述,开始学习渗透测试之后通常会接触到这部分内容。
第四部分回到防御的视角,从安全团队的建设、威胁情报与风控等视角进行了描述,也对蜜罐、溯源等较为细节的技术内容作了一定说明。
最后是更具体的应用,以工具的介绍与使用为主,文中的这一部分推荐了一些工具与资源列表,也归档了一部分暂时没有分类的内容。
2021年08月31日 SMTP、POP3、IMAP、SPF、DKIM、DMARC
2021年08月31日
2021年08月31日 http各版本介绍
2021年08月31日 本文详细介绍了http协议,包括请求头、响应头、状态码等。
写《Go语言四十二章经》,纯粹是因为开发过程中碰到过的一些问题,踩到过的一些坑,感觉在Go语言学习使用过程中,有必要深刻理解这门语言的核心思维、清晰掌握语言的细节规范以及反复琢磨标准包代码设计模式,于是才有了这本书。
2021年09月03日
2021年09月03日 所谓中间件,就是连接上下级不同功能的函数或者软件,通常进行一些包裹函数的行为,为被包裹函数提供添加一些功能或行为。
2021年09月03日
2021年09月03日 标准库http提供了Handler接口,用于开发者实现自己的handler。只要实现接口的ServeHTTP方法即可。
2021年09月03日 HTTP Server服务端用来接收并响应HTTP Client端发出的HTTP Request请求,是net/http包中非常重要和关键的一个功能。我们在Go语言中简单就能搭建HTTP服务器,就是因为它的存在。
2021年09月03日 HTTP Client客户端主要用来发送HTTP Request请求给HTTP Server服务端,比如以Do方法,Get方法以及Post或PostForm方法发送HTTP Request请求。
2021年09月03日 HTTP Response响应是由HTTP Server服务端发出的消息,用来响应HTTP Client端发出的HTTP Request请求。发出的消息包括起始行, Headers, Body。
2021年09月03日 HTTP Request请求是由客户端发出的消息, 用来使服务器执行动作.发出的消息包括起始行, Headers, Body。
2021年09月03日
Node.js是一个非常强大的基于JavaScript的框架/平台,建立在谷歌Chrome的JavaScript V8引擎上。 它用于开发I/O密集型Web应用程序,如视频流式站点,单页面应用程序和其他Web应用程序。 Node.js是开源的,完全免费的,并被全球数千名开发人员使用。
本教程是为希望学习Node.js基础知识及其架构概念的软件程序员而设计的。 本教程将通过合适的示例为您提供有关Node.js所有必要组件的充分理解。
本教程是为希望学习Node.js基础知识及其架构概念的软件程序员而设计的。 本教程将通过合适的示例为您提供有关Node.js所有必要组件的充分理解。
2021年09月17日 res对象表示Express应用程序在收到HTTP请求时发送的HTTP响应。
2021年09月17日 req对象表示HTTP请求,并具有请求查询字符串,参数,正文,HTTP标req属性。