首页 > 自考资讯 > 自考知识

https端口,http是什么意思

头条共创 2024-06-27

HTTP 基础知识

b2a2bc224dd44f29910bab99d328ceed~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720073998&x-signature=iB8J%2FyG4fqctHDWRsBwJ82IiNnA%3D 超文本传输协议(HTTP)是一种应用层协议。从表面上看,HTTP 看起来很简单,但是当你考虑到它在浏览器和服务器之间的不一致使用时,它就有很多问题。

反汇编HTTP请求

通常,对于每个请求:

请求行标头正文(可选)14cc894102c04d8e8b9d0d22ecaf51d4~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720073998&x-signature=Pzpop3XVPl8kSQsXrH7wHF8VRe0%3D从上面的示例中,请求行是请求的第一行,包含HTTP 方法(GET)、请求URI (/api/shop/products) 和协议(HTTP/1.1 )。

标头列在请求行下方。每行首先定义标题本身,然后是冒号,然后是值。例如,Host 标头的值为“localhost”,Content-Type 标头的值为“application/json”。

对于GET 请求(最常见的HTTP 方法),不应有正文。这是因为我们只请求资源,所有参数都通过URI 传递。但是,对于其他HTTP 方法(例如POST),正文列在标头之后并在中间断开。右侧的HTTP 响应示例中可以看到这样的示例。

响应结构通常是相同的。再次准备好您的回复行、标题和正文。响应中需要指出的主要内容之一是状态代码。这显示了请求发生了什么。 “200 OK”是一个好兆头,意味着请求已成功处理。还有其他响应代码,可分为以下几类:

100-199 是信息性响应。 200-299 是成功响应。 300-399 是重定向消息。 400-499 是客户端错误。 500-599 是服务器错误。 如果您想了解有关状态代码的更多信息,请查看RFC。 9110。

HTTP方式

这些有时称为HTTP 动词。这些指示预期对资源执行的操作。最常见的HTTP 方法是GET、POST、PUT 和DELETE。尽管您可能不需要立即了解每种方法的工作原理,但了解常用方法很重要。

GET 从服务器获取资源。 POST 将资源发送到服务器。 PUT 更新服务器上的资源。 DELETE 删除服务器上的资源。其他值得注意的方法有HEAD、PATCH、OPTIONS、CONNECT 和TRACE。

了解应用程序如何工作以及它接受哪些HTTP 方法可能会导致意外行为。例如,应用程序可能接受并处理开发人员不希望的HTTP 方法。

HTTP 标头

标头用于通过请求和响应传递附加信息。当我们谈论请求标头时,我们指的是客户端在初始请求中发送到Web 服务器的标头。响应标头是返回的标头。让我们讨论作为应用程序安全工程师或Web 应用程序渗透测试人员需要理解的一些标题。

内容安全政策

有时称为“CSP”。这有助于浏览器检测并减轻一些注入攻击,例如XSS。当您定义这一点时,您还需要一个随附的策略来描述要遵循的许多说明。有关此指令的更多信息,请参阅mdn 网络文档。

X 框架选项

这告诉浏览器是否允许页面在框架、iframe、嵌入或对象中呈现。使用X-Frame-Options 防止页面加载到其他站点并防止点击劫持攻击。

HTTP 严格传输安全协议

它通常被称为“HSTS”。这告诉浏览器该站点只能通过HTTPS 访问。如果发出HTTP 请求,应自动升级为HTTPS。

在这里,我们重点介绍漏洞扫描和其他测试可能标记的一些关键问题。当然,有很多标题需要考虑,因此我们建议花时间回顾每一个。尝试彻底了解他们所做的事情,也许更重要的是,他们的局限性是什么。

曲奇饼

由于HTTP是无状态协议(即它不维护会话或请求之间的连接),因此需要会话管理机制。 Cookie 提供此功能并按如下方式工作:

用户通过Web 服务进行身份验证,Web 服务器生成会话ID 并将其作为cookie 发送回客户端。客户端通过每个后续请求将会话ID 发送回服务器。在这种情况下,任何具有该会话ID 的请求都被假定来自经过身份验证的用户。

这里有一些缺点。如果会话ID 是可预测的或被盗的,攻击者可以简单地以cookie 的形式发送带有会话ID 的请求,并用它来冒充用户。这称为会话劫持。

Cookie 由名称、值和到期日期组成。一旦它们过期,浏览器就会丢弃它们。它们通常是Base64 编码的(这不是硬性规则,但有许多可用的编码方案),并且您可以设置标志来指示应如何处理它们。

饼干标志

有一些警告信号需要注意,因为它们可能会在与开发人员和其他安全专业人员的随意对话中突然出现。

HttpOnly:这会阻止JavaScript 访问cookie。它被认为是防止客户端脚本窃取用户会话或与用户会话交互的最佳实践。有时您可能会发现某些应用程序被遗忘。

安全:这可确保cookie 仅通过安全连接(HTTPS) 发送。

SameSite:此标志指示cookie 何时发送。共有三种选择:严格、宽松、无。严格意味着cookie 仅在来自与cookie 相同的站点的请求中发送。 Lax 意味着cookie 仅在来自与cookie 相同的站点的请求以及某些跨站点请求(例如GET 请求)中发送。 None 表示cookie 随所有类型的请求一起发送,无论来源如何。请注意,如果未设置SameSite 标志,某些浏览器会应用默认值。

过期:顾名思义,告诉浏览器何时丢弃cookie。

版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。

猜你喜欢