挖洞经验 | 看我如何挖掘成人网站YouPorn的XSS并成功利用

标签: WEB安全 xss YouPorn | 发表时间:2018-05-03 13:00 | 作者:secist
出处:http://www.freebuf.com

youporn_logo.png

由于我个人时间的限制,因此我很少或者说是几乎不参加赏金计划任务。虽然我早早的就注册了HackerOne,但你们可以到 我的主页并没有任何的记录。在这里我不得不提及我的 同事,他与我截然相反,可以说他把大部分时间都花在了研究赏金计划上。就在上个月的一个傍晚,当我们连接到我们的工作Jabber server时,他告诉我成人网站 YouPorn也已在HackerOne上,启动了他们的bug奖励计划

他:今天youporn加入了bug赏金计划

我:在hacker one?

他:是的

我:没时间,我正在迁移我的DNS服务器

当我正在阅读关于绑定的文档时,他回复了我:

他: oh shit,不敢相信,搜索栏中存在可利用的XSS

事情开始变得有趣起来,使我不得不停下手中的工作。我很惊讶,这个问题之前竟然没有人能发现它。搜做表单中的XSS是最基本的情况之一,我和我的朋友都经常逛YouPorn,但从来没有发现过这个问题。

时间对我们来说是非常宝贵的,我们必须要在其他人之前利用并报告该漏洞。

从缺少过滤到开放重定向

我启动了浏览器和Burp,并在搜索表单上发送了一个请求。我搜索了foobar”。正如你在下面的截图中看到的那样,搜索词是在 meta标签中,以没有任何过滤(大写字母除外)的形式输出的:

first_payload.png

但当我们尝试写入关闭标签,并添加了Javascript payload,我们发现我们的payload并未被执行:

first_fail.png

虽然如此,但我们仍然决定利用meta HTML标签。这是一个非常强大的标签,因为它包含有http-equiv指令。该 指令相当于http的文件头作用。

http-equiv指令将值设为refresh,可用于将用户重定向到其他页面。如果发生网络钓鱼攻击,这种 开放重定向漏洞是非常有用的:

您向有人发送链接到 http://youporn.com的链接,
您的有效载荷将它们重定向到您控制的网站,模仿YouPorn的CSS;
你问他们的凭据,他们的信用卡号码等。

  1. 向目标发送带有你的有效载荷的 http://youporn.com链接;
  2. 有效载荷将目标用户重定向到你控制的高仿YouPorn钓鱼网站;
  3. 向目标用户询问凭据,信用卡号等请求。

我们输入了以下payload来进行漏洞测试:

second_fail.png

正如你所看到的,这里有一个小问题:http-equiv中的破折号,并未被插入到源代码中。我决定使用双重编码尝试绕过。首先我对破折号做了HTML编码,然后又对其进行了URL编码。

破折号, – ,HTML编码后为&#45 ,URL编码后为%26%2345%3b:

first_success.png

bingo!现在我们已经成功获取到了一个可以重定向用户URL的有效载荷。

标记为重复

与此同时,我那发现并第一时间通知YouPorn的同时,收到了来自YouPorn的以下答复:

实际上你报告的这个漏洞,在你之前已被人提交过。但那位提交者并未能提供有效的利用证明,因此我当前只能将其标记为重复。但机会的大门会向你们敞开,如果你们能提供有效载荷,我们将很乐意接收并为你们提供相应的奖励!

感谢你们!

从开放重定向到反射型XSS

现在我们手中已经有了一个,可以重定向用户URL的有效载荷。

我的脑海中突然灵光一现,那么我们是否可以使用相同的技巧将破折号替换为>和<呢?

事实上这是可行的,使用“HTML-encode-then-URL-encode”技巧,我们可以插入任意的Javascript:

second_success.png

成功弹框:

w00t.png

之后我们继续做了一些测试,我们发现了YouPorn HTML渲染的一些奇怪的地方:无论我们在有效载荷上做了多少次HTML编码递归,服务器端仍然会完全的解码。这意味着:

  • &lt; 会被解码为 <
  • &amp;lt; 也会被解码为 <
  • &amp;amp;lt; 还是会被解码为 <
  • 等。

结语

最后,我们将有效载荷发送给了YouPorn,并最终获取到了YouPorn发放的250美金的奖励!

总之这个过程非常的有趣,哦!我突然想起来我手头的工作,好了回归原点继续迁移我的DNS服务器!

*参考来源: allyourbase,FB小编 secist 编译,转载请注明来自FreeBuf.COM

相关 [经验 成人网站 youporn] 推荐:

挖洞经验 | 看我如何挖掘成人网站YouPorn的XSS并成功利用

- - FreeBuf互联网安全新媒体平台 | 关注黑客与极客
由于我个人时间的限制,因此我很少或者说是几乎不参加赏金计划任务. 虽然我早早的就注册了HackerOne,但你们可以到 我的主页并没有任何的记录. 在这里我不得不提及我的 同事,他与我截然相反,可以说他把大部分时间都花在了研究赏金计划上. 就在上个月的一个傍晚,当我们连接到我们的工作Jabber server时,他告诉我成人网站 YouPorn也已在HackerOne上,启动了他们的bug奖励计划:.

简记 YouPorn 的技术架构

- - 博客园_旁观者-郑昀
传说中占据整个互联网每秒流量2%、100Gb/s、300K queries/s的 YouPorn,关于它的 HAProxy->Varnish->Nginx->PHP-FPM->Symfony2->Doctrine->HAProxy->Redis, 郑昀简要记录几点:. 2012年2月开始,YouPorn 的主数据库正式切换为 Redis,取代了之前的 MySQL;.

成人网站网民的素质 [幽默笑话]

- vic - 经典网文_来福岛爆笑娱乐网
  大到世界风云,小到吃饭拉屎,任何一条新闻都可以引起中国网民的对骂,唯独上黄色论坛的网民素质高,从来没见过骂人的,全部是:楼主辛苦了,谢谢楼主,楼主好人一生平安.

scrum经验

- - CSDN博客研发管理推荐文章
Scrum是基于过程控制理论的经验方法,倡导自组织团队;其运行框架核心是迭代增量型并行开发,也是“适应性”的软件开发方法. Scrum提供了高度可视化的用于管理软件开发复杂性管理的敏捷项目管理的实践框架或敏捷过程,可以用于对现存软件工程实践的包装,提高软件生产率,改善沟通和合作的方法,使人们协作并注重业务目标.

Scrum 实施经验

- bluesnail - 新浪UED
Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发. Scrum在英语的意思是橄榄球里的争球. 虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法:Scrum of Scrums. Scrum定义了许多角色,根据猪和鸡的笑话分为两组,猪和鸡:.

减肥小经验

- 超群 - 中文热文榜|最新
kergee 在 GoogleReader 说. 还有 可可, scavin, 推荐,查看全部 17 个推荐. UnIndexed发表于2010-08-20 17:12:58. Shared by 南闲. 腹肌也是我高中之后一直消失了的东西……不过我不爱腹肌……. 我实在是太懒了,这篇东西三个月前就想写了,竟然能拖到现在.

SQLAlchemy 使用经验

- - keakon的涂鸦馆
上篇文章提到了,最近在用 Python 做一个网站. 除了 Tornado ,主要还用到了 SQLAlchemy. 这篇就是介绍我在使用 SQLAlchemy 的过程中,学到的一些知识. 首先说下,由于最新的 0.8 版还是开发版本,因此我使用的是 0.79 版,API 也许会有些不同. 因为我是搭配 MySQL InnoDB 使用,所以使用其他数据库的也不能完全照搬本文.

ZooKeeper运维经验

- - Juven Xu
ZooKeeper 是分布式环境下非常重要的一个中间件,可以完成动态配置推送、分布式 Leader 选举、分布式锁等功能. 在运维 AliExpress ZooKeeper 服务的一年多来,积累如下经验:. 3台起,如果是虚拟机,必须分散在不同的宿主机上,以实现容灾的目的. 如果长远来看(如2-3年)需求会持续增长,可以直接部署5台.