当前位置: 首页 > article >正文

37、web常见的攻击方式有哪些?如何防御?

一、先给面试官一个总览Web 常见攻击我通常会从前端安全、认证安全、传输安全、服务端安全四类来理解。前端最常见的是XSS、CSRF、点击劫持认证相关有SQL 注入、暴力破解、会话劫持传输层有中间人攻击工程层面还要关注文件上传、CORS 配置不当、敏感信息泄露。防御上核心思路是输入校验、输出编码、权限控制、身份校验、最小暴露面、安全响应头和 HTTPS。这段适合开场显得有框架感。二、常见 Web 攻击方式1XSS跨站脚本攻击是什么攻击者把恶意脚本注入到页面中当用户访问页面时脚本被执行。常见类型存储型 XSS恶意脚本存进数据库所有访问者都可能中招反射型 XSS恶意脚本通过 URL 参数带入页面DOM 型 XSS前端 JS 直接把不可信内容插入 DOM危害窃取 Cookie、Token冒充用户操作篡改页面钓鱼、挂马防御输入过滤对用户输入做合法性校验输出编码插入 HTML、属性、URL、JS 上下文时分别做编码避免直接使用危险 API少用innerHTML慎用document.write尽量用textContent、setAttribute使用白名单过滤库如 DOMPurify开启 CSPContent Security Policy限制脚本来源降低注入脚本执行风险Cookie 加 HttpOnly即使 XSS 发生也降低 Cookie 被 JS 直接读取的风险面试加分说法XSS 的核心防御不是单纯“过滤标签”而是根据输出位置做正确编码因为不同上下文的风险不一样。2CSRF跨站请求伪造是什么攻击者诱导用户在已登录目标网站的情况下访问恶意页面借助浏览器自动携带 Cookie 的能力向目标站点发起伪造请求。例子用户登录了银行网站又访问了攻击者页面攻击者偷偷提交转账请求。防御CSRF Token服务端生成随机 token请求时校验SameSite Cookie限制跨站请求自动携带 CookieStrict/Lax校验 Referer / Origin判断请求来源是否合法敏感操作用二次确认验证码、短信、密码确认不要仅依赖 Cookie 认证可结合 Token 方案面试亮点CSRF 成立的前提通常是浏览器会自动带上目标站点身份凭证所以它和 XSS 不一样CSRF 利用的是“用户身份”不是“脚本执行”。3SQL 注入是什么攻击者通过拼接恶意 SQL 片段改变原有查询逻辑。例子SELECT * FROM users WHERE username admin AND password 123如果直接拼接字符串可能被构造注入语句。危害绕过登录查询敏感数据修改、删除数据库提权防御参数化查询 / 预编译最核心、最有效不要拼接 SQL后端校验输入最小权限原则数据库账号不要给过高权限错误信息不要直接暴露给前端面试加分说法SQL 注入的关键防御不是“过滤单引号”而是使用参数化查询从根源上把数据和 SQL 语句结构分离。4点击劫持Clickjacking是什么攻击者把目标网站嵌入到透明 iframe 中诱导用户点击看起来点的是别的按钮实际上点的是目标网站上的敏感操作。防御设置响应头X-Frame-Options: DENY/SAMEORIGIN使用 CSPframe-ancestors对关键操作增加确认流程5中间人攻击MITM是什么攻击者在通信链路中拦截和篡改数据。危害窃取账号密码篡改返回内容注入恶意脚本防御全站 HTTPS证书校验HSTS强制使用 HTTPS不加载不安全的混合内容面试加分点HTTPS 的意义不仅是加密还包括身份认证和完整性校验能有效降低中间人攻击风险。6文件上传漏洞是什么攻击者上传恶意文件比如脚本文件、木马文件进而执行服务器命令或控制系统。防御限制文件类型不只看后缀还要检查 MIME、文件头重命名上传文件上传目录禁止执行限制文件大小做病毒扫描不要把上传目录映射成可执行路径7暴力破解 / 撞库是什么攻击者批量尝试用户名密码组合进行登录。防御登录限流验证码错误次数锁定异常登录告警MFA 多因素认证密码加盐哈希存储8会话劫持 / Session 劫持是什么攻击者盗取用户的 Session ID 或 Token伪装成合法用户访问系统。防御Cookie 设置HttpOnlySecureSameSite敏感操作校验身份Session 过期机制登录态变更时刷新 Session避免在 URL 中传 Session ID9CORS 配置不当是什么后端跨域配置过宽比如随意允许任意来源并带凭证可能导致敏感接口被滥用。防御精确配置允许来源不要随意Access-Control-Allow-Origin: *带凭证时不能配*仅开放必要方法和头部10敏感信息泄露常见情况前端打包暴露密钥错误堆栈直接返回给用户接口返回过多用户信息日志打印敏感数据sourceMap 线上泄漏防御前端不保存真正的私钥、密钥后端错误信息脱敏接口最小返回原则生产环境谨慎开放 sourceMap日志脱敏三、面试时如何把“防御思路”讲得更系统如果面试官问“怎么防御”不要只是一个个零散地背。你可以总结成一个通用安全模型1输入校验任何来自用户、URL、表单、Header、文件的数据都不可信。2输出编码根据输出上下文进行转义HTML 编码属性编码URL 编码JS 编码3身份校验与权限控制登录鉴权RBAC 权限模型最小权限原则4安全传输HTTPSHSTSSecure Cookie5浏览器安全策略CSPSameSite CookieX-Frame-OptionsX-Content-Type-Options6服务端兜底前端校验只是体验优化真正安全校验必须在服务端完成。这句话最好一定说出来前端安全从来不是单独依赖前端真正的安全校验必须以后端为准。这是高频加分句。四、前端开发角度最常遇到的安全问题如果岗位是前端岗这里特别重要。你可以这样说如果站在前端岗位角度我最关注的安全问题一般是 XSS、CSRF、点击劫持、Token/Cookie 安全、CORS 配置以及前端资源和敏感信息泄露。因为这些问题和页面渲染、接口调用、登录态管理、安全响应头配置关系最直接。这样更贴岗位。五、面试怎么回答更精彩下面给你一个比较成熟的口语化版本。标准版回答Web 常见攻击方式我通常会重点关注 XSS、CSRF、SQL 注入、点击劫持、中间人攻击、文件上传漏洞、会话劫持和敏感信息泄露这些。其中前端最常见的是 XSS 和 CSRF。XSS 本质是恶意脚本注入页面执行危害包括窃取用户信息、冒充用户操作、篡改页面等。防御核心是输入校验、输出编码、避免使用危险 DOM API、配合 CSP 和 HttpOnly Cookie。CSRF 则是利用浏览器自动携带身份凭证的机制伪造请求核心防御方式是 CSRF Token、SameSite Cookie、校验 Origin/Referer以及对敏感操作做二次确认。服务端层面常见的是 SQL 注入防御重点是参数化查询和最小权限原则传输层则要通过 HTTPS、HSTS 来防中间人攻击。另外像点击劫持可以通过X-Frame-Options或frame-ancestors防御文件上传则要做类型校验、重命名和禁止执行。我觉得 Web 安全的核心思路可以总结为输入不可信、输出要编码、权限要最小化、传输要加密、关键校验以后端为准。如果站在前端岗位角度我会尤其关注 XSS、CSRF、CORS、安全响应头以及登录态的安全设计。这段基本就很强了。六、如果想答得更高级可以补充这些“工程化”点1CSPCSP 不是用来替代 XSS 防御的而是作为最后一道防线限制脚本来源、降低注入脚本执行成功率。2SameSite现在浏览器对 Cookie 的SameSite支持已经比较普遍实际项目里这是防 CSRF 很实用的一层防线。3前后端职责前端更多负责减少暴露面和提高攻击成本但真正安全边界一定在服务端。4安全不是单点防御安全通常要分层防御比如 XSS 不只是过滤输入还要编码、CSP、Cookie 安全、审计一起做。这几句很有深度。七、常见面试追问1XSS 和 CSRF 的区别是什么XSS攻击者把脚本注入页面在受害者浏览器中执行。CSRF攻击者借助受害者已登录身份伪造请求。一句话XSS 利用的是“浏览器执行恶意脚本”CSRF 利用的是“浏览器自动带上身份凭证”2为什么有了 Token 还可能有 CSRF如果 Token 存在 Cookie 中并自动携带依然可能有 CSRF 风险。如果 Token 放在Authorization头里由前端手动带CSRF 风险会低很多但仍要关注 XSS。3HttpOnly 能完全防住 XSS 吗不能。它只能防止 JS 直接读取 Cookie不能阻止恶意脚本执行。XSS 仍然可能发起恶意请求、篡改页面。4前端做了校验为什么后端还要校验因为前端校验可以被绕过请求可以直接伪造。所以安全校验必须放在后端兜底。5CSP 能完全解决 XSS 吗不能完全解决但能显著降低风险是很重要的防御手段之一。八、精简版面试回答如果时间比较紧可以这样答Web 常见攻击方式主要有 XSS、CSRF、SQL 注入、点击劫持、中间人攻击、文件上传漏洞和会话劫持等。其中前端最常遇到的是 XSS 和 CSRF。XSS 是恶意脚本注入页面执行防御重点是输入校验、输出编码、避免危险 DOM API、配合 CSP 和 HttpOnly。CSRF 是利用浏览器自动携带 Cookie 伪造请求防御重点是 CSRF Token、SameSite Cookie、校验 Origin/Referer。SQL 注入要靠参数化查询防御点击劫持可以通过X-Frame-Options或 CSP 的frame-ancestors防御中间人攻击则要依赖 HTTPS 和 HSTS。我理解 Web 安全的核心思路是输入不可信、输出要编码、权限最小化、传输要加密而且真正的安全校验以后端为准。九、一句话总结面试官最想听的是你是否知道常见攻击类型你能不能说清原理 危害 防御你有没有前端视角和工程化思维你是否明白安全是分层防御不是单点防御

相关文章:

37、web常见的攻击方式有哪些?如何防御?

一、先给面试官一个总览Web 常见攻击我通常会从 前端安全、认证安全、传输安全、服务端安全 四类来理解。 前端最常见的是 XSS、CSRF、点击劫持; 认证相关有 SQL 注入、暴力破解、会话劫持; 传输层有 中间人攻击; 工程层面还要关注 文件上传、…...

沐曦股份曦云C系列GPU Day 0 适配智谱GLM-5.1 全栈技术领跑国产AI生态

4月8日,智谱新一代旗舰模型GLM-5.1实现开源。目前,沐曦股份曦云 C 系列 GPU已完成该系列模型Day 0 全量适配,再度以全栈自主技术实力,领跑国产 GPU 生态适配赛道。相比于GLM-5,GLM-5.1的整体能力得到了全面提升&#x…...

Teamcenter许可证文件关键参数解析、性能调优与安全加固

Teamcenter许可证文件关键参数解析、性能调优和安全加固你是远非也老是被许可证问题搞得焦头烂额?是远非每次 从来担心有未曾漏掉什么?去年我在一个装备制造企业做项目时,客户团队都是许可证管理混乱闹的,光是误购及闲置就浪费了8…...

ARM 架构 JuiceFS 性能优化:基于 MLPerf 的实践与调优卮

Qt是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本笔记将重点介绍QSpinBox数值微调组件的常用方法及灵活应用。…...

我让 Claude 和 Codex 同时审计 个模块,它们只在 个上达成共识儆

整体排查思路 我们的目标是验证以下三个环节是否正常: 登录成功时:服务器是否正确生成了Session并返回了包含正确 JSESSIONID的Cookie给浏览器。 浏览器端:浏览器是否成功接收并存储了该Cookie。 后续请求:浏览器在执行查询等操作…...

RAG是什么?为什么它能让AI更靠谱,告别“一本正经地胡说八道”

RAG可以理解为“先查资料,再回答”:让AI更像带依据的助手,而不是自由发挥的写作机。 你会拿到:RAG人话解释 引用式输出模板(可复制)。 本文由“壹伴编辑器”提供技术支持 1|一句话讲清 你可能遇…...

6个步骤让Windows系统性能提升60%:Win11Debloat全方位优化指南

6个步骤让Windows系统性能提升60%:Win11Debloat全方位优化指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutte…...

收藏!AI高薪风口已来,普通人也能抓住转行机会!

本文指出AI岗位平均月薪高达60738元,远超新经济行业平均水平。AI能力已从技术岗专属变为全行业通用技能,近八成公司要求员工具备AI能力。AI岗位缺口巨大,供需比仅为0.97,企业更看重实际能力而非学历。AI时代为普通职场人提供了重新…...

构建企业级统一认证中心:Spring Boot OAuth2 Server 的架构实践与深度解析

构建企业级统一认证中心:Spring Boot OAuth2 Server 的架构实践与深度解析 【免费下载链接】oauth2-server spring boot (springboot 3) oauth2 server sso 单点登录 认证中心 JWT,独立部署,用户管理 客户端管理 项目地址: https://gitcode.com/gh_mirrors/oau/oa…...

数据库回顾

题目:584. 寻找用户推荐人 表: Customer ---------------------- | Column Name | Type | ---------------------- | id | int | | name | varchar | | referee_id | int | ---------------------- 在 SQL 中,id 是该表的…...

cf1091div2 C.Grid Covering(数论)

Problem - C - Codeforces 保证遍历完每行每列所以gcd(n,a)1,gcd(m,b)1很好理解 为了遍历所有网格,因为在2*lcm(n,m)次数后会再次踏上轮回重复循环,此时访问了2*lcm(n,m)个格子,于是 2*lcm(n,m)>n*m,也就是2*lcm>gcd(n,m)*…...

AI 对 IT 行业的真实冲击:不是狼来了,是狼已经在门口了

JeecgBoot AI专题观察 | 一个深度使用 AI 编程半年的开发者,聊聊这个行业正在发生什么、程序员该怎么办从手写汇编到高级语言,从高级语言到框架,从框架到低代码——每一次技术跃迁,都有人说程序员要失业了。结果呢?需求…...

科研级时间序列解析:从 ARIMA 到 Mamba,深度学习与频域分析的全栈技术方案

时间序列是水文、气象等领域中最为常见的数据类型,对时间序列数据的预测、分类以及异常值检测等也是这些领域最常见的任务;但是,时间序列分析技术从二十世纪二十年代兴起,一百年以来已经变的非常繁杂。以实践序列分析为主线&#…...

深度理解算法和数据结构:栈并非天生存在,而是数组的「思想封装」|4 道经典题从本质吃透栈与单调栈

前言 在学习栈、队列这类数据结构时,很多人会陷入一个误区:把它们当成固定的 API、死记push/pop/top操作。 但我最近真正想通了一件事 ——数据结构从来不是先有的结构,而是先有的思想。栈并不是什么神奇的黑盒,它本质上就是&…...

WinCDEmu:开源虚拟光驱工具的技术架构与实践指南

WinCDEmu:开源虚拟光驱工具的技术架构与实践指南 【免费下载链接】WinCDEmu 项目地址: https://gitcode.com/gh_mirrors/wi/WinCDEmu 副标题:5个核心优势让你高效管理光盘映像文件 一、核心价值解析 WinCDEmu作为一款开源虚拟光驱解决方案&…...

20260408 硬盘分区管理

一、硬盘分区管理 大容量的硬盘,分区使用:C盘系统盘,D盘办公,E盘娱乐。 1.1 识别硬盘设备接口类型设备命名示例说明SATA/SAS/USB/SCSI/dev/sda、/dev/sdb …物理机常用的磁盘设备命名virtio-blk(虚拟机)/de…...

实测H3C s5500-52C-SI 交换机破解密码

1.使SecureCRT连接上交换机;2.重新启动交换机,启动阶段一直按Ctrlb键,直到显示“press ctrl-b to enter boot menu”和“password:”界面时按enter,如下图:3.交换机显示boot menu界面,有10个选项…...

写段代码教会你什么是HOOK技术?HOOK技术能干什么?肯

为 HagiCode 添加 GitHub Pages 自动部署支持 本项目早期代号为 PCode,现已正式更名为 HagiCode。本文记录了如何为项目引入自动化静态站点部署能力,让内容发布像喝水一样简单。 背景/引言 在 HagiCode 的开发过程中,我们遇到了一个很现实的问…...

STM32 串口通信入门:printf 重定向 + 调试技巧

作为STM32新手,串口通信是嵌入式调试的万能钥匙。很多新手调试程序时,只能靠LED亮灭判断运行状态,出错后无从排查;想查看变量、确认函数执行情况,也没有有效方法。串口通信可解决这一问题,通过printf函数&a…...

Windows安卓应用安装新方案:APK-Installer极简指南

Windows安卓应用安装新方案:APK-Installer极简指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在Windows系统上运行安卓应用一直是许多用户的痛点。传统…...

QTableWidget 表格组件熬

7.1 初识三维模型 7.1.1 三维模型的数据载体 随着计算机图形技术的发展,我们或多或少都会见过或者听说过三维模型。笔者始终记得小时候第一次在电视上看到三维动画《变形金刚:超能勇士》的震撼感受;而现在我们已经可以在手机上玩三维游戏《王…...

Gemini api网络超时问题求助

用codex连接的gemini api,没想到一用就超时,是梯子问题吗?以及上面这些models哪个更能全面解决coding问题,也很少出错...

AdvancedSessionsPlugin技术深度解析:虚幻引擎分布式会话管理解决方案

AdvancedSessionsPlugin技术深度解析:虚幻引擎分布式会话管理解决方案 【免费下载链接】AdvancedSessionsPlugin Advanced Sessions Plugin for UE4 项目地址: https://gitcode.com/gh_mirrors/ad/AdvancedSessionsPlugin 在虚幻引擎多玩家游戏开发中&#x…...

VMware macOS解锁终极实战指南:5步让Windows/Linux完美运行苹果系统

VMware macOS解锁终极实战指南:5步让Windows/Linux完美运行苹果系统 【免费下载链接】unlocker VMware Workstation macOS 项目地址: https://gitcode.com/gh_mirrors/unloc/unlocker 在虚拟化技术日益普及的今天,许多开发者和技术爱好者都希望能…...

lvgl-micropython、lv_micropython和lv_binding_micropython到底啥关系?一文读懂汕

一、背景与问题缘起 MySQL 5.6.51 版本下 2000 万行核心业务表开展新增字段操作,需求为新增BIGINT(19) NOT NULL DEFAULT 0 COMMENT 注释(因业务实际需要存储大数值关联字段)。 表的核心特性为Java 多线程密集读写,业务请求持续高…...

AI Coding越来越强,我们还有必要学Processing吗? · 创意编程运

故障表现 发现请求集群 demo 入口时卡住,并且对应 Pod 没有新的日志输出 rootce-demo-1:~# kubectl get pods -n deepflow-otel-spring-demo -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NO…...

别再踩坑了!SQL Server数据类型那点事儿,看懂这篇少背三个锅厣

从0构建WAV文件:读懂计算机文件的本质 虽然接触计算机有一段时间了,但是我的视野一直局限于一个较小的范围之内,往往只能看到于算法竞赛相关的内容,计算机各种文件在我看来十分复杂,认为构建他们并能达到目的是一件困难…...

像素剧本圣殿详细步骤:基于Qwen2.5-14B-Instruct的剧本张力增强微调方法

像素剧本圣殿详细步骤:基于Qwen2.5-14B-Instruct的剧本张力增强微调方法 1. 项目概述 像素剧本圣殿(Pixel Script Temple)是一款专为剧本创作设计的AI辅助工具,基于Qwen2.5-14B-Instruct大模型深度微调而成。这个工具将先进的自然语言处理技术与复古像…...

MedGemma应用案例:如何用药企医学影像标注辅助系统提升研究效率?

MedGemma应用案例:如何用药企医学影像标注辅助系统提升研究效率? 1. 医学影像标注的行业痛点 在药物研发和医学研究中,医学影像标注是一项基础但极其耗时的工作。传统标注流程面临三大核心挑战: 人工成本高:需要专业…...

cv_resnet50_face-reconstruction效果可视化:热力图分析重建误差分布与关键面部区域精度

cv_resnet50_face-reconstruction效果可视化:热力图分析重建误差分布与关键面部区域精度 你是不是也好奇,一个人脸重建模型到底“重建”得怎么样?它能把你的五官还原得一模一样吗?眼睛、鼻子、嘴巴这些关键部位,哪个重…...