天天看點

CTF入門學習2->Web基礎了解

對于CTF想要深入了解,Web'基礎要了解一些。

這是我學習Web内容的第一篇,主要介紹Web的發展史、Web的工作機制與相關的實操展示。

Web本意是網,這裡多指網際網路(World Wide Web),是由許多互相連接配接的超文本系統組成的,通過網際網路通路。

Web是非常廣泛的網際網路應用,每天都有數以億萬計的Web資源傳輸。

我們平時通過浏覽器上網都屬于Web。

PS:網際網路和網際網路、網際網路又有什麼聯系呢?

初期;

典型示例:

門戶網站

個人頁面

安全問題:

SQL注入

上傳漏洞

檔案包含

挂馬、暗鍊

指令執行

(主要危害Web伺服器)

一般就是提供靜态的頁面給使用者,而且這種資訊隻能夠閱讀,不能夠修改或添加。

如今;

微網誌

Blog

(更複雜,逐漸針對Web使用者

釣魚

URL跳轉

資料劫持

架構漏洞

CSRF

XSS

邏輯漏洞

Web安全形勢不容樂觀,數量迅速增長,種類迅速增多,從針對Web伺服器到Web使用者,是以Web安全知識比較重要。

以點餐類比

通常我們作為客戶,隻需要向服務員點餐、服務員上餐就可以了,而如果想要了解全過程,那Web的後續和餐廳訂餐的後續也是很像的。

下面是Web提供服務的标準流程:

這裡也分為用戶端和服務端。

上面的安全問題也可以以此劃分。

我們通路一個網站,輸入的是一個URL(域名/網址),浏覽器是無法通過我們輸入的URL找到相應的Web伺服器的,它隻能通過IP位址才能找到Web伺服器。

是以第一步,浏覽器先通過URL擷取Web伺服器的IP位址(也稱DNS解析);

第二步,才是通過解析得到的IP位址,通路Web伺服器。

我們打開浏覽器,輸入:https://www.cnblogs.com/Roboduster

浏覽器收到這個URL,會先進行上面說到的DNS解析,通常情況下,浏覽器會先向DNS伺服器發送解析請求,請求查詢這個URL的IP位址。

DNS伺服器處理完成後,傳回這個IP位址。

浏覽器接收這個資訊,并據此找到WEB伺服器。

之後,需要根據HTTP協定進行通訊。

浏覽器先發送一個HTTP請求,伺服器處理完後,會傳回一個HTTP響應給浏覽器。

我們打開https://www.cnblogs.com/Roboduster

按F12(自行找到開發者工具),選中網絡這一格

然後我們,找到左側的all(全部),點選,重新整理該頁面。

重新整理後可以看到浏覽器發送了很多請求。這些請求就是我們說的HTTP請求。

我們選中左側的任何一個js檔案,右側标頭(head)裡可以看到請求的詳細資訊。響應裡有這個js經過壓縮的樣子。預覽可以看到好一點的代碼風格。

同理可以檢視CSS和img等各種檔案格式。

最重要的是我們需要關注上方的文檔(Doc),這是我們請求的首頁面,我們可以在下面的計時(timing)檢視請求的耗時

在标頭裡我們可以看到遠端位址,這裡就是所請求的IP對應的伺服器的位址

在響應裡可以看到我們請求得到的資料體

通過上面的操作我們可能會有疑問,我們檢視的是HTTP響應,這裡是相應的資料流,而我們平時上網看到的是各色各樣的Web頁面。

那麼浏覽器是如何将伺服器傳回的HTTP響應轉換成我們看到的頁面的呢?

這就涉及各種标準和技術:HTML、JS、CSS等;這些東西将響應渲染成特定的頁面給使用者。