深入浅出HTTP/HTTPS和网络安全:HTTP/HTTPS的工作原理和常见的网络安全问题,如XSS、CSRF、SQL注入等

HTTP和HTTPS

HTTP(超文本传输协议)和HTTPS(安全超文本传输协议)是浏览器和服务器之间传输信息的通信协议。两者的主要区别在于HTTPS使用了SSL/TLS协议进行了加密处理。

  • HTTP: HTTP只是一个纯文本信息传输协议,没有加密机制,数据都是未加密的,安全性较低。如果黑客截取了web浏览器和网站服务器之间的传输通信数据,就能直接获知其中的信息。

  • HTTPS: HTTPS是经由SSL安全套装层对网络连接进行加密处理来防止数据在传输过程中被窃取或篡改。安全性较高。

网络安全

网络中常见的几种安全问题:

  1. **XSS (Cross Site Scripting)**:XSS是一种常见的巧妙利用网站未做好用户输入过滤来盗取用户信息甚至进行恶意操作的攻击方式。因为有些网站并没有有效地过滤用户的输入,攻击者就可以输入一段脚本代码,其他用户在看见攻击者发布的内容时这段代码就会被执行,实现攻击的目的。

  2. **CSRF (Cross Site Request Forgery)**:CSRF攻击是攻击者利用用户的身份去执行某种操作,跟XSS不同,XSS是攻击数据接收对象,而CSRF是攻击数据请求的对象。

  3. SQL注入:SQL注入就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

如何防御

  • 防御XSS攻击:可以使用如下手段:

    • 对用户的输入进行过滤或者转码
    • 使用HTTP-only来禁止脚本访问cookie
    • 使用CSP(Content Security Policy)来禁止浏览器加载第三方的资源
  • 防御CSRF攻击:常见的手段是使用Token,即在用户请求某个需要安全防护的操作时,服务器会创建一个Token,附在用户的Session中,然后将这个Token发送给客户端,当客户端再次发送该操作请求时,必须携带这个服务器颁发的Token,服务器会验证这个Token的合法性。

  • 防御SQL注入:使用预编译的SQL查询和参数化的查询可以有效防御SQL注入。

更安全的HTTPS

HTTPS端到端的加密通过TLS/SSL实现。TLS协议的握手过程会使用公钥基础设施(PKI)通过对称加密生成一个会话密钥。这样,服务器和客户端之间的所有通信均由该会话密钥加密,为数据提供了保密性和完整性保障。

使用HTTPS的优势包括:

  1. 数据保密:所有通信内容都是加密的,网络中间人很难直接看到明文内容。
  2. 数据完整性:可以防止数据在传输过程中被改变。
  3. 服务器身份验证:通过查看SSL证书用户可以确认自己是与真正的服务器通信。

Cookie的安全性

Cookie 是网站用于保持用户会话的重要工具。然而,Cookie 也可能成为潜在的安全问题。设置 Cookie 的时候,应考虑以下几个安全性选项:

  • Secure:标记为 Secure 的 Cookie 只能通过被加密的安全连接 HTTPS 发送。
  • HttpOnly:标记为 HttpOnly 的 Cookie 不能被客户端 JavaScript 访问,这有助于缓解 XSS 攻击。

内容安全策略(CSP)

CSP 可以作为防范 XSS 攻击的重要工具。它的工作原理是,网站管理员定义哪些内容是可信的,浏览器则只会执行来源于可信列表的资源。例如,这可以用来阻止来自未经批准的网站的JavaScript执行,防止恶意外部脚本对网页进行篡改。

相关推荐
竹言笙熙1 小时前
Polarctf2025夏季赛 web java ez_check
java·学习·web安全
lubiii_4 小时前
SQL手工测试(MySQL数据库)
数据库·mysql·web安全·网络安全
恰薯条的屑海鸥5 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十四期-XXE模块)
网络·学习·安全·web安全·渗透测试
DevSecOps选型指南14 小时前
2025软件供应链安全最佳实践︱证券DevSecOps下供应链与开源治理实践
网络·安全·web安全·开源·代码审计·软件供应链安全
恰薯条的屑海鸥14 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十六期-SSRF模块)
数据库·学习·安全·web安全·渗透测试·网络安全学习
玩转4G物联网17 小时前
零基础玩转物联网-串口转以太网模块如何快速实现与TCP服务器通信
服务器·网络·物联网·网络协议·tcp/ip·http·fs100p
网安INF17 小时前
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
java·web安全·网络安全·flink·漏洞
lubiii_17 小时前
墨者学院-密码学实训隐写术第二题
web安全·网络安全·密码学
hie9889418 小时前
HTTP常见的请求方法、响应状态码、接口规范介绍
http
一曝十寒20 小时前
那些常见的 HTTP 状态码
前端·http