刷刷题23(前端网络安全)

‌1. XSS 攻击的原理及防御措施‌

‌答案‌:

  • ‌原理 ‌:攻击者注入恶意脚本(如 <script>)到网页,用户访问时脚本执行,窃取 Cookie 或篡改页面。

    • ‌反射型 ‌:通过 ‌URL 参数传递‌恶意脚本,需用户点击触发(如钓鱼链接)‌。
    • ‌存储型 ‌:恶意脚本‌存储于数据库‌(如评论区),用户访问页面自动执行‌。
    • ‌DOM 型 ‌:前端脚本操作 DOM 时触发,‌无需服务端交互 ‌(如 document.write 拼接恶意内容)‌。
  • ‌防御‌:

    • ‌输入过滤 ‌:过滤 <, > 等危险字符‌。
    • ‌输出转义 ‌:动态渲染内容时转义 HTML 字符(如 & → &amp;)‌。
    • ‌HttpOnly Cookie‌:禁止 JavaScript 读取敏感 Cookie‌34。
    • ‌CSP ‌:通过 HTTP 头限制脚本加载源(如 Content-Security-Policy: script-src 'self')‌。

‌2. CSRF 攻击的原理及防御方法‌

‌答案‌:

  • ‌原理 ‌:利用用户已登录的 Cookie,诱导用户访问恶意链接‌伪造请求‌(如自动发起转账)‌。

  • ‌防御‌:

    • ‌Token 验证‌:服务端生成随机 Token,前端请求时携带并验证(如表单隐藏字段)‌。
    • ‌SameSite Cookie ‌:设置 Cookie 的 SameSite=Lax/Strict,限制跨域携带‌。
    • ‌Referer 检查‌:验证请求来源是否为合法域名(但可伪造)‌。
    • ‌二次验证‌:敏感操作需密码或短信验证‌。

‌3. 点击劫持(Clickjacking)的防御手段‌

‌答案‌:

  • ‌原理 ‌:通过‌透明 iframe 覆盖‌合法页面,诱导用户点击隐藏按钮(如伪造点赞)‌。

  • ‌防御‌:

    • ‌X-Frame-Options ‌:设置 HTTP 头 X-Frame-Options: DENY 禁止页面被嵌套‌。
    • ‌CSP 的 frame-ancestors ‌:限制页面嵌套权限(如 frame-ancestors 'self')‌。

‌4. CORS 配置错误的风险及修复方法‌

‌答案‌:

  • ‌风险 ‌:错误配置 Access-Control-Allow-Origin: * 导致‌跨域数据泄露‌‌。

  • ‌修复‌:

    • ‌限制域名 ‌:设置为具体域名(如 Access-Control-Allow-Origin: https://example.com)‌。
    • ‌校验请求头 ‌:明确允许的请求方法和头部(如 Access-Control-Allow-Methods: POST, GET)‌36。

‌5. HTTPS 中间人攻击的防御措施‌

‌答案‌:

  • ‌风险 ‌:攻击者伪造证书或‌降级 HTTPS 为 HTTP‌,窃取传输数据‌。

  • ‌防御‌:

    • ‌HSTS ‌:通过 HTTP 头 Strict-Transport-Security 强制使用 HTTPS‌。
    • ‌证书绑定‌:前端校验服务器证书指纹,防止伪造‌37。

‌6. 本地存储(localStorage)的安全风险‌

‌答案‌:

  • ‌风险 ‌:localStorage 数据可通过 JavaScript ‌直接读取‌,易被 XSS 窃取‌。

  • ‌防御‌:

    • ‌避免存储敏感数据 ‌:如 Token 应存储在 ‌HttpOnly Cookie‌ 中‌。
    • ‌加密存储‌:使用 AES 等算法加密数据后再存储‌。

‌7. 第三方依赖漏洞的典型案例及应对方案‌

‌答案‌:

  • ‌案例 ‌:Lodash 的‌原型污染漏洞 ‌(通过 _.merge 修改对象原型链)‌。

  • ‌应对‌:

    • ‌更新依赖 ‌:定期使用 npm update 升级到安全版本‌。
    • ‌代码扫描‌:使用 Snyk、Dependabot 等工具检测漏洞‌。

‌8. CSP(内容安全策略)的作用及配置‌

‌答案‌:

  • ‌作用‌:限制页面资源加载源,防止 XSS 和数据泄露‌。

  • ‌配置示例‌:

    css 复制代码
    httpCopy Code
    Content-Security-Policy: default-src 'self'; script-src 'self' trusted.com  
    • ‌解释 ‌:仅允许加载同源和 trusted.com 的脚本,其他资源(如图片)默认同源‌。

‌答案‌:

  • ‌作用 ‌:设置 HttpOnly 后,JavaScript ‌无法读取 Cookie‌,降低 XSS 窃取会话的风险‌。

‌10. CSRF 与 XSS 的核心区别‌

‌答案‌:

  • ‌CSRF ‌:利用用户‌已认证的身份‌伪造请求(如自动转账),依赖用户触发‌。
  • ‌XSS ‌:直接‌在用户浏览器执行恶意脚本‌,窃取数据或篡改页面‌。

‌记忆技巧‌

  1. ‌XSS‌:联想"脚本注入" → 防御用"转义 + CSP + HttpOnly"。
  2. ‌CSRF‌:联想"伪造请求" → 防御用"Token + SameSite"。
  3. ‌CSP‌:联想"资源白名单" → 配置时写明允许的域名。
  4. ‌HTTPS 安全‌:联想"HSTS 强制加密 + 证书绑定"。
相关推荐
福兮说6 小时前
前端下载大文件,点了按钮半天没反应:fetch + blob 的三个问题和三种替代写法
前端·javascript·性能优化·文件下载
GreenTea7 小时前
我把 Agent 的 while 循环拆掉了:一种你可能没想到的 Agent 架构
前端·后端·架构
科技观察哨7 小时前
六足平台选型与纳米定位系统集成:HEB-640六自由度位移台在半导体光刻对准中的参数边界与国产替代评估
前端·人工智能
niucloud-admin7 小时前
JAVA V6 多商户商城 开发文档——web前端
前端
颜进强7 小时前
16 · NestJS LifecycleEvents 生命周期事件:五个钩子、三条边界,和 rag-server 的优雅停机
前端·后端·ai编程
今年下半年9 小时前
【VUE】整合腾讯地图、自定义区域边界、村委名称及资产统计(放大显示资产点位)
前端·javascript·vue.js
郑州光合科技余经理9 小时前
同城电商系统:库存变更怎么同步到订单
java·开发语言·前端·后端·uni-app·php·ai编程
我叫黑大帅9 小时前
Go日志库工程选型与逃逸分析评测报告
后端·面试·go
此时不提桶,更待何时11 小时前
05-05-B-对象存储与文件服务面试与生产事故实战
面试·nosql
前端snow11 小时前
ai agent --- DeepAgents 中间件
前端