发现 XSS 漏洞的一般做法有哪些?

作者:腾讯云技术社区

链接:https://www.zhihu.com/question/22596724/answer/154431131

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

对于XSS的漏洞挖掘过程,其实就是一个使用Payload不断测试和调整再测试的过程,这个过程我们把它叫做Fuzzing;同样是Fuzzing,有些人挖洞比较高效,有些人却不那么容易挖出漏洞,除了掌握的技术之外,比如编码的绕过处理等,还包含一些技巧性的东西,掌握一些技巧和规律,可以使得挖洞会更加从容。

XSS应该是我挖过的最多漏洞的一种Web漏洞类型,累积下来,就国内BAT、金山、新浪、网易等这些互联网公司的XSS,应该至少也有超过100个,这篇文章主要就是根据自己的一些经验与大家一起探讨编码绕过、处理等技术因素之外的XSS Fuzzing的一些技巧。

Fuzzing(模糊测试)是挖掘漏洞最常用的手段之一,不止是XSS,应该可以说Fuzzing可以用于大部分类型的漏洞挖掘。通俗可以把这种方式理解为不断尝试的过程。

XSS的Fuzzing流程

这是一个比较常规的Web漏扫中XSS检测插件的一个流程图,其中比较关键的几个点在于:

检测输入点

潜在注入点检测

生成Payload

Payload攻击验证

其次是潜在注入点检测,潜在注入的检测是判断输入点是否可以成功把数据注入到页面内容,对于提交数据内容但是不输出到页面的输入点是没有必要进行Fuzzing的,因为即使可以提交攻击代码,也不会产生XSS;在潜在注入点的检测通常使用的是一个随机字符串,比如随机6位数字,再判断这6位数字是否返回输出在页面,以此来进行判断。为什么不直接使用Payload进行判断呢?因为Payload里包含了攻击代码,通常很多应用都有防火墙或者过滤机制,Payload中的关键词会被拦截导致提交失败或者不会返回输出在页面,但这种情况不代表不能XSS,因为有可能只是Payload不够好,没有绕过过滤或者其他安全机制,所以采用无害的随机数字字符就可以避免这种情况产生,先验证可注入,再调整Payload去绕过过滤;而随机的目的在于不希望固定字符成为XSS防御黑名单里的关键词。

再者就是生成Payload和进行攻击验证的过程,Payload的好坏决定了攻击是否可以成功;而对于不同情况的注入点,需要使用的Payload也是不同的,比如,注入的位置在标签属性中还是标签事件中,使用的Payload是不同的;

标签属性中:如test,Payload:">alert(0), Payload:alert(0)

其实Payload的生成就是一个不断Fuzzing和不断调整的过程,根据注入位置上下文代码的结构、内容以及应用过滤机制等不断调整和不断提交测试的过程,下图是一个Payload的生成流程。

那么假如某次Payload调整后Fuzzing成功,也就意味XSS注入成功,并得出这个漏洞的PoC。

其实为什么一开始就介绍下扫描器常规的XSS检测方式呢?因为手工Fuzzing XSS其实也是这样一个过程,很多安全工具其实就是将手工的过程自动化。

接下来进入正题我们一起探讨一些XSS的挖掘技巧。

此文摘自跨站的艺术-XSS Fuzzing 的技巧》,更具体的xss的挖掘技巧分享,大家可以到这里看看哦~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 之前积累了XSS 有一段时间,因为目前开始了一件有趣的工程,需要整合非常多的知识,其中Web 安全这一块出现最多的...
    刀背藏身阅读 13,107评论 0 16
  • 漏洞挖掘与利用 测试环境的搭建 引言 为什么要搭建本地测试环境?我想下面的东西能够回答你的疑惑。 第二百八十五条 ...
    作业没写完阅读 8,685评论 0 4
  • 攻击活动 SQL(结构化查询语言)注入 概述 一个SQL注入攻击包含了从应用客户端的输入数据中注入或嵌入的方式,一...
    夏夜星语阅读 4,652评论 0 0
  • 【第20天】 “由着熟而渐悟懂劲,由懂劲而阶及神明。然非用力之久,不能豁然贯通焉。” “神明”就是一种自然符合规律...
    UniverseArtwork阅读 1,441评论 0 0
  • 以前不到一个星期就能看完的书,现在却漓漓拉拉地用了一个多月。翻过最后一页,如释重负般地长叹一声,细细品味...
    欣民阅读 2,256评论 0 0

友情链接更多精彩内容