CTF — web入门(持续更新…)
WEB簡介
web俗稱web安全,當大家打開瀏覽器那一刻。就開始和web打交道了,web安全是網絡中最經典的應用之一。
WEB常見術語
web前端
Web前端開發工程師,主要職責是利用(X)HTML/CSS/JavaScript/Flash等各種Web技術進行客戶端產品的開發。完成客戶端程序(也就是瀏覽器端)的開發,開發JavaScript以及Flash模塊,同時結合后臺開發技術模擬整體效果,進行豐富互聯網的Web開發,致力于通過技術改善用戶體驗。
web后端
后端開發(Back-End Development,也稱服務端開發、服務器端開發等)是創建完整可運行的Web應用服務端程序(服務端程序和資源合稱為后端,即在服務器上運行的、不涉及用戶界面的部分)的過程,是Web應用程序開發的一部分。后端開發者使用Java、Golang等語言及其衍生的各種框架、庫和解決方案來實現Web應用程序的核心業務邏輯,并向外提供特定的API,使得Web應用能夠高效、安全、穩定地運行。
URL
URL(Uniform Resource Locator),統一資源定位符,用于定位互聯網上資源,俗稱網址。比如 http://www.w3school.com.cn/ht…,遵守以下的語法規則:
scheme://host.domain:port/path/filename- scheme - 定義因特網服務的類型。常見的協議有 http、https、ftp、file,其中最常見的類型是 http,而 https 則是進行加密的網絡傳輸。
- host - 定義域主機(http的默認主機是WWW)
- domain - 定義因特網域名(com.cn)
- port - 定義主機上的端口號(HTTP的默認端口號是80)
- path - 定義服務器上的路徑
- filename - 定義文檔 / 資源的名稱
參數部分:從“?”開始到“#”為止之間的部分為參數部分,又稱搜索部分、查詢部分。本例中的參數部分為“boardID=5&ID=24618&page=1”。參數可以允許有多個參數,參數與參數之間用“&”作為分隔符。
IP地址
- 互聯網上的所有數據都是存儲在主機(服務器)上
- 互聯網中的所有主機都擁有唯一的IP地址
- 互聯網中任意兩臺主機通信都是通過IP地址來實現
IP 地址是指互聯網協議地址,是 IP Address 的縮寫。IP 地址是 IP 協議提供的一種統一的地址格式,它為互聯網上的每一個網絡和每一臺主機分配一個邏輯地址,以此來屏蔽物理地址的差異。IP 地址是一個 32 位的二進制數,比如 127.0.0.1 為本機 IP。
端口
跟在域名后面的是端口,域名和端口之間使用“:”作為分隔符。端口不是一個URL必須的部分,如果省略端口部分,將采用默認端口.
如果把IP地址比作一間房子 ,端口就是出入這間房子的門。真正的房子只有幾個門,但是一個IP地址的端口可以有65536(即:2^16) 個之多!端口是通過端口號來標記的,端口號只有整數,范圍是從0 到65535(2^16-1)。
在Internet上,各主機間通過TCP/IP協議發送和接收數據包,各個數據包根據其目的主機的ip地址來進行互聯網絡中的路由選擇,把數據包順利的傳送到目的主機。大多數操作系統都支持多程序(進程)同時運行,那么目的主機應該把接收到的數據包傳送給眾多同時運行的進程中的哪一個呢?顯然這個問題有待解決,端口機制便由此被引入進來。
http:默認端口號80 ; https:默認端口號443 ; ftp:默認端口號2。
域名
ip是房子的門牌地址,域名是房子的主人名字。房子可以換主人,但是不能換地址。ip地址是Internet網中主機地址的一種數字標識,IP就使用這個地址在主機之間傳遞信息,而域名是互聯網中用于解決地址對應問題的一種方法。域名像名字一樣簡單好記,可以廣泛傳播。
- com是頂級域名
- baidu.com是二級域名(俗稱一級域名)
- www.baidu.com是三級域名(俗稱二級域名)
域名類型:
- .com 用于商業公司
- .org 用于組織、協會等
- net 用于網絡服務
- .edu 用于教育機構
- .gov. 用于政府部
- .mil 用于軍事領域
DNS
DNS (Domain Name Server ) 譯為:域名解析服務
在瀏覽器輸入網址后,首先要經過域名解析,DNS 協議提供通過域名查找 IP 地址,或逆向從 IP 地址反查域名的服務。DNS 是一個網絡服務器,我們的域名解析簡單來說就是在 DNS 上記錄一條信息記錄。
瀏覽器
瀏覽器是用來檢索、展示以及傳遞Web信息資源的應用程序。Web信息資源由統一資源標識符( URI)所標記,它是一張網頁、一張圖片、一段視頻或者任何在Web上所呈現的內容。
瀏覽器如何通過域名去查詢 URL 對應的 IP?
瀏覽器通過向 DNS 服務器發送域名,DNS 服務器查詢到與域名相對應的 IP 地址,然后返回給瀏覽器,瀏覽器再將 IP 地址打在協議上,同時請求參數也會在協議搭載,然后一并發送給對應的服務器。
TCP 三次握手
在客戶端發送數據之前會發起 TCP 三次握手用以同步客戶端和服務端的序列號和確認號,并交換 TCP 窗口大小信息。
HTTP
超文本傳輸協議(Hyper Text Transfer Protocol,HTTP)是一個簡單的請求-響應協議,它通常運行在TCP之上。
TCP 三次握手結束后,開始發送 HTTP 請求報文。
1 .請求行包含請求方法、URL、協議版本
- 請求方法包含 8 種:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE。
- URL 即請求地址,由 <協議>://<主機>:<端口>/<路徑>?<參數> 組成
- 協議版本即 http 版本號
2 .請求頭包含請求的附加信息,由關鍵字/值對組成,每行一對,關鍵字和值用英文冒號“:”分隔。
—— 常見頭部字段
服務器
服務器是網絡環境中的高性能計算機,它偵聽網絡上的其他計算機(客戶機)提交的服務請求,并提供相應的服務,比如網頁服務、文件下載服務、郵件服務、視頻服務。而客戶端主要的功能是瀏覽網頁、看視頻、聽音樂等等,兩者截然不同。 每臺服務器上都會安裝處理請求的應用——web server。常見的 web server 產品有 apache、nginx、IIS 或 Lighttpd 等。 web server 擔任管控的角色,對于不同用戶發送的請求,會結合配置文件,把不同請求委托給服務器上處理相應請求的程序進行處理(例如 CGI 腳本,JSP 腳本,servlets,ASP 腳本,服務器端 JavaScript,或者一些其它的服務器端技術等),然后返回后臺程序處理產生的結果作為響應。
shell
真正能夠控制計算機硬件(CPU、內存、顯示器等)的只有操作系統內核(Kernel),圖形界面和命令行只是架設在用戶和內核之間的一座橋梁。
由于安全、復雜、繁瑣等原因,用戶不能直接接觸內核(也沒有必要),需要另外再開發一個程序,讓用戶直接使用這個程序;該程序的作用就是接收用戶的操作(點擊圖標、輸入命令),并進行簡單的處理,然后再傳遞給內核。如此一來,用戶和內核之間就多了一層“代理”,這層“代理”既簡化了用戶的操作,也保護了內核。
用戶界面和命令行就是這個另外開發的程序,就是這層“代理”。在Linux下,這個命令行程序叫做 Shell。
木馬
木馬全稱為特洛伊木馬,來源于古希臘神話。木馬是通過欺騙或誘騙的方式安裝,并在用戶的計算機中隱藏以實現控制用戶計算機的目的。
——木馬詳解
總結
以上是生活随笔為你收集整理的CTF — web入门(持续更新…)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OT网络安全-OT客户端安全防护要采取那
- 下一篇: 智慧消防的业务流程 智慧消防解决方案