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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 分治算法详解_算法的优劣通常用什么来衡量

    分治算法详解_算法的优劣通常用什么来衡量分治算法详解 一、基本概念  在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……   任何一个可以用计算机求解的问

    2022年10月23日
    0
  • arduino中Keypad 库函数介绍

    arduino中Keypad 库函数介绍原文:https://playground.arduino.cc/Code/Keypad/Creation构造函数:Keypad(makeKeymap(userKeymap),row[],col[],rows,cols)constbyterows=4;//fourrowsconstbytecols=3;//threecolumnscharkeys[rows][cols]={{‘1′,’2′,’3’},{‘4′,’5′,’6’},{‘

    2022年6月7日
    30
  • python里[::-1]_python中的数组类型

    python里[::-1]_python中的数组类型目录1.python数组下标2.b=a[i:j]3.b=a[i:j:k]1.python数组下标python下标有两套,一套是正的,一套是负的,a=’python’的下表如下python正下标012345负下标-6-5-4-3-2-1使用正下标时,下标i取值范围为0<=i<len(a)超出范围为越界使用负下标时,下标i取值范围为-1>=i>-len(a)-1超出范围为越界2.b=a[i:

    2022年8月13日
    1
  • javah 用法_java enum用法

    javah 用法_java enum用法在android 用法:javah[选项]其中[选项]包括:       -help                输出此帮助消息并退出        -classpath    用于装入类的路径        -bootclasspath用于装入引导类的路径        -d            输出目录        -o

    2022年9月17日
    0
  • ng-repeat出现环路输出Duplicates in a repeater are not allowed. Use &#39;track by&#39; expression to specify unique

    ng-repeat出现环路输出Duplicates in a repeater are not allowed. Use &#39;track by&#39; expression to specify unique

    2022年1月11日
    45
  • petalinux常用命令整理「建议收藏」

    petalinux常用命令整理「建议收藏」#sourcesettings.sh#sourcecomponents/yocto/source/aarch64/environment-setup-aarch64-xilinx-linux#sourcecomponents/yocto/source/aarch64/layers/core/oe-init-build-env#exportPATH=/home/work/pet…

    2022年9月12日
    0

发表回复

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

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