📅  最后修改于: 2020-12-23 10:07:32             🧑  作者: Mango
在本节中,我们将了解网站的真正含义。网站只不过是设备或计算机上安装的应用程序。网站有两个主要应用程序,分别是Web服务器(例如Apache)和数据库(例如MySQL)。
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地址,并使用我们所说的所有应用程序执行我们想要的页面,然后只给我们准备一个HTML页面。
现在该程序在服务器上执行,并且由于该程序,我们仅获得HTML,这是一种标记语言。这一点非常重要,因为在将来,如果我们想让Web服务器上执行的任何事情(例如shell),那么我们都需要以Web服务器可以理解的语言(例如PHP)发送它,在服务器内部执行它,它将在目标计算机上执行。
这意味着,无论访问页面的人员是什么,我们将发送的Web Shell(如果使用Java或服务器理解的语言编写)将在服务器上而不是在我们的计算机上执行。因此,它将使我们能够访问服务器,而不是访问服务器的人。
另一方面,某些网站使用JavaScript,这是一种客户端语言。如果我们能够找到一个允许我们运行JavaScript代码的网站,则该代码将由客户端执行。即使代码可能被注入到Web服务器中,它也将在客户端执行,这将使我们能够在客户端计算机而非服务器上进行攻击。因此,区分客户端语言和服务器端语言非常重要。