Tag:前端安全
All the articles with the tag "前端安全".
说说对数字证书的了解
Posted on:2024年8月21日 at 01:11数字证书是用于验证和加密电子通信中身份的工具,广泛应用于安全通信和数据保护领域。数字证书由受信任的证书颁发机构(CA)颁发,提供了身份验证和数据加密功能。 主要组成部分: 证书持有者信息:包括持有者的姓名、组织、电子邮件地址等。 公钥:用于加密信息或验证签名,公钥与私钥配对。 证书颁发机构(CA):负责颁发和验证证书的机构。 数字签名:由 CA 使用其私钥对证书内容进行签名,以确保证书的真实性。
cookie 构成部分有哪些
Posted on:2024年8月15日 at 19:17Cookie 是一种存储在用户浏览器中的小型数据,通常用于保存用户的会话信息或跟踪用户行为。Cookie 由以下几个部分构成: 1. 名称(Name) 描述:Cookie 的键,用于唯一标识该 Cookie。 示例:username 2. 值(Value) 描述:与 Cookie 名称关联的数据。可以是字符串或其他数据类型的编码形式。 示例:john_doe 3. 域(Domain) 描述:指定
介绍下如何实现 token 加密?
Posted on:2024年8月15日 at 00:00在身份认证中,Token 加密是确保用户身份验证信息安全的一种方法。常见的实现包括 JWT(JSON Web Token)和加密算法。下面是实现 Token 加密的基本步骤: 1. 生成 Token 选择加密算法: 常见的算法包括对称加密(如 HMAC SHA256)和非对称加密(如 RSA、ECMAScript)。 创建 Token: Payload:包含用户信息和其他声明。 Header:指定
中间人攻击是什么?
Posted on:2024年8月14日 at 23:35中间人攻击(Man-in-the-Middle Attack, MITM)是一种网络攻击形式,其中攻击者拦截并可能篡改两个通信方之间传输的数据,而通信双方可能认为他们直接在彼此之间进行安全的通信。以下是一些关于中间人攻击的详细信息: 1. 攻击过程 拦截:攻击者通过各种手段(如伪造网络接入点、ARP 欺骗)在受害者与目标服务器之间插入自己,拦截通信流量。 解密和篡改:攻击者可以解密受害者和服务器之
前端如何防止加载外域脚本?
Posted on:2024年8月14日 at 23:33前端可以通过以下方式防止加载外域脚本: 使用 Content Security Policy (CSP):CSP 是一个 HTTP 头,可以限制页面可以从哪些源加载资源。通过 CSP,可以禁止加载外域脚本,从而防止 XSS 攻击等安全问题。 使用 Subresource Integrity (SRI):SRI 是一个浏览器功能,可以确保在加载外部资源时,它们的内容没有被篡改过。通过在 script
如何禁止别人调试自己的前端代码?
Posted on:2024年8月10日 at 17:071. 无限 debugger 前端页面防止调试的方法主要是通过不断 debugger 来疯狂输出断点,因为 debugger 在控制台被打开的时候就会执行。由于程序被 debugger 阻止,所以无法进行断点调试,所以网页的请求也是看不到的。 以下是使用无限debugger方式阻止代码调试的示例: /** * 基础禁止调试代码 */ (() => { function ban() { setInt
CSP(Content Security Policy)可以解决什么问题?
Posted on:2024年8月10日 at 17:07CSP(Content Security Policy)是为了解决 Web 应用程序中的安全问题而创建的一种规范。 CSP 通过限制 Web 应用程序能够加载和执行的内容,来减少恶意攻击的成功率。具体来说,CSP 允许 Web 应用程序管理员定义哪些来源可以加载资源和运行 JavaScript 等代码。这些源可以是域名、协议或端口号等。 当浏览器尝试加载一个 Web 页面时,它会检查页面是否包含
说说你对前端鉴权的理解
Posted on:2024年8月10日 at 17:06什么是鉴权 鉴权也叫身份认证,指验证用户是否有系统的访问权限。就很像我们经常乘坐动车的票据(对应的标识,一定的时间范围)。 认证方式 接下来介绍几种我们工作中通常用到的认证方式。 Session-Cookie 认证 利用服务端的 Session(会话)和浏览器(客户端)的 Cookie 来实现的前后端通信认证模式。 来源 由于 HTTP 请求时是无状态的,服务端正常情况下无法得知请求发送者的身份。
什么是 Samesite Cookie 属性?
Posted on:2024年8月10日 at 17:05SameSite 是HTTP响应头 Set-Cookie 的属性之一。它允许声明该 Cookie 是否仅限于第一方或者同一站点上下文。 将 Samesite 设为 strict ,这种称为严格模式,表示这个 cookie 在任何情况下都不可能作为第三方 cookie。 将 Samesite 设为 Lax ,这种模式称为宽松模式,也是目前浏览器中的默认值。如果这个请求是个 GET 请求,并且这个请求
cookie中的 HttpOnly 属性有什么用途?
Posted on:2024年8月10日 at 17:05MDN 上对HttpOnly属性的解释: JavaScript Document.cookie API 无法访问带有 HttpOnly 属性的cookie;此类 Cookie 仅作用于服务器。例如,持久化服务器端会话的 Cookie 不需要对 JavaScript 可用,而应具有 HttpOnly 属性。此预防措施有助于缓解跨站点脚本(XSS) (en-US)攻击。 也就是说,对于设置了 Http
Cookie 的 SameSite 属性有什么作用?
Posted on:2024年8月10日 at 17:05Chrome 51 开始,浏览器的 Cookie 新增加了一个SameSite属性,用来防止 CSRF 攻击和用户追踪。 相关概念: 第一方cookie:第一方 cookie 指的是由网络用户访问的域创建的 cookie。 第三方cookie:第三方 cookie 是建立在别的域名不是你访问的域名(地址栏中的网址),比如:广告网络商就是最常见的第三方 cookies 的来源,他们用它们在多个网站上
说说你对 XSS 的了解
Posted on:2024年8月10日 at 17:04初探XSS 跨站脚本攻击,英文全称是 Cross Site Script,本来缩写是 CSS,但是为了和层叠样式表(Cascading Style Sheet,CSS)有所区别,所以在安全领域叫做“XSS”。 XSS攻击,通常指黑客通过HTML注入 篡改网页,插入恶意脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击行为。在这种行为最初出现之时,所有的演示案例全是跨域行为,所以叫做 "跨站脚本"
HTTPS 有哪些优点?
Posted on:2024年8月10日 at 17:04HTTPS并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击,但HTTPS仍是现行架构下最安全的解决方案,主要有以下几个好处: 使用 HTTPS 协议可认证用户和服务器,确保数据发送到正确的客户机和服务器。 HTTPS 协议是由SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,要比 HTTP 协议安全,可防止数据在传输过程中不被窃取、修改,确保数据的完整
iframe 安全
Posted on:2024年7月18日 at 23:49iframe在Web开发中常被用于嵌入外部页面或内容,但其使用也伴随着一定的安全风险。以下是关于iframe安全性的几个关键点:1. 跨站脚本攻击(XSS)风险:攻击者可能通过iframe注入恶意脚本,从而窃取用户信息、进行会话劫持或篡改页面内容。防护措施:验证嵌入内容:确保嵌入的网页来自可信来源,避免从未知或不受信任的源加载内容。使用内容安全策略(CSP):通过CSP可以减少XSS攻击的风险,
静态资源完整性校验
Posted on:2024年7月18日 at 23:40使用 内容分发网络 (CDNs) 在多个站点之间共享脚本和样式表等文件可以提高站点性能并节省带宽。然而,使用CDN也存在风险,如果攻击者获得对 CDN 的控制权,则可以将任意恶意内容注入到 CDN 上的文件中 (或完全替换掉文件),因此可能潜在地攻击所有从该 CDN 获取文件的站点。预防方案将使用 base64 编码过后的文件哈希值写入你所引用的 <script> 或 标签的 integrity
网络劫持
Posted on:2024年7月18日 at 23:38DNS劫持(涉嫌违法):修改运行商的 DNS 记录,重定向到其他网站。DNS 劫持是违法的行为,目前 DNS 劫持已被监管,现在很少见 DNS 劫持HTTP劫持:前提有 HTTP 请求。因 HTTP 是明文传输,运营商便可借机修改 HTTP 响应内容(如加广告)。预防方案 全站 HTTPS
sql 注入
Posted on:2024年7月18日 at 23:28就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗数据库服务器执行恶意的SQL命令,从而达到和服务器进行直接的交互预防方案i)后台进行输入验证,对敏感字符过滤。ii)使用参数化查询,能避免拼接SQL,就不要拼接SQL语句。
前端数据安全
Posted on:2024年7月18日 at 23:24描述反爬虫。如猫眼电影、天眼查等等,以数据内容为核心资产的企业预防方案:i)font-face拼接方式:猫眼电影、天眼查ii)background 拼接:美团iii)伪元素隐藏:汽车之家iv)元素定位覆盖式:去哪儿v)iframe 异步加载:网易云音乐
CSRF攻击及防护
Posted on:2024年7月18日 at 23:22跨站点请求伪造(Cross-Site Request Forgeries),冒充用户发起请求(在用户不知情的情况下), 完成一些违背用户意愿的事情(如修改用户信息,删初评论等)。1、可能造成危害:利用已通过认证的用户权限更新设定信息等;利用已通过认证的用户权限购买商品;利用已通过的用户权限在留言板上发表言论。2、防御:验证码;强制用户必须与应用进行交互,才能完成最终请求。尽量使用 post ,限制
前端的常规安全策略
Posted on:2024年7月18日 at 23:19定期请第三方机构做安全性测试,漏洞扫描使用第三方开源库做上线前的安全测试,可以考虑融合到CI中code review 保证代码质量默认项目中设置对应的 Header 请求头,如 X-XSS-Protection、 X-Content-Type-Options 、X-Frame-Options Header、Content-Security-Policy 等等对第三方包和库做检测:NSP(Node
点击劫持
Posted on:2024年7月18日 at 23:11Clickjacking: 点击劫持,是指利用透明的按钮或连接做成陷阱,覆盖在 Web 页面之上。然后诱使用户在不知情的情况下,点击那个连接访问内容的一种攻击手段。这种行为又称为界面伪装(UI Redressing) 。大概有两种方式:攻击者使用一个透明 iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点击透明的 iframe 页面;攻击者使用一张图片覆盖
什么是点击劫持?如何防范点击劫持?
Posted on:2021年11月17日 at 22:49点击劫持是一种视觉欺骗的攻击手段,攻击者将需要攻击的网站通过 iframe 嵌套的方式嵌入自己的网页中,并将 iframe 设置为透明,在页面中透出一个按钮诱导用户点击。 我们可以在 http 相应头中设置 X-FRAME-OPTIONS 来防御用 iframe 嵌套的点击劫持攻击。通过不同的值,可以规定页面在特 定的一些情况才能作为 iframe 来使用。