相同站点脚本是由常见DNS错误配置引起的漏洞类型。但是在深入研究概念之前,请确保我们对Internet的工作原理有基本的了解。
网络工作:
当您尝试访问网站时,浏览器通过使用IP(互联网协议)与托管该网站的Web服务器进行通信。 IP使用IP地址访问这些服务器。
以下是访问网站过程的基本解释:
- 您尝试访问target.com。
- 浏览器使用DNS(域名系统)将“ target.com”转换为它的IP地址,例如“ 1.1.1.1”。
- “ target.com”的内容显示在您的浏览器上。
DNS错误配置:
让我们看看“ DNS错误配置”的含义。在上面的示例中,如果DNS服务器返回错误的IP地址(如2.2.2.2)而不是1.1.1.1,则浏览器成功访问了2.2.2.2。现在,如果恶意网站托管在2.2.2.2中,则可以通过很多方式潜在地损害受害者。如果不使用TLS(传输层安全性)来连接到2.2.2.2,则会出现此问题。另一方面,如果使用TLS,浏览器将拒绝与2.2.2.2的连接尝试,因为它没有与target.com的证书匹配的私钥。
相同站点脚本:
配置名称服务器时的常见做法是安装以下类型的记录。
localhost. IN A 127.0.0.1
一个似乎无害的错误是在结尾处保留尾随点。服务器以以下方式解析配置文件:将localhost解释为当前域中的主机名,而不是域本身。这意味着,如果您尝试对localhost.target.com使用ping命令,则查询将解决。
这引入了称为Same Site Scripting的漏洞,该漏洞是Cross-Site Scripting(XSS)的变体。由于URL的末尾没有点号,因此表明该记录不完全合格。因此,将解决形式为“ localhost.target.com”的查询。
因此,基本上,将loopback地址(这对计算机仅表示“我自己”)分配给localhost.target.com的此可路由地址。因此,当您尝试连接到该环回地址时,将连接到正在发送消息的计算机。
例子 –
当您尝试访问localhost.target.com时,如果您的本地主机上正在运行服务(例如WAMP服务器等),您将被重定向到该主机,并且将无法访问子域。
影响 :
这不是像XSS这样的高严重性漏洞,因为要利用此漏洞,攻击者必须与您位于同一台计算机上。如果不是,则它们将无法打开网络端口,从而可以从本地计算机向浏览器提供HTTP流量。
攻击场景:
如果使用多用户系统,此DNS配置错误会使受害者容易受到攻击。
- 在共享的UNIX系统上,攻击者侦听非特权端口[0],然后使用典型的XSS攻击向量(例如img src =…)诱使受害者请求“ http://localhost.target.com:1024/cutedogs”。 gif”。
- 当受害者尝试访问上述URL时,显示给受害者的响应类似于“无法加载图像”。
- 但是,在后台记录了请求。
如何避免以管理员身份使用同一站点脚本:
- 对于承载依赖于HTTP状态管理的网站的域,应从名称服务器配置中删除非FQ本地主机条目。
- 此外,那些通过DNS进行黑洞路由来减轻针对特定主机名的拒绝服务(DOS)攻击的用户应避免将目标解析为127.0.0.1或敏感域类似地址的诱惑。