XSS攻击

目的

攻击者往web页面插入恶意的可执行脚本(html,js),获取用户安全隐私(cookie),执行恶意请求(支付)

1.非持久型XSS

不经过服务器存储,直接通过get或者post请求,就能拿到隐私数据
需要诱骗用户点击

例子:
当页面含有获取url参数直接展示在页面时。
攻击者将参数修改为

alert(document.cookie)

防范:
页面的渲染所有内容尽量来自于服务端
不要用url,document.forms,直接渲染页面
对传入的字符串做转义

2.持久型XSS

一般存在于Form表单提交等交互功能。

例子:当提交评论
数据来源于后端数据库

防范:
前端后端做数据转义

如何防御xss
1.csp添加白名单,告诉浏览器哪些外部资源可以获取
2.转义字符
3.Httponly Cookie

3.CSRF

跨站请求伪造,利用用户已经登录的身份,在用户不知情的情况下,以用户名义进行非法操作。
例子:
当用户在已经登录状态中突然弹出链接引诱用户点击。
当用户点击之后直接拿到cookie进行转账操作

防范:
get请求不对数据修改
不让第三方访问cookie
阻止第三方的请求接口
请求附带验证信息
验证码

4.点击劫持

是一种视觉欺骗手段。

例子:
用iframe嵌套方式嵌入自己的网页,在页面中透出一个按钮诱导
用户点击,进行非用户意愿的操作

防范:
X-FRAME-OPTION
防御用iframe嵌套的点击劫持。
DENY:表示不允许iframe方式展示、
SOMEORIGIN:允许相同的域名下iframe展示
ALLOW-FROM:表示指定的来源展示iframe
Js防御

5.URL跳转漏洞

URL迷惑,将程序引导到不安全的第三方区域。

例子:
http://baidu.com?url=www.evil.com
Header头跳转
Javascript跳转
META跳转

防范:
referer限制
加入有效性的Token

6.SQL注入

利用漏洞,访问或修改数据库.

例子:
select * form user where name=‘admin–’ and password=‘xxx’
‘–’ 之后直接被注释了

防范:
给用户提供最小的权限
后端代码检查是否符合预期
对特殊字符串进行转义处理
查询语句参数化查询接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值