CSRF和XSS网络攻击及防范

CSRF:
Cross Site Request Forgery,跨站请求伪造。字面理解就是在别的站点伪造了一个请求。专业术语就是在受害者访问一个网站时,其cookie还没有过期的情况下,攻击者伪造一个链接地址发送受害者并欺骗让其点击,从而形成CSRF攻击。可以理解为攻击者盗用了用户的身份,以用户的名义发送了恶意请求。
比如用户登录了一个网站后,立刻在另外一个tab页面访问。攻击者用来制造攻击的网站,这个网站要求访问刚刚登录的网站,并且发送了一个恶意请求,这时候CSRF就产生了。
比如这个制造攻击的网站使用一张图片,但是这种图片的连接却是可以修改数据库的,这时候攻击者就可以以用户的名义,操作这个数据库。
防御:
使用验证码;
在HTTP头中自定义属性并验证;
检查HTTPS头部的refer(验证http Referer字段);
在请求地址中添加token并验证。

XSS:
Cross Site Scripting,跨站脚本攻击,是发生在目标用户的浏览器层面上的。当渲染DOM树的工程发生了不在预期内执行的JS代码时,就发生了XSS攻击。大部分XSS攻击的主要方式是嵌入一段远程或者第三方域上的JS代码,实际上是在目标网站的作用域下执行这段JS代码。
攻击者通过注入恶意的脚本,在用户浏览网页的时候进行攻击,比如获取cookie,或者其他用户身份信息,可以分为存储型和反射型。存储型是攻击者输入一些数据并且存储到了数据库中,其他浏览者看到的时候进行攻击;反射型的话不存储在数据库中,往往表现为将攻击代码放在url地址的请求参数中。
防御的思路:对输入(和URL参数)进行过滤,对输出进行编码。也就是对提交的所有内容进行过滤,对url中的参数进行过滤,过滤掉会导致脚本执行的相关内容;然后对动态输出到页面的内容进行html编码,使脚本无法在浏览器中执行。虽然对输入过滤可以被绕过,但是也还是会拦截很大一部分的XSS攻击
防御的方法:
为cookie设置httponly属性;
对用户的输入进行检查(对URL参数进行过滤);
进行特殊字符过滤。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值