💣深入Web安全(防御篇)

简介: 💣深入Web安全(防御篇)

前言


随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点。在移动互联网时代,前端人员除了传统的 XSS、CSRF 等安全问题之外,又时常遭遇网络劫持、非法调用 Hybrid API 等新型安全问题。当然,浏览器自身也在不断在进化和发展,不断引入 CSP、Same-Site Cookies 等新技术来增强安全性,但是仍存在很多潜在的威胁,这需要前端技术人员不断进行“查漏补缺”,上篇介绍的是攻击篇,这篇我们来讲讲如何防御这些攻击~


一、XSS攻击的防御


XSS攻击防御的理念就是永远不要相信用户!永远不要相信用户!


  • 永远不信任用户的提交内容
  • 不要将用户提交内容直接转换成DOM


image.png


1.1 防御XSS攻击的现成工具


前端:


  • 主流框架默认防御XSS
  • google-closure-library 服务端(Node):
  • DOMPurify


1.2 需要动态生成DOM


将string转化成DOM


可以使用new DOMParser()API,这种时候一定要对string进行过滤


上传SVG


SVG中可以内嵌script标签,会导致在这段SVG在浏览器加载的时候完成XSS攻击,因此对用户上传的SVG文件也要进行过滤。


<svg>
    <script>alert("xss");</script>
</svg>
复制代码


自定义跳转链接


如果允许用户自定义跳转链接的话一定要过滤。


<a href="javascript:alert('xss')"></a>
复制代码


自定义样式


尽量不要允许用户自定义样式。

image.png


1.3 Content Security Policy(CSP)


  • 哪些源(域名)被认为是安全的
  • 来自安全源的脚本可以执行,否则直接抛错
  • 对eval + inline script 说🙅‍


如何配置


服务器的响应头部:


Content-Security-Policy: script-src 'self' 同源
Content-Security-Pplicy: script-src 'self' https://domain.com
复制代码


浏览器meta:


<meta http-equiv="Content-Security-Policy" content="script-src self">
复制代码


二、CSRF的防御


我们知道在CSRF中,请求是伪造的,也就是它所有的请求来源都是异常的,不是真正的域名,那我们四不是可以限制请求来源从而达到限制伪造请求的目的呢,答案是可以的。

image.png



2.1 token


image.png


2.2 限制iframe攻击


image.png


2.3 避免用户信息被携带:SameSite Cookie


image.png

image.png


2.4 防御CSRF的正确姿势


如果对每一个接口都做CSRF防御,那些太累了,又或者说,不够优雅,应该在中间件中统一处理CSRF的防御工作。


image.png


三、SQL注入的防御


  • 找到项目中查询SQL的地方
  • 使用prepared statement


image.png


四、其他注入的防御


image.png


五、防御DDoS


image.png


六、防御中间人


https的介入

image.png


HTTPS的一些特性


  • 可靠性:加密


image.png


  • 完整性:MAC验证


image.png


  • 不可抵赖性:数字签名


image.png


HTTP Strict-Transport-Security(HSTS)


image.png


Subresource Integrity(SRI)


对比一个静态文件的hash值是否被篡改


image.png


最后


⚽到这,我们Web安全的防御篇也就已经介绍完啦,我们要清楚安全无小事,要时刻注意网络安全问题,保持学习心态~

⚾如果你对这篇文章感兴趣欢迎点赞关注+收藏,更多精彩知识正在等你!😘

相关文章
|
Web App开发 监控 安全
OSS客户端签名直传实践:Web端安全上传TB级文件方案(含STS临时授权)
本文深入解析了客户端直传技术,涵盖架构设计、安全机制、性能优化等方面。通过STS临时凭证与分片上传实现高效安全的文件传输,显著降低服务端负载与上传耗时,提升系统稳定性与用户体验。
1385 2
|
11月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.10 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.10 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
698 3
|
安全 Linux iOS开发
Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.9 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
748 0
Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
|
安全 Linux iOS开发
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
923 0
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
安全 Linux API
Burp Suite Professional 2025.4 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.4 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
636 6
Burp Suite Professional 2025.4 发布 - Web 应用安全、测试和扫描
|
存储 安全 JavaScript
Web Storage有哪些安全风险?
Web Storage有哪些安全风险?
|
人工智能 Linux iOS开发
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
1181 12
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
缓存 安全 搜索推荐
阿里云先知安全沙龙(北京站) ——浅谈Web快速打点
信息收集是网络安全中的重要环节,常用工具如Hunter、Fofa和扫描工具可帮助全面了解目标系统的网络结构与潜在漏洞。遇到默认Nginx或Tomcat 404页面时,可通过扫路径、域名模糊测试、搜索引擎缓存等手段获取更多信息。AllIN工具(GitHub: P1-Team/AllIN)能高效扫描网站路径,发现敏感信息。漏洞利用则需充分准备,以应对突发情况,确保快速拿下目标站点。 简介:信息收集与漏洞利用是网络安全的两大关键步骤。通过多种工具和技术手段,安全人员可以全面了解目标系统,发现潜在漏洞,并制定有效的防御和攻击策略。
|
安全 大数据 数据挖掘
课时9:阿里云Web应用防火墙:全面保障网站的安全与可用性
阿里云Web应用防火墙(WAF)基于阿里巴巴十年攻防经验,提供全面的网站安全防护。它通过Web应用防护、CC攻击防护和业务风控,有效应对各类网络威胁,确保网站的安全与可用性。智能双引擎技术降低误报率,实时数据分析和虚拟补丁更新保障系统安全。WAF已成功护航多个重大活动,为企业提供高效、简便的安全解决方案。
619 0
|
安全 应用服务中间件 网络安全
实战经验分享:利用免费SSL证书构建安全可靠的Web应用
本文分享了利用免费SSL证书构建安全Web应用的实战经验,涵盖选择合适的证书颁发机构、申请与获取证书、配置Web服务器、优化安全性及实际案例。帮助开发者提升应用安全性,增强用户信任。