💣深入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安全的防御篇也就已经介绍完啦,我们要清楚安全无小事,要时刻注意网络安全问题,保持学习心态~

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

相关文章
|
23天前
|
缓存 安全 搜索推荐
阿里云先知安全沙龙(北京站) ——浅谈Web快速打点
信息收集是网络安全中的重要环节,常用工具如Hunter、Fofa和扫描工具可帮助全面了解目标系统的网络结构与潜在漏洞。遇到默认Nginx或Tomcat 404页面时,可通过扫路径、域名模糊测试、搜索引擎缓存等手段获取更多信息。AllIN工具(GitHub: P1-Team/AllIN)能高效扫描网站路径,发现敏感信息。漏洞利用则需充分准备,以应对突发情况,确保快速拿下目标站点。 简介:信息收集与漏洞利用是网络安全的两大关键步骤。通过多种工具和技术手段,安全人员可以全面了解目标系统,发现潜在漏洞,并制定有效的防御和攻击策略。
|
2月前
|
SQL 存储 安全
Web 常见攻击方式及防御方法
【10月更文挑战第25天】Web 安全是一个复杂而重要的领域,攻击者不断寻找新的攻击方法,我们需要不断加强防御措施,提高安全意识,以保障 Web 应用的安全运行。通过采取多种防御手段的综合运用,我们可以有效地降低 Web 攻击的风险,保护用户的信息和财产安全。同时,随着技术的不断发展,我们也需要持续关注和研究新的安全威胁和防御方法,以应对不断变化的安全形势。
419 56
|
1月前
|
安全 应用服务中间件 网络安全
实战经验分享:利用免费SSL证书构建安全可靠的Web应用
本文分享了利用免费SSL证书构建安全Web应用的实战经验,涵盖选择合适的证书颁发机构、申请与获取证书、配置Web服务器、优化安全性及实际案例。帮助开发者提升应用安全性,增强用户信任。
|
2月前
|
SQL 负载均衡 安全
安全至上:Web应用防火墙技术深度剖析与实战
【10月更文挑战第29天】在数字化时代,Web应用防火墙(WAF)成为保护Web应用免受攻击的关键技术。本文深入解析WAF的工作原理和核心组件,如Envoy和Coraza,并提供实战指南,涵盖动态加载规则、集成威胁情报、高可用性配置等内容,帮助开发者和安全专家构建更安全的Web环境。
88 1
|
2月前
|
安全 前端开发 Java
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第26天】Web安全是现代软件开发的重要领域,本文深入探讨了XSS和CSRF两种常见攻击的原理及防御策略。针对XSS,介绍了输入验证与转义、使用CSP、WAF、HTTP-only Cookie和代码审查等方法。对于CSRF,提出了启用CSRF保护、设置CSRF Token、使用HTTPS、二次验证和用户教育等措施。通过这些策略,开发者可以构建更安全的Web应用。
116 4
|
2月前
|
安全 Go PHP
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第27天】本文深入解析了Web安全中的XSS和CSRF攻击防御策略。针对XSS,介绍了输入验证与净化、内容安全策略(CSP)和HTTP头部安全配置;针对CSRF,提出了使用CSRF令牌、验证HTTP请求头、限制同源策略和双重提交Cookie等方法,帮助开发者有效保护网站和用户数据安全。
99 2
|
2月前
|
存储 安全 Go
Web安全基础:防范XSS与CSRF攻击的方法
【10月更文挑战第25天】Web安全是互联网应用开发中的重要环节。本文通过具体案例分析了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的原理及防范方法,包括服务器端数据过滤、使用Content Security Policy (CSP)、添加CSRF令牌等措施,帮助开发者构建更安全的Web应用。
130 3
|
2月前
|
SQL 安全 Go
PHP在Web开发中的安全实践与防范措施###
【10月更文挑战第22天】 本文深入探讨了PHP在Web开发中面临的主要安全挑战,包括SQL注入、XSS攻击、CSRF攻击及文件包含漏洞等,并详细阐述了针对这些风险的有效防范策略。通过具体案例分析,揭示了安全编码的重要性,以及如何结合PHP特性与最佳实践来加固Web应用的安全性。全文旨在为开发者提供实用的安全指南,帮助构建更加安全可靠的PHP Web应用。 ###
52 1
|
3月前
|
Kubernetes 安全 应用服务中间件
动态威胁场景下赋能企业安全,F5推出BIG-IP Next Web应用防火墙
动态威胁场景下赋能企业安全,F5推出BIG-IP Next Web应用防火墙
69 3
|
3月前
|
监控 安全 Apache
构建安全的URL重定向策略:确保从Web到App平滑过渡的最佳实践
【10月更文挑战第2天】URL重定向是Web开发中常见的操作,它允许服务器根据请求的URL将用户重定向到另一个URL。然而,如果重定向过程没有得到妥善处理,可能会导致安全漏洞,如开放重定向攻击。因此,确保重定向过程的安全性至关重要。
190 0