XSS漏洞攻防

1.什么是XSS漏洞

其实从逻辑上讲,XSS和其他的漏洞诸如SQL注入、文件上传漏洞有很类似的地方:它们都可以通过一些特定的手段,将攻击的代码成功的传送到我们想要攻击的地方。那么有两个关键的环节:
1.代码的注入,即通过什么办法把攻击代码“送”到目的地。
2.代码本身的内容,直接决定着代码进行什么样的攻击,达到什么样的目的,决定着攻击的“威力”。

XSS就是一段由Javascript编写的攻击代码,这个代码能够实现多种攻击功能,对应着XSS的危害,这里我们先不说代码本身的问题,那么XSS漏洞又是什么,其实就是指的我们可以通过一些办法把代码“送”到攻击地点,那么有几种办法(类型)呢?漏洞又是如何产生的呢?总结一句话,XSS漏洞就是通过一些手段在网页嵌入客户端脚本代码,最终在浏览器上执行的客户端攻击。

2.XSS漏洞的类型和触发方式

XSS漏洞分为:反射型、DOM型和存储型。
(1)反射型是通过在URL中做手脚来攻击的,比如我们在一段URL中直接插入JS攻击代码,如果前端和后端都没有识别出URL中有XSS代码,这段代码的“旅程”就是:1.随着URL被提交 2.服务器接收后直接返回带有该代码的数据 3.浏览器解析执行
为什么叫反射型?只是因为服务器相当于进行了一个“吞吐”的过程,类似于反射的过程,但是有一点很关键:代码必须经过浏览器“吞吐”这一次之后才会出现在返回给浏览器的数据中,这样代码才能被执行,否则代码还是在URL中式没办法被解析执行的。
(2)DOM型和反射型不同,它不需要与服务器进行交互,没有经过服务器“吞吐”的过程,因为它的代码利用的是HTML中DOM的一些方法来输出的,比如document.write方法、innerHTML属性等,直接把代码导出到DOM元素中执行的,它的触发是在浏览器解析DOM的时候出现的。
(3)存储型,存储型就厉害了,它是把代码直接传到服务器中,那么上传代码的那个网页就会含有这段代码,它的攻击仍然发生在客户端,每次点击页面服务器就会向客户端发送XSS代码让浏览器执行。这时候服务器的被感染页面就成了攻击源。

那么这三种攻击是怎么触发的?

  • 反射型是从URL中携带代码的,被服务器解析后返回给客户端从而触发,那么最关键的就是“携带”这个过程了,我们可以直接把攻击代码写在URL中,怎么让它触发呢?想办法让用户点啊,比如伪装(欺骗),把URL包装成一些引起人好奇心的消息、新闻之类的,通过微信群或者好友之间分享,用户点击后就触发了,总之中心就是URL
  • DOM型可能发生在页面跳转的时候被触发,如location.href,location/replace()等,也有可能发生在取值写入页面或者动态执行的时候:如从URL中取参数值写入页面或者动态执行,或者从cookie中取参数值写入页面或者动态执行。
  • 存储型的触发就更容易了,只要代码被存到服务器端,点击页面就会立刻执行。

3.XSS的防御措施:

反射型可以通过对URL的参数进行过滤和检查来防御,对预定义字符进行检查,利用转义函数、过滤函数等对URL参数进行检查,对输出进行实体编码,严格控制输出,从输入和输出两方面把关。DOM型可以过滤关键字,对敏感关键字进行过滤,并且innerHTML=encodeHTML([输出]);存储型根据场景的不同,进行对应的输入检查和过滤,如留言板,对留言内容进行敏感字符、关键字的检查和过滤,对输出的内容进行实体编码。
总结一下三种XSS的防御思路是相通的,都是把握好输入检查和输出检查两个方面,只不过应用的具体场景不同,可以把XSS防御的思路总结为:
1.对输入进行严格检查,过滤敏感字符和关键字。
2.使用白名单,提高防护等级,非白名单直接忽略。
3.对输出进行实体编码。
4.使用HTTPonly组织客户端访问cookie,保护cookie不被XSS窃取。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Web漏洞解析与攻防实战》是一本介绍Web安全的书籍,通过深入分析和解读常见的Web漏洞,帮助读者更好地理解和防范Web应用程序的攻击。 在该书的电子版中,作者首先介绍了Web应用程序的基本原理和相关技术,包括HTTP协议、HTML、CSS、JavaScript等。之后,逐一分析了Web安全的重要性和流程,引导读者了解Web漏洞的各种类型和危害。 该书的重点之一是对常见的Web漏洞进行深入解析。其中,SQL注入、跨站脚本攻击XSS)、跨站请求伪造(CSRF)、文件包含、文件上传漏洞等被详细讲解,涵盖了漏洞的原理、攻击方式以及防御方法等。书中通过实例和案例,帮助读者更直观地理解和应用这些知识。 此外,该书还提供了一些攻防实战的案例,分析了一些真实的Web应用程序漏洞和攻击事件,引导读者进行实践和测试。通过这些实战经验,读者可以更好地理解Web漏洞的实际应用及其对系统和用户的威胁。 值得一提的是,电子版的优势在于可以随时随地进行学习和查询,书中内容可以通过电子设备进行搜索和标注。此外,电子版还可以与其他工具和资源进行链接,方便读者深入学习和提高技能。 总的来说,《Web漏洞解析与攻防实战》是一本对于Web安全感兴趣或者从事相关工作的人士非常有价值的书籍。它通过系统的讲解和实战提升读者的技能和知识水平,并帮助他们更好地保护Web应用程序的安全。 ### 回答2: 《Web漏洞解析与攻防实战》是一本关于Web安全的电子书,本书旨在帮助读者深入了解Web漏洞攻防实战的相关知识。 首先,本书详细介绍了Web应用程序的基本架构和工作原理,让读者对Web应用程序有一个整体的认识。随后,书中重点解析了常见的Web漏洞类型,如跨站脚本攻击XSS)、跨站请求伪造(CSRF)、SQL注入、文件上传漏洞等。对于每种漏洞,书中都给出了详细的解释和示例代码,帮助读者理解漏洞的原理和利用方式。 为了帮助读者更好地理解漏洞的攻击和防御方法,本书还提供了大量的实战案例。这些案例涵盖了不同类型的漏洞,通过具体的场景和示例代码,引导读者进行漏洞的发现和修复。同时,书中还介绍了一些常用的漏洞扫描工具和漏洞修复技巧,帮助读者提高Web应用程序的安全性。 此外,本书还强调了Web安全的思维方式和方法论。作者提供了一些实用的安全设计原则和开发规范,让读者在Web应用程序的设计和开发过程中就能考虑安全问题,减少漏洞的产生。同时,书中还介绍了一些常见的安全防护策略,如输入验证、输出编码、会话管理等,帮助读者建立起一套完善的Web安全体系。 综上所述,《Web漏洞解析与攻防实战》是一本全面介绍Web漏洞攻防实战的电子书。通过学习本书,读者可以提高自己对Web安全的认识和理解,掌握常见Web漏洞的检测和修复技术,构建安全可靠的Web应用程序。这对于所有从事Web开发和安全工作的技术人员来说都是一本不可多得的学习资料。 ### 回答3: 《Web漏洞解析与攻防实战》是一本关于网络安全的书籍,主要讲解了Web应用程序中常见的漏洞类型以及相应的解析和防御方法。这本书适合对网络安全有一定基础和兴趣的读者阅读。 书中首先介绍了Web应用程序中的一些常见漏洞类型,例如跨站脚本攻击XSS)、SQL注入、跨站请求伪造(CSRF)、文件上传漏洞等。对于每种漏洞类型,书中详细解析了其原理和攻击方式,并给出了相应的实例和代码分析。读者通过学习这些漏洞原理和攻击方式,可以更好地理解Web应用程序中潜在的安全风险。 接着,书中介绍了如何进行Web漏洞的防御。通过学习这些防御方法,读者可以了解如何通过编码规范、安全策略和安全工具等手段来提高Web应用程序的安全性。书中详细解析了一些常用的防御措施,例如输入验证、参数化查询、安全的会话管理等,读者可以根据自己的需要和实际情况来选择适合的防御方法。 此外,书中还介绍了一些实战场景,让读者能够将所学的知识应用到实际的漏洞攻防场景中。通过这些实战案例,读者可以更深入地理解漏洞的利用和防御过程,加深对网络安全的理解和实践能力。 总之,《Web漏洞解析与攻防实战》是一本综合性的网络安全书籍,涵盖了常见的Web漏洞类型、攻击技术和防御措施。通过阅读这本书,读者可以提高自己对Web应用程序安全的认识和技能,从而更好地保护自己的网络安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值