CSRF/XSRF攻击和XSS攻击

XSS(CrossSiteScripting跨站脚本)。XSS定义的主语是“脚本”,是一种跨站执行的脚本,也就是javascript脚本,指的是在网站上注入我们的javascript脚本,执行非法操作。 CSRF(Cross-siterequestforgery跨站请求伪造,也被称为“OneClickAttack”或者SessionRiding,通常缩写为CSRF或者XSRF,是…

大家好,又见面了,我是你们的朋友全栈君。

XSS(Cross Site Scripting跨站脚本)。XSS定义的主语是“脚本”,是一种跨站执行的脚本,也就是javascript脚本,指的是在网站上注入我们的javascript脚本,执行非法操作。 

CSRF(Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。CSRF定义的主语是”请求“,是一种跨站的伪造的请求,指的是跨站伪造用户的请求,模拟用户的操作.

XSS攻击发生的条件是可以执行javascript脚本,一般在站点中总会有发表文章、留言等信息的表单,这种表单一般是写入到数据库中,然后在某个页面进行展示。我们可以在这些表单中直接编写javascript代码(<script>alert("哈哈哈哈,你被攻击了!");</script>)进行测试,看是否可以执行。如果在信息展示页面js代码可以执行,XSS攻击就成功了。

 

CSRF攻击能够成功,是因为黑客可以完全伪造用户的请求,该请求中所有的用户验证信息都是存在于cookie中,因此黑客可以在不知道这些验证信息的情况下直接利用用户自己的cookie 来通过安全验证。要抵御 CSRF,关键在于在请求中放入黑客所不能伪造的信息,并且该信息不存在于 cookie 之中。可以在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有token或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。这种方法要比检查 Referer 要安全一些,token 可以在用户登陆后产生并放于session之中,然后在每次请求时把token 从 session 中拿出,与请求中的 token 进行比对

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/124627.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • axios实现跨域三种方法_react antdesign

    axios实现跨域三种方法_react antdesign1.启动springboot后端,提供接口2.在config文件夹下创建proxy.tx文件,如果存在,在dev中添加axios环境代理,例如在我的demo中添加了/asd映射到http://localhost:8889/***在生产环境代理是无法生效的,所以这里没有生产环境的配置*Theagentcannottakeeffectintheproductionenvironment*sothereisnoconfigurationoftheproduc

    2025年10月26日
    3
  • p6spy的使用和配置「建议收藏」

    p6spy的使用和配置「建议收藏」【注意】:本教程适用与springboot项目1.加载jar包<!–sql打印–><!–https://mvnrepository.com/artifact/p6spy/p6spy–><dependency><groupId>p6spy</groupId><artifactId>p6spy</artifactId>

    2022年9月28日
    2
  • vue slot插槽_vue插槽的使用场景

    vue slot插槽_vue插槽的使用场景为什么使用slotslot(插槽)在生活中很多地方都有插槽,电脑usb的插槽,插板当中的电源插槽插槽的目的是为了让我们原来的设备具备更多的扩展性比如电脑的USB我们可以插入U盘,手机,鼠标,键

    2022年8月7日
    6
  • linux 同步北京时间 局域网同步时间

    linux 同步北京时间 局域网同步时间如果不是北京时间先改成北京时间1.删除自带的localtimerm-rf/etc/localtime2.创建软链接到localtimeln-s/usr/share/zoneinfo/Asia/Shanghai/etc/localtime在同步时间方法一:使用ntpdate比较简单安装ntpdateyuminstallntpdatentpdate…

    2022年7月16日
    15
  • gearman c语言,Gearman分布式任务处理系统(一)基本介绍[通俗易懂]

    gearman c语言,Gearman分布式任务处理系统(一)基本介绍[通俗易懂]Gearman介绍Gearman是一个用来把工作委派给其他机器、分布式的调用更适合做某项工作的机器、并发的做某项工作在多个调用间做负载均衡、或用来在调用其它语言的函数的系统。通常,多语言多系统之间的集成是个大问题,一般来说,人们多半会采用WebService的方式来处理此类集成问题,但不管采用何种风格的WebService,如RPC风格,或者REST风格,其本身都有一定的复杂性。相比之下…

    2025年6月9日
    4
  • java二维对象数组_java 二维数组和对象数组

    java二维对象数组_java 二维数组和对象数组1.二维数组:二维数组就是存储一维数组(内存地址/引用)的数组2.二维数组的初始化1)intintA[][]={{1,2},{2,3},{3,4,5}};2)int[][]intB=newint[3][5];3)int[]intC[]=newint[3][];intC[0]=newint[2];intC[1]=newint[3];intC[2]=newint[5];1…

    2022年6月10日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号