前端安全及解决方案

文章详细介绍了三种类型的XSS攻击:存储型、反射型和DOM型,以及它们的危害,如蠕虫、Cookie盗窃。防护措施包括输入和输出过滤、HTML编码和设置HTTPOnlyCookie。同时,文章讨论了CSRF攻击的原理,即攻击者利用受害者的身份在其他网站上执行操作,而防护方法主要在于增强网站自身的防御能力。
摘要由CSDN通过智能技术生成

XSS:

  • 存储型:持久化

    代码是存储在 服务器 中的,如在个人信息或发表文章等地方,插入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。这种 XSS 比较危险,容易造成蠕虫,盗窃 cookie。

  • 反射型:非持久化

    需要欺骗用户自己去点击链接才能触发 XSS 代码(服务器中没有这样的页面和内容),一般容易出现在 web 页面。反射型 XSS 大多数是用来盗取用户的 Cookie 信息。

  • DOM 型:不经过后端

    DOM-XSS 漏洞是基于文档对象模型(Document Objeet Model,DOM)的一种漏洞,DOM-XSS 是通过 url 传入参数去控制触发的,其实也属于反射型 XSS。

防护方案:

对 用户的输入(和 URL 参数) 进行 过滤 ,对 输出 进行 html 编码。也就是对用户提交的所有内容进行过滤,对 url 中的参数进行过滤;然后对动态输出到页面的内容进行 html 编码,转换为 html 实体,使脚本无法在浏览器中执行。

对输出进行 html 编码,就是通过函数,将用户的输入的数据进行 html 编码,使其不能作为脚本运行。

使用 php 中的 htmlspecialchars 函数对用户输入的 name 参数进行 html 编码,将其转换为 html 实体

$name = htmlspecialchars($_GET['name'])

我们还可以服务端设置会话 Cookie 的 HTTP Only 属性,这样,客户端的 JS 脚本就不能获取 Cookie 信息了

CSRF:

  • 攻击一般发起在第三方网站,而不是被攻击的网站,被攻击的网站无法防止攻击发生。
  • 攻击者利用受害者在被攻击网站的登录凭证,冒充受害者提交操作,而不是直接窃取数据;
  • 整个过程攻击者并不能获取到受害者的登录凭证,仅仅是“冒用”。

防护方案:

CSRF通常从第三方网站发起,被攻击的网站无法防止攻击发生,只能通过增强自己网站针对CSRF的防护能力来提升安全性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值