当前位置:首页 > 学习资源 > 讲师博文 > 什么是xss和csrf攻击?怎么防范?

什么是xss和csrf攻击?怎么防范? 时间:2023-09-09      来源:华清远见

一:XSS

XSS的基本概念:

XSS全称Cross Site Scripting,跨域脚本攻击。

XSS攻击原理:

XSS不需要做任何的登录认证,它会通过合法的操作,比如在url中输入、或者在评论框中输入等,向页面注入一些脚本,可能是js、hmtl代码块等。

XSS的攻击方式:

1、反射型:发出请求时,XSS代码出现在url中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,所以叫反射型XSS。

2、存储型:存储型XSS和反射型XSS的差别在于,提交的代码会存储在服务器端,下次请求时目标页面时不用再提交XSS代码。

XSS的防范措施:

1、编码:对用户输入的数据进行HTML Entity 编码。把字符转换成转义字符,使得浏览器在最终输出结果上是一样的。

比如说这段代码:<script>alert(hqyj)</script>

若不进行任何处理,则浏览器会执行alert的js操作,实现XSS注入。进行编码处理之后,L在浏览器中的显示结果就是这个文本,将变量作为纯文本进行输出,且不引起JavaScript的执行。

2、过滤:移除用户输入的和事件相关的属性,过滤掉一些不安全的内容,移除用户输入的节点。

3、 校正:避免直接对HTML Entity进行解码。使用DOM Parse转换,校正不配对的DOM标签,把文本解析成DOM结构。

 

二:CSRF

CSRF的基本概念:

CSRF全称是Cross-site request forgery,跨站请求伪造。

CSRF的攻击原理:

用户是某网站的注册用户,且登录进去,于是该网站就给用户下发cookie。要完成一次CSRF攻击,受害者必须满足两个必要的条件:登录受信任网站,并在本地生成Cookie;在不登出的情况下,访问危险另一网站。

CSRF如何防御:

1、将cookie设置为HttpOnly

CRSF攻击很大程度上是利用了浏览器的cookie,为了防止站内的XSS漏洞盗取cookie,需要在cookie中设置“HttpOnly”属性,这样通过程序就无法读取到cookie信息,避免了攻击者伪造cookie的情况出现。设置cookie为HttpOnly的代码如下:response.setHeader( "Set-Cookie", "cookiename=cookievalue;HttpOnly");

2、 Token 验证

攻击者可以伪造用户的请求,该请求中所有的用户验证信息都存在于cookie中,因此攻击者可以在不知道用户验证信息的情况下直接利用用户的cookie来通过安全验证。在请求中放入攻击者所不能伪造的信息,并且该信总不存在于cookie之中。服务器发送给客户端一个token;客户端提交的表单中带着这个token;如果这个token不合法,那么服务器拒绝这个请求。

3、 Referer验证

Referer指的是页面请求来源。意思是,只接受本站的请求,服务器才做响应;如果不是,就拦截。
 

三:CSRF 和 XSS 的区别

1、CSRF是跨站请求伪造; XSS是跨域脚本攻击。

2、CSRF需要用户先登录网站获取cookie; XSS不需要登录。

3、 CSRF是利用网站本身的漏洞; XSS是向网站注入JS代码,执行JS里的代码,篡改网站的内容。

上一篇:嵌入式系统四大地址:虚拟地址,逻辑地址,线性地址,物理地址

下一篇:Tcp两次握手为什么不行

戳我查看嵌入式每月就业风云榜

点我了解华清远见高校学霸学习秘籍

猜你关心企业是如何评价华清学员的

干货分享
相关新闻
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2024 北京华清远见科技发展有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部