網絡安全工程師必知的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等,這些開源的建站系統會存在一些漏洞。