学习
实践
活动
工具
TVP
写文章
专栏首页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(前面提到防图片盗链接也是用的这种方式)。令牌和验证都具有一次消费性的特征,因此在原理上一致的,但是验证码是一种糟糕的用户体验,不是必要的情况下不要轻易使用验证码,目前很多网站的做法是如果在短时间内多次提交一个表单未获得成功后才要求提供验证码,这样会获得较好的用户体验。
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://www.jianshu.com/u/5d2427047fd8复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 什么是 SQL 注入攻击?

    SQL 注入就是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,服务器拿到这个字符串之后,会把这个字符串作为 sql 的执行参数去...

    帅地
  • 什么是XSS攻击?XSS攻击有哪些类型?

    大家上午好,大家经常听到XSS攻击这个词,那么XSS攻击到底是什么,以及如何防御大家清楚么?今天,小墨就给大家讲一下:XSS攻击的定义、类型以及防御方法。

    墨者安全科技
  • 什么是DDoS攻击?

    周五下班比较早,我正在家里面玩吃鸡游戏,正在疯狂的跑毒,这时候坐在旁边刷着抖音的女朋友问了我一个奇怪的问题。

    Java3y
  • 什么是DPA 攻击?

    DPA (Differential Power Analysis) ,差分功耗分析, DPA 攻击技术具有很强的攻击性和解密效率,它的的原理是:当芯片在执行不同...

    一个会写诗的程序员
  • 什么是女巫攻击

    女巫攻击(Sybil Attack)是2002年由John R. Douceur在《the Sybil Attack》[1]文中提出的,它是作用于对等(Peer...

    瑞新
  • 什么是DDoS攻击

    DDoS攻击是目前最常见的网络攻击方式之一,其见效快、成本低的特点,让DDoS这种攻击方式深受不法分子的喜爱。DDoS攻击经过十几年的发展,已经“进化”的越来越...

    不念博客
  • 什么是SYN Flood攻击?

    SYN Flood (SYN洪水) 是种典型的DoS (Denial of Service,拒绝服务) 攻击。效果就是服务器TCP连接资源耗尽,停止响应正常的T...

    小小科
  • 什么是CC攻击?CC攻击有哪些类型?

    CC攻击其实属于DDoS攻击的一种,这种攻击普遍都是流量不是很高,但是破坏性非常大,直接导致系统服务挂了无法正常服务。评长期处于防护状态经验的我来说可以分为以下...

    墨者盾
  • 什么是DoS和DDoS攻击?

    在拒绝服务(DoS)攻击下,攻击者向Web资源注入的请求超出了服务器可以处理的数量,从而导致其性能下降或整个系统崩溃。威胁参与者使用一台机器来攻击目标。在分布式...

    用户9247949
  • 什么是死亡之 Ping 攻击?

    死亡之 Ping 攻击是一种拒绝服务 (DoS) 攻击,攻击者旨在通过发送大于最大允许大小的数据包来破坏目标计算机,从而导致目标计算机冻结或崩溃。原始的死亡之 ...

    杰哥的IT之旅
  • 一文搞懂│XSS攻击、SQL注入、CSRF攻击、DDOS攻击、DNS劫持

    极客飞兔
  • sql注入攻击属于什么攻击_ssr怎么用

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

    全栈程序员站长
  • 什么是DDOS 攻击?常见的DDOS攻击有哪些?

    DDOS又称为分布式拒绝服务,全称是Distributed Denial of Service。DDOS本是利用合理的请求造成资源过载,导致服务不可用,从而造成...

    用户8611941
  • XSS 攻击是什么?

    XSS,指的是跨站脚本攻击,是 Cross-site scripting 的缩写。

    前端西瓜哥
  • 什么是CC攻击?如何有效防御?

    CC攻击其实属于DDoS攻击的一种,其原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。这种攻击普遍都是流量不是很高,...

    墨者安全科技
  • 漫画:什么是中间人攻击

    在解放战争初期,东北牡丹江一带,奶头山有一个土匪副官叫栾平。他计划将包含重要信息的先遣图,献给威虎山的土匪头子座山雕。

    小灰
  • 漫画告诉你什么是DDoS攻击?

    根据《2015 H1绿盟科技DDoS威胁报告》指出,如今大流量网络攻击正逐渐呈现增长趋势,前不久锤子科技的发布会以及9月12日苹果官网宕机的案例就印证了这一点。...

    小小科

扫码关注腾讯云开发者

领取腾讯云代金券