網站是什麼?


在本節中,我們將了解網站的真正含義。網站只是安裝在裝置或計算機上的應用程式。網站有兩個主要應用程式,即Web伺服器(例如,Apache)和資料庫(例如,MySQL)。

  • Web伺服器用於理解和執行Web應用程式。Web應用程式可以用Java,Python,PHP或任何其他程式設計語言編寫。唯一的限制是Web伺服器需要能夠理解和執行Web應用程式。
  • 資料庫包含Web應用程式使用的資料。所有這些都儲存在稱為伺服器的計算機上。伺服器連線到網際網路並具有IP地址,任何人都可以存取或ping它。

Web應用程式由目標或安裝在伺服器上的Web伺服器執行。因此,無論何時執行Web應用程式或請求頁面,它實際上都是在Web伺服器上執行而不是在用戶端的計算機上執行。一旦在Web伺服器上執行,Web伺服器就會傳送一個HTML頁面,該頁面已準備好讀取到目標用戶端或人員,如下圖所示:

網站是什麼?

假設我們正在使用計算機或手機存取google.com。在瀏覽器網址中,如果我們輸入google.com,則會使用DNS伺服器將其轉換為IP地址。DNS是將每個名稱,.com,.edu或任何具有名稱或域名的網站轉換為其相關IP地址的伺服器。如果我們請求google.com,則請求會轉到DNS伺服器,並將google.com轉換為儲存Google的IP。然後,DNS伺服器將轉到Google的IP地址,並使用我們所說的所有應用程式執行我們想要的頁面,然後Google伺服器只是給我們一個準備好的HTML頁面。

現在程式在伺服器上執行,我們只得到一個HTML,這是一個標示語言作為程式的結果。這非常重要,因為在將來,如果我們想要在Web伺服器上執行任何操作,例如shell,那麼我們需要使用Web伺服器理解的語言(例如PHP)傳送它,並且一旦我們在伺服器內部執行它,它將在目標計算機上執行。

這意味著,無論存取頁面的人是誰,我們要傳送的Web shell(如果它是用Java或伺服器理解的語言編寫的)都將在伺服器上執行,而不是在我們的計算機上執行。因此,它將使我們能夠存取伺服器而不是存取該伺服器的人。

另一方面,一些網站使用JavaScript,這是一種用戶端語言。如果我們能夠找到允許我們執行JavaScript程式碼的網站,那麼程式碼將由用戶端執行。即使程式碼可能被注入Web伺服器,它也將在用戶端執行,它將允許我們在用戶端計算機上而不是在伺服器上執行攻擊。因此,區分用戶端語言和伺服器端語言非常重要。