成人网站PornHub跨站脚本(XSS)漏洞挖掘记

写在前面的话

当PornHub公布了他们的公开漏洞奖励计划之后,我敢肯定的是该网站之前存在的一些低级漏洞或比较容易发现的漏洞都已经被别人挖出来了。

但是当我开始着手挖PornHub的漏洞时,我却在15分钟之内就发现了第一个漏洞,而在几分钟之后我又找出了第二个漏洞。

在我整个挖洞生涯中,我从来没有以这么快的速度挖出过漏洞,所以我觉得非常的激动!

作为回报,我收到了PornHub所提供的总共500美金的漏洞奖励,外加一件非常炫酷的T恤衫,衣服的图片我已经发到Reddit上了,如下图所示:

当我将这张照片发到Reddit上之后,我压根没想到它会受到如此多的关注,而且很多人都向我私信并问我有关挖洞的事情。

“你是怎样完成攻击的?”以及“你为什么要攻击PornHub?”等等。

由于要遵守漏洞奖励计划的规定,我当时并不能给大家回答这些问题。

但是现在这些漏洞已经被修复了,所以我打算在这篇文章中跟大家描述一下挖洞的整个经过。

挖洞过程

我当时正在使用浏览器浏览PornHub Premium网站,而我仅在20分钟之内就发现并报告了两个反射型跨站脚本(XSS)漏洞。

跨站脚本漏洞将允许攻击者在一个网站中执行恶意脚本,OWASP给出的XSS漏洞定义如下:

一名攻击者可以利用XSS漏洞向不知情的用户发送恶意脚本。

终端用户的浏览器无法确定这些脚本是否可信任,并且会自动运行这些恶意脚本。

因为它会认为这个脚本来自一个可信任的源,而恶意脚本将访问浏览器中保存的cookie、会话token或其他的敏感信息,并利用这些信息来完成其他的恶意目的,而有些脚本甚至还可以修改页面的HTML代码。

我所发现的第一个漏洞存在于网站的“兑换码”区域,这个文本框并不会对用户的输入数据进行检测,而我们就可以在这个输入框中输入攻击payload了,于是我就可以用下面给出的payload来让页面显示我们的脚本信息:

PAYLOAD+STACK++%3E%27" /Autof<K>ocus/O<K>nfocus=confirm`1`//&error=1

这个payload的第一部分“PAYLOAD STACK”用于确保我们的payload可以被正常发送。

如果我输入的是:

++%3E%27" /Autof<K>ocus/O<K>nfocus=confirm`1`//&error=1

如果没有输入刚才的“PAYLOAD STACK”,那么Web应用将会屏蔽我所输入的内容,此时页面就不会显示任何脚本内容了。

在payload前面输入一些无害内容可以欺骗网站的验证器,而我们的payload就可以正常执行了。

我所发现的第二个漏洞同样是一个XSS漏洞,这个漏洞的发现过程就更简单了。

我当时发现了一个只会对新用户显示一次的URL参数,当我在这个参数中输入了一个payload之后就成功触发了网站的XSS漏洞,也许这就是该漏洞为何迟迟没有被发现的原因吧。

大多数漏洞猎人会在开始挖洞之前先熟悉一下目标站点,有些人甚至会凭感觉来尝试找出漏洞,但是我一般采用的是一种不同的方法。

我个人比较喜欢从匿名窗口入手,此时网站通常会认为我之前从未访问过它,而这些窗口中一般都会存在安全漏洞。

我发现如果我没有付费的话,我基本上是无法查看PornHub Premium的网站内容的。

但是在我支付之前,网站会弹出一个窗口并告知用户当前正在访问色情网站,用户需要点击窗口中的按钮来确定是否急需访问。

除此之外我还发现,当我点击了“Enter”(进入)按钮之后,网站URL地址的其中一部分会发生改变并增加了一个参数。

这个存在漏洞的参数就是“&compliancePop=no_gateway”,而我就可以在这个参数中输入下面给出的payload:

&compliancePop=no_gateway%22-confirm`1`-%22

加载了这个payload之后,我就可以让网站显示出“1”,也就是我们payload中的信息,而这就意味着这里存在一个XSS漏洞。

总结

我将这两个漏洞都上报给了PornHub,他们也在24小时之内对漏洞进行了审核确认。

我很感谢PornHub的工作人员给我们提供了一个非常公平的漏洞奖励计划,而且我也要为他们的工作效率和快速响应能力点个赞。

更重要的是,他们非常在意用户的安全,这也是很多其他的网站应该学习的地方。

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2017-03-30

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏日暮星辰

服务器操作系统 CoreOS

3743
来自专栏FreeBuf

开源Webshell利用工具——Altman

Altman,the webshell tool,自己写的一款开源软件。 0×00前言 之前用过几款webshell工具,有B/C的也有C/S的,有的只能用于p...

32110
来自专栏沃趣科技

ASM 翻译系列第六弹:高级知识 如何映射asmlib管理的盘到它对应的设备名

原作者:Bane Radulovic 译者: 赵恩东 审核: 魏兴华 DBGeeK社群联合出品 当使用ASMLIB 来管理ASM 磁盘时,设备的路径...

3964
来自专栏码神联盟

架构 | 大型网站分布式高并发架构设计汇总

本文多数内容为小编精心总结,呕心沥血完成,切勿抄袭沿用。 参考文献《架构知识》、《深入理解java》 ---- 章节目录: 前言 前端架构 应用层架构 服务层架...

53510
来自专栏码神联盟

架构 | 大型网站分布式高并发架构设计汇总

本文多数内容为小编精心总结,呕心沥血完成,切勿抄袭沿用。 参考文献《架构知识》、《深入理解java》 ---- 章节目录: 前言 前端架构 应用层架构 服务层架...

6908
来自专栏安恒信息

干货 | Intel CPU漏洞分析与安恒信息产品影响解读

综述 近日,Intel CPU中曝出Meltdown(熔断)和Spectre(幽灵)两大新型漏洞,包括Intel、AMD、ARM等主流CPU在内,几乎...

30111
来自专栏架构师之路

单点系统架构的可用性与性能优化

一、需求缘起 明明架构要求高可用,为何系统中还会存在单点? 回答:单点master的设计,会大大简化系统设计,何况有时候避免不了单点 在哪些场景中会存在单点?先...

3718
来自专栏微信小开发

注册微信小程序账号

本指导文档将详细介绍小程序从注册到上线的流程,帮助用户快速完成上线。 文档会随微信官方文档不断更新。 注册微信小程序账号 微信提供了两种注册方式: 方式一:通过...

4347
来自专栏黑白安全

小心!黑客可利用Windows远程协助漏洞窃取你的敏感文件

一个基本的网络安全建议和常识就是你不要与不信任的人分享你的计算机远程访问权限。但是,不仅限于此,攻击者的套路往往是很深的,如果你认为我们只要不与不信任的人分享计...

1253
来自专栏CSDN技术头条

【问底】徐汉彬:亿级Web系统搭建——单机到分布式集群

大规模流量的网站架构,从来都是慢慢“成长”而来。而这个过程中,会遇到很多问题,在不断解决问题的过程中,Web系统变得越来越大。并且,新的挑战又往往出现在旧的解决...

25110

扫码关注云+社区

领取腾讯云代金券