领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

crsf与xss详细讲解 xss+csrf

nixiaole 2024-11-11 15:25:01 知识剖析 15 ℃

问.xss是什么?运行原理?攻击方式?如何预防?

是什么:

xss俗称跨站脚本攻击(cross site Scripting),攻击者通过在网页中添加恶意的script代码,当用户请求网页时,执行恶意的script代码,以达到攻击目的。

运行原理:

攻击者对含有漏洞的服务器发起XSS攻击(注入JS代码)。

诱使受害者打开受到攻击的服务器URL。

受害者在Web浏览器中打开URL,恶意脚本执行。

攻击类型:

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

存储型XSS和反射型的XSS差别就在于,存储型的XSS提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。

如何预防:

编码防御:对用户输入的数据进行HTML Entity编码

编码过滤:移除用户上传的DOM属性,如onerror等,移除用户上传的style节点,script节点,iframe节点。例如PHP语言可以使用htmlspecialchars()函数将数据转实体。

编码校正:避免直接对HTML Entity编码,使用DOM Prase转换,校正不配对的DOM标签。



问.csrf是什么?运行原理?攻击方式?如何预防?

是什么:

csrf是跨站请求伪造。简单的说和xss跨站脚本攻击是一样的,但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

运行原理:

登录受信任网站A,并在本地生成Cookie。

在不登出A的情况下,访问危险网站B。

攻击方式:

1.登录受信任网站A,并在本地生成Cookie。

2.在不登出A的情况下,访问危险网站B。

如何预防:

通过referer、token 或者验证码来检测用户提交。

尽量不要在页面的链接中暴露用户隐私信息。

对于用户修改删除等操作最好都使用post 操作 。

避免全站通用的cookie,严格设置cookie的域。

参考资料:https://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html

最近发表
标签列表