笔者在学习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年09月14日
2021年09月14日 使用一些白名单或者黑名单来过滤用户输入的HTML,以实现过滤的效果。例如DOMPurify等工具都是用该方式实现了XSS的保护。
2021年09月14日
2021年09月14日
2021年09月14日 Content Security Policy,简称 CSP,译作内容安全策略。顾名思义,这个规范与内容安全有关,主要是用来定义哪些资源可以被当前页面加载,减少 XSS 的发生。
2021年09月14日 同源策略限制了不同源之间如何进行资源交互,是用于隔离潜在恶意文件的重要安全机制。 是否同源由URL决定,URL由协议、域名、端口和路径组成,如果两个URL的协议、域名和端口相同,则表示他们同源。
2021年09月14日 存在XSS漏洞时,可能会导致以下几种情况:
2021年09月14日 XSS全称为Cross Site Scripting,为了和CSS分开简写为XSS,中文名为跨站脚本。该漏洞发生在用户端,是指在渲染过程中发生了不在预期过程中的JavaScript代码执行。XSS通常被用于获取Cookie、以受攻击者的身份进行操作等行为。
Canvas、Clipboard、Fetch、FontFace、Geolocation、IntersectionObserver、Intl.RelativeTimeFormat、Page Lifecycle、Page Visibility、Server-Sent Events、SVG、WebSocket、Web Share
2021年09月13日
2021年09月13日
2021年09月13日 Clipboard 对象提供了四个方法,用来读写剪贴板。它们都是异步方法,返回 Promise 对象。
2021年09月13日
2021年09月13日
2021年09月13日
2021年09月13日
2021年09月13日
2021年09月13日
Node.js是一个非常强大的基于JavaScript的框架/平台,建立在谷歌Chrome的JavaScript V8引擎上。 它用于开发I/O密集型Web应用程序,如视频流式站点,单页面应用程序和其他Web应用程序。 Node.js是开源的,完全免费的,并被全球数千名开发人员使用。
本教程是为希望学习Node.js基础知识及其架构概念的软件程序员而设计的。 本教程将通过合适的示例为您提供有关Node.js所有必要组件的充分理解。
本教程是为希望学习Node.js基础知识及其架构概念的软件程序员而设计的。 本教程将通过合适的示例为您提供有关Node.js所有必要组件的充分理解。
2021年09月17日 Node.js提供了一个http模块,可用于创建服务器的HTTP客户端。 以下是在8081端口侦听的HTTP服务器的最小结构。
需要说明一下,因为一直有在看《HTTP权威指南》,觉得这是一本很值得称赞的一本高质量的书籍,书中内容涵盖很全面,而且配以插图,使得阅读起来很容易理解!无论是对于已经踏足开发领域的老手,还是刚接触相关领域的新手,都可以接触。所以很推荐大家从头到尾过一遍,我相信看过之后对某些概念将会有一个更深层次的理解!当然了,我的建议是对这本书多过几遍,因为这样才能加深映像同时加深理解!毕竟常言道:“书读百遍,其意自见、温故而知新等都说明了书需要多次阅读才能体会其意,才能从中读出更深层次的含义”!
首先说明一下,这个文档并不是要超越《HTTP权威指南》原书,文档中描述到的所有概念都是基于原书的!因为原书对相关概念介绍的太过仔细,所以原书的篇幅过于太长,而我常常出现的情况是对原书中的一些概念记忆模糊,需要通过再次查看才能回忆起来,可是我发现每次重新去找某些知识点的时候,发现是一个很耗时、复杂的过程,因为得到相关章节一页一页的去找,而我只是对于某个概念“模糊”而已,所以我觉得这个过程是不必要的,同时,我希望通过自己在文档中对原书的一些概念进行提炼性的总结来加深自己的记忆映像!因此才有了这个文档的诞生!
切记!!此文档是基于原书的,所以希望读者都是看过原书的。所以你没有看过原书,而直接来这里看,那么是没有意义的,因为本文档没有图文并茂的实例,更没有代码供查看,有的只是从原书中copy过来的“提炼过”的文字、概念而已。
最最最后再说一下,由于时间仓促,所以有些地方表达不是很到位的地方,那么请您以原书为主!再次感谢的阅读!
首先说明一下,这个文档并不是要超越《HTTP权威指南》原书,文档中描述到的所有概念都是基于原书的!因为原书对相关概念介绍的太过仔细,所以原书的篇幅过于太长,而我常常出现的情况是对原书中的一些概念记忆模糊,需要通过再次查看才能回忆起来,可是我发现每次重新去找某些知识点的时候,发现是一个很耗时、复杂的过程,因为得到相关章节一页一页的去找,而我只是对于某个概念“模糊”而已,所以我觉得这个过程是不必要的,同时,我希望通过自己在文档中对原书的一些概念进行提炼性的总结来加深自己的记忆映像!因此才有了这个文档的诞生!
切记!!此文档是基于原书的,所以希望读者都是看过原书的。所以你没有看过原书,而直接来这里看,那么是没有意义的,因为本文档没有图文并茂的实例,更没有代码供查看,有的只是从原书中copy过来的“提炼过”的文字、概念而已。
最最最后再说一下,由于时间仓促,所以有些地方表达不是很到位的地方,那么请您以原书为主!再次感谢的阅读!
2021年09月18日 本章简单介绍了web服务器原理、实现以及实现处理http事务的一些细节!
Apache Maven 是一套软件工程管理和整合工具。基于工程对象模型(POM)的概念,通过一个中央信息管理模块,Maven 能够管理项目的构建、报告和文档。
本教程将教你如何在使用 Java 开发的工程中,或者任何其他编程语言中使用 Maven。
适合人群
本教程主要针对初学者,帮助他们学习 Maven 工具的基本功能。完成本教程的学习后你的 Apache Maven 的专业知识将达到中等水平,随后你可以学习更高级的知识了。
学习前提
我们假定你将使用 Maven 来管理企业级的 Java 项目开发。所以,如果你掌握软件开发、Java SE、Java EE 开发框架和开发流程,对学习本教程会更有帮助。
本教程将教你如何在使用 Java 开发的工程中,或者任何其他编程语言中使用 Maven。
适合人群
本教程主要针对初学者,帮助他们学习 Maven 工具的基本功能。完成本教程的学习后你的 Apache Maven 的专业知识将达到中等水平,随后你可以学习更高级的知识了。
学习前提
我们假定你将使用 Maven 来管理企业级的 Java 项目开发。所以,如果你掌握软件开发、Java SE、Java EE 开发框架和开发流程,对学习本教程会更有帮助。
2021年12月01日 本教程将指导你如何使用 Maven 版本控制系统来管理一个基于 Web 的工程。在此,你将学习到如何创建/构建/部署以及运行 Web 应用程序:
前一页
后一页