URL、HTTPS、HTTP代理、HTTP身份验证简介

URL:

URL(Uniform Resource Locator,统一资源定位符)是标识Web资源的唯一标识符.通过它即可获取其标识的资源。最常用的URL格式如下:

protocol://hostname[:port]/[path/Ifile[?param=valuel

这个结构中有几个部分是可选的。如果端口号与相关协议使用的默认值不同,则只包含端口号即可。用于生成前面的HTTP请求的URL为:

https://mdsec.net/auth/488/YourDetails.ashx?uid=129

除这种绝对形式外,还可以相对某一特殊主机或主机上的一个特殊路径指定URL,例如:

/auth/488/YourDetails.ashx?uid=129

YourDetails.ashx?uid=129

Web页面常常使用这些相对形式描述Web站点或应用程序中的导航

HTTPS

  HTTP使用普通的非加密TCP作为其传输机制.因此,处在网络适当位置的攻击者能够截取这个机制。HTTPS本质上与HTTP一样,都属于应用层协议.但HTTPS通过安全传输机制—安全套接层(Secure Socket Layer, SSL)一旦专送数据。这种机制可保护通过网络传送的所有数据的隐密性与完整性,显著降低非人侵性拦截攻击的可能性。不管是否使用SSL进行传输,HTTP请求与响应都以完全相同的方式工作。

HTTP代理

  HTTP代理服务器是一个协调客户端浏览器与目标Web服务器之间访问的服务器。当配置浏览器使用代理服务器时.它会将所有请求提交到代理服务器,代理服务器再将请求转送给相关Web服务器。并将响应返回给浏览器。大多数代理还使用其他服务,如缓存、验证与访问控制。值得注意的是,如果使用代理服务器,HTTP的工作机制会出现两方面的差异。

  1. 当浏览器向代理服务器发布HTTP请求时,它会将完整的URL(包括协议前缀 http://与服务器主机名称,在非标准URL中,还包括端口号)插人请求中。代理服务器将提取主机名称和端口,并使用这些信息将请求指向正确的目标Web服务器。
  2. 当使用HTTPS时.浏览器无法与代理服务器进行SSL握手.因为这样做会破坏安全隧道,使通信易于遭受拦截攻击。因此.浏览器必须将代理作为一个纯悴的TCP级中继,由它传递浏览器与目标Web浏览器之间的所有网络数据,并与浏览器进行正常的SSL握手。浏览器使用CONNECT方法向代理服务器提交一个HTTP请求.并指定URL中的目标主机名称与端口号.从而建立这种中继。如果代理允许该请求,它会返回一个含200状态码的HTTP响应,一直开放TCP连接.从此以后作为目标Web服务器的纯梓TCP级中继。

  从某种程度上说,攻击Web应用程序时最有用的工具是一个处在浏览器与目标Web站点之间的专用代理服务器,使用它可以拦截并修改所有使用HTTPS的请求与响应。

HTTP身份验证

HTTP拥有自己的用户身份验证机制,使用不同的身份验证方案。

  • Basic 这是一种非常简单的身份验证机制。它在请求消息头中随每条消息以Base64编码字符申的形式发送用户证书。
  • NTLM  WindowsNT挑战/响应验证机制,称之为NTLM。现在已经有了更新的NTLMv2以及Kerberos验证体系。NTLM是windows早期安全协议,因向后兼容性而保留下来。
  • Digest 这是一种响应式机制,它随同用户证书一起使用一个随机值MD5校验和

虽然组织内部经常使用这些身份验证协议访问内联网服务,但因特网上的Web应用程序基本很少使用它们。

 

posted @ 2021-12-27 02:27  咸鱼不翻身~  阅读(1107)  评论(0编辑  收藏  举报