二十多年来,跨站脚本(简称 XSS)漏洞一直是主流网站的心头之痛。为什么过了这么久,这些网站还是对此类漏洞束手无策呢?

对于最近 eBay 网站曝出的跨站脚本漏洞,你有什么想法?为什么会出现这样的漏网之鱼?一个如此大规模的网站,不应该具备可靠的网关安全技术以阻止任何情况下的 XSS 攻击么?

即便从上世纪 90 年代开始,跨站脚本漏洞就已经为人们所熟知。时至今日,它仍在贻害为数不少的网站。大多数主流网站,包括谷歌,CNN,PayPal 以及 Facebook,都曾受过 XSS 漏洞的影响。该漏洞也常年出现在 CWE/SANS 前 25 个最危险的编程错误、OWASP 前 10 个最致命的 Web 应用安全风险之类的榜单。

XSS 攻击与大多数应用层攻击(诸如 SQL 注入攻击)不同,因为它攻击的是应用的用户,而非应用本身或应用服务器。这类攻击会往 Web 应用的内容中注入代码,通常是 JavaScript 之类的客户端代码。大多数网站都有许许多多的注入位置,包括搜索框、反馈表格,cookie 以及论坛等。借助 XSS 漏洞,黑客可以窃取数据,控制用户的会话,运行恶意代码,或操纵受害用户浏览器中显示的内容。

像 eBay 这样的网站,几乎完全基于用户产生的内容,通常在用户的项目描述部分包含许多活动内容(Active Content),比如 JavaScript 和 Flash。由于网站必须与用户互动,接收来自用户的输入、返回数据,这意味着,攻击者也可以直接与网站互动,从而穿破传统的外围安全防护。除非所有用户提供的内容都经过严格审查,XSS 攻击代码就有可能注入拍卖清单页面,从而影响每个访问该页面的用户。用户输入的所有内容(表单数据、cookie、邮件、文件、图片等)都应该视为不可信任,需要经历审查,删除其中可能被恶意使用的字符与字符串,才能继续执行脚本或传给数据库。

导致 eBay 这样的大网站持续受到 XSS 攻击的一大原因,是这些网站过于复杂,实时生成的网页常常会包含许多外部站点的内容。这使得测试阶段,枚举用户与应用交互的所有排列组合变得不太现实,继而导致 XSS 漏网之鱼的出现。

话虽如此,eBay 居然没有一套更为严格的代码审查流程(近几周发现了多个 XSS 漏洞),还是有些令人吃惊。用于测试 XSS 漏洞的工具其实很多,它们都能在代码上线之前有效查找漏洞。此外,开发者也可以使用安全控制库(诸如 OWASP 的企业安全 API 或微软的反跨站脚本库),而不需要自己编写验证检查。而且,诸如运行时应用自我保护(RASP)等网关安全技术也有助于检测并防御对 XSS 漏洞的攻击。因此,如此主流的一个大网站(eBay),却没能有效防御如此广为人知的安全漏洞,实在是有些让人失望。

如今,多样化的攻击手段层出不穷,传统安全解决方案越来越难以应对网络安全攻击。OneRASP 实时应用自我保护技术,可以为软件产品提供精准的实时保护,使其免受漏洞所累。想阅读更多技术文章,请访问 [OneAPM 官方技术博客]。

本文转自 OneAPM 官方博客

为什么主流网站无法捕获 XSS 漏洞?的更多相关文章

  1. 通过代码审计找出网站中的XSS漏洞实战(三)

    一.背景 笔者此前录制了一套XSS的视频教程,在漏洞案例一节中讲解手工挖掘.工具挖掘.代码审计三部分内容,准备将内容用文章的形式再次写一此,前两篇已经写完,内容有一些关联性,其中手工XSS挖掘篇地址为 ...

  2. 通过Web安全工具Burp suite找出网站中的XSS漏洞实战(二)

    一.背景 笔者6月份在慕课网录制视频教程XSS跨站漏洞 加强Web安全,里面需要讲到很多实战案例,在漏洞挖掘案例中分为了手工挖掘.工具挖掘.代码审计三部分内容,手工挖掘篇参考地址为快速找出网站中可能存 ...

  3. 使用Fiddler的X5S插件查找XSS漏洞

    OWASP top 10的安全威胁中的CrossSite Scripting(跨站脚本攻击),允许攻击者通过浏览器往网站注入恶意脚本.这种漏洞经常出现在web应用中需要用户输入的地方,如果网站有XSS ...

  4. 快速找出网站中可能存在的XSS漏洞实践

    笔者写了一些XSS漏洞的挖掘过程记录下来,方便自己也方便他人. 一.背景 在本篇文章当中会一permeate生态测试系统为例,笔者此前写过一篇文章当中笔者已经讲解如何安装permeate渗透测试系统, ...

  5. 快速找出网站中可能存在的XSS漏洞实践(一)

    一.背景 笔者最近在慕课录制了一套XSS跨站漏洞 加强Web安全视频教程,课程当中有讲到XSS的挖掘方式,所以在录制课程之前需要做大量实践案例,最近视频已经录制完成,准备将这些XSS漏洞的挖掘过程记录 ...

  6. Struts网站基于Filter的XSS漏洞修复

    下面的代码只支持struts2框架中的xss漏洞 第一步,创建过滤器XssFilter : package com.ulic.ulcif.filter; import java.io.IOExcept ...

  7. XSS跨站脚本攻击实例讲解,新浪微博XSS漏洞过程分析

    2011年6月28日晚,新浪微博遭遇到XSS蠕虫攻击侵袭,在不到一个小时的时间,超过3万微博用户受到该XSS蠕虫的攻击.此事件给严重依赖社交网络的网友们敲响了警钟.在此之前,国内多家著名的SNS网站和 ...

  8. 利用窗口引用漏洞和XSS漏洞实现浏览器劫持

    ==Ph4nt0m Security Team==                        Issue 0x03, Phile #0x05 of 0x07 |=----------------- ...

  9. 【渗透课程】特别篇-主流网站程序Oday大全以及拿shell思路

    版权和内容说明: 这篇文章不是本站编写,是从网络上摘抄的,但是经过了本站的改写优化,并将内容,格式规范化. 本篇说明:这篇文章结合了前辈们前几年一路挖掘出来的主流程序漏洞以及思路, 小编写在前面是想让 ...

随机推荐

  1. EmguCV学习——简单算法 差分与高斯

    公司项目需要检测运动物体,我对opencv也没啥研究,google了好久看了好多方法,最简单的就是差分与高斯背景建模了. 旁边搞c++的同事正在搞更nb的算法,等出来了 我再转成C#版的分享. 先看差 ...

  2. IOS内存管理「1」- 引用计数

  3. 将获得到的json赋值到下拉框

    $(function () { $.getJSON('handler/addEmployees.ashx', function (json) { alert(json.length); //遍历赋值 ...

  4. 68.vivado与modelsim的关联以及器件库编译

    vivado软件中也自带仿真工具,但用了几天之后感觉仿真速度有点慢,至少比modelsim慢挺多的.而modelsim是我比较熟悉的一款仿真软件,固然选它作为设计功能的验证.为了将vivado和mod ...

  5. DHCP Server软件使用教程

    DHCP Server软件使用教程 前提网络环境配置 电脑连接上wifi 网络和共享中心中更改适配器,共享无线网卡给以太网网卡 手动设置以太网网卡ipv4地址为192.168.1.1,子网掩码为255 ...

  6. 自定义debug信息

    #ifdef  DEBUG  #define debug(fmt,args...)  printk(fmt ,##args)  #define debugX(level,fmt,args...) if ...

  7. 如何写一个简单的Web Server(一)

      在本篇博文中我将介绍如何写一个Web Server.博文中大部分资料我是参考的这篇文章(http://www.linuxhowtos.org/C_C++/socket.htm),英文不错的同学可以 ...

  8. asp.net 间传值的方法

    1.页面间使用post请求时,可以使用Request.Form["xxx"] 2.QueryString 3.Context上下文传值,使用在Server.Transfer中,这个 ...

  9. FB接口之 js调用支付窗口

    官方文档: https://developers.facebook.com/docs/reference/dialogs/pay/ <html xmlns="http://www.w3 ...

  10. ReactJS入门

    React介绍 React是facebook开发基于组件驱动开发(CDD ) 的UI类库,相对于双向绑定的类库,如AngularJS,它采用单向数据流绑定.通过采用虚拟DOM的概念,是的他在性能和处理 ...