专栏首页Java面试笔试题什么是XSS攻击?什么是SQL注入攻击?什么是CSRF攻击?

什么是XSS攻击?什么是SQL注入攻击?什么是CSRF攻击?

  • XSS(Cross Site Script,跨站脚本攻击)是向网页中注入恶意脚本在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式。跨站脚本攻击分有两种形式:反射型攻击(诱使用户点击一个嵌入恶意脚本的链接以达到攻击的目标,目前有很多攻击者利用论坛、微博发布含有恶意脚本的URL就属于这种方式)和持久型攻击(将恶意脚本提交到被攻击网站的数据库中,用户浏览网页时,恶意脚本从数据库中被加载到页面执行,QQ邮箱的早期版本就曾经被利用作为持久型跨站脚本攻击的平台)。XSS虽然不是什么新鲜玩意,但是攻击的手法却不断翻新,防范XSS主要有两方面:消毒(对危险字符进行转义)和HttpOnly(防范XSS攻击者窃取Cookie数据)。
  • SQL注入攻击是注入攻击最常见的形式(此外还有OS注入攻击(Struts 2的高危漏洞就是通过OGNL实施OS注入攻击导致的)),当服务器使用请求参数构造SQL语句时,恶意的SQL被嵌入到SQL中交给数据库执行。SQL注入攻击需要攻击者对数据库结构有所了解才能进行,攻击者想要获得表结构有多种方式:(1)如果使用开源系统搭建网站,数据库结构也是公开的(目前有很多现成的系统可以直接搭建论坛,电商网站,虽然方便快捷但是风险是必须要认真评估的);(2)错误回显(如果将服务器的错误信息直接显示在页面上,攻击者可以通过非法参数引发页面错误从而通过错误信息了解数据库结构,Web应用应当设置友好的错误页,一方面符合最小惊讶原则,一方面屏蔽掉可能给系统带来危险的错误回显信息);(3)盲注。防范SQL注入攻击也可以采用消毒的方式,通过正则表达式对请求参数进行验证,此外,参数绑定也是很好的手段,这样恶意的SQL会被当做SQL的参数而不是命令被执行,JDBC中的PreparedStatement就是支持参数绑定的语句对象,从性能和安全性上都明显优于Statement。
  • CSRF攻击(Cross Site Request Forgery,跨站请求伪造)是攻击者通过跨站请求,以合法的用户身份进行非法操作(如转账或发帖等)。CSRF的原理是利用浏览器的Cookie或服务器的Session,盗取用户身份,其原理如下图所示。防范CSRF的主要手段是识别请求者的身份,主要有以下几种方式:(1)在表单中添加令牌(token);(2)验证码;(3)检查请求头中的Referer(前面提到防图片盗链接也是用的这种方式)。令牌和验证都具有一次消费性的特征,因此在原理上一致的,但是验证码是一种糟糕的用户体验,不是必要的情况下不要轻易使用验证码,目前很多网站的做法是如果在短时间内多次提交一个表单未获得成功后才要求提供验证码,这样会获得较好的用户体验。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java和JavaSciprt比较

    JavaScript 与Java是两个公司开发的不同的两个产品。Java 是原Sun Microsystems公司推出的面向对象的程序设计语言,特别适合于互联网...

    唐怀瑟
  • 对继承映射的理解

    继承关系的映射策略有三种: ① 每个继承结构一张表(table per class hierarchy),不管多少个子类都用一张表。 ② 每个子类一张表(t...

    唐怀瑟
  • 阐述Spring框架中Bean的生命周期?

    ① Spring IoC容器找到关于Bean的定义并实例化该Bean。 ② Spring IoC容器对Bean进行依赖注入。 ③ 如果Bean实现了Bean...

    唐怀瑟
  • 【精粹】基础 RAID 介绍

    简介 RAID是一个我们经常能见到的名词。但却因为很少能在实际环境中体验,所以很难对其原理 能有很清楚的认识和掌握。本文将对RAID技术进行介绍和总结,以期能尽...

    小小科
  • 【基础拾忆】raid各级别特性

    简介 RAID是一个我们经常能见到的名词。但却因为很少能在实际环境中体验,所以很难对其原理 能有很清楚的认识和掌握。本文将对RAID技术进行介绍和总结,以期能尽...

    小小科
  • Ubuntu18.04软RAID 0 1 5 10建立(附gparted/live使用)

    SeanDepp
  • 1亿片!国产兼容型芯片交出最好成绩单,北斗规模化落地收获民用市场

    5月18日,中国卫星导航定位协会在京发布《2020中国卫星导航与位置服务产业发展白皮书》(下文简称“白皮书”),特别提到,最关键的国产北斗兼容型芯片及模块销量已...

    镁客网
  • 廉价/独立磁盘冗余阵列RAID及CentOS 6上软RAID的实现

    磁盘阵列(Redundant Arrays of Independent Disks,RAID),由“价格便宜具有冗余能力的磁盘阵列”之意。原理是利用数组方式来...

    魏晓蕾
  • ReturnSingleDatabase为True报错的解决办法

    出现这个错误是因为Excel在最初发布的2016版本上加入了**更新**,而流传的破解包都是最初发布的版本,但好在即使是破解版本我们依然可以更新

    但老师
  • 个人博客搭建心得

    我是从18年开始写博客,最初的平台选择在博客园,界面比较清爽,但是博客园主要是针对互联网软件行业的,我发的内容相对来说偏硬件,后来转战CSDN,自带图床用的很爽...

    Mculover666

扫码关注云+社区

领取腾讯云代金券