网络安全工程师必知的Web知识

安全 应用安全
作为一名网络安全工程师,尤其是WEB渗透测试工程师,必须掌握一些WEB相关的基础知识,下面重点从WEB服务架构、浏览器请求过程、服务器操作系统、WEB应用服务器、数据库系统、动态网站脚本语言、WEB前端框架等。

作为一名网络安全工程师,尤其是WEB渗透测试工程师,必须掌握一些WEB相关的基础知识,下面重点从WEB服务架构、浏览器请求过程、服务器操作系统、WEB应用服务器、数据库系统、动态网站脚本语言、WEB前端框架等。

1.Web服务架构

Web服务主要分为C/S架构和B/S架构。下面做一下分别介绍。C/S架构指客户端/服务器架构,客户端是一个程序安装在电脑上,专门用于和服务端连接,跨平台能力差,跨平台则需要重新开发客户端,现在这种架构基本上被弃用了,除非有特殊场景要求。

B/S架构指浏览器/服务器架构,不需要安装客户端软件,通过浏览器访问服务器,业务扩展简单方便。

2. 浏览器请求过程

首先由客户端发起DNS域名解析,将访问的域名解析成IP地址。然后客户端向服务器发起TCP三次握手建立连接后(建立过程在此省略),发送HTTP请求。服务器收到请求后回复HTTP响应数据包。浏览器解析通过HTTP响应数据包传输过来的HTML代码,最后浏览器对页面进行渲染,这是浏览器请求的大致过程。

3. 服务器操作系统

操作系统是管理计算机硬件与软件的程序。操作系统主要包括windows和Linux两种操作系统,Windows是闭源的,Linux是开源的。Windows服务器操作系统主要包括Windows Server系列;Linux服务器操作系统主要包括Redhat、SUSE、Ubuntu、Centos、Rocky linux,其中国产操作系统也是基于Linux的,比如中科方德、银河麒麟、统信UOS、中标麒麟、麒麟信安、普华Linux、中兴新支点、红旗Linux、华为欧拉等。

4.Web应用服务器

Web应用服务器包括IIS、Apache、Tomcat、Nginx、WebLogic、JBoss等,下面简单介绍一下常见的Web应用服务器。IIS是微软提供的互联网服务,集成在Windows服务器操作系统中。Apache是全球用得最多的Web服务器,支持跨平台应用,源代码开放。Tomcat是一个免费开源的轻量级Web应用服务器。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强。WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。

是一个基于J2EE的开放源代码的应用服务器。

5.数据库系统

数据库就是按照数据结构来组织、存储和管理数据的仓库,下面简单介绍一下常见的数据库系统。Access是由微软发布的中小型关系型数据库管理系统。Sqlserver是由微软发布的大型关系型数据库管理系统。Mysql是一款开放源代码的关系型数据库管理系统,但是现在已经被Oracle收购,Mysql的创始人重新打造了一款开源的MariaDB数据库。Oracle是甲骨文公司的一款关系型数据库管理系统。Redis 是一个高性能的开源的分布式key-value数据库。Memcached是一套分布式的快取系统,与redis相似,。MongoDB是一个基于分布式文件存储的数据库,介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统。SQLite是一款非常轻量级的关系数据库系统,主要应用在移动端。Neo4j是一个高性能的NOSQL图形数据库。

除此之外,还有一些国产数据库,包括达梦、人大金仓、南大通用、神舟通用、瀚高、优炫、华为Gauss DB、中兴GoldenDB、巨衫SequoiaDB等。

6. 动态脚本语言

常见的动态脚本语言有ASP、PHP、JSP和javaScript,除此之外,还有Go和python等。

7.WEB前端框架

常见的Web前端框架有Angular、React、Vue。

8.开源建站系统

常见开源建站系统有DedeCMS织梦、Discuz!、帝国CMS、WordPress等,这些开源的建站系统会存在一些漏洞。

责任编辑:华轩 来源: 兰花豆说网络安全
相关推荐

2023-12-25 14:01:39

2023-11-29 14:59:37

2021-01-25 21:38:58

Java去安全漏洞

2022-05-05 11:50:58

网络安全安全人才网络安全岗位

2020-08-19 10:14:20

网络安全工程师技术

2024-02-21 10:19:25

2024-09-14 15:19:21

2011-06-21 17:08:18

2017-09-21 09:42:14

2024-01-22 15:33:22

2022-04-05 13:56:48

设计模式javascript

2011-07-08 16:37:20

2009-07-16 13:28:14

2020-11-09 09:10:31

javascript设

2017-04-18 09:46:31

机器学习工程师算法

2023-12-25 14:03:52

2012-02-13 17:13:00

2023-12-25 13:59:14

2024-11-13 14:27:48

2024-06-24 21:30:43

点赞
收藏

51CTO技术栈公众号