快捷搜索:
来自 新京葡娱乐场网址 2019-11-06 09:21 的文章
当前位置: 67677新澳门手机版 > 新京葡娱乐场网址 > 正文

新京葡娱乐场网址:黑客web渗透方式之xss跨站攻

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

2017/06/08 · 基础技术 · 1 评论 · XSS

原文出处: FreeBuf   

新京葡娱乐场网址 1

对于xss这一个漏洞十分感兴趣,或者出于各种各样的目的需要深入学习,其实绝大多数网络上博客、包括一些开源的工具,时效性较差,给初学者带来很多困扰和不必要的坑。 我仅以xss这个漏洞的名称来举例:本身这个漏洞的名字叫 corss site scripting  简写为css,但是之所以叫xss是因为css与web浏览器中解析的层叠样式表(css)重名,故取名xss。然而,cross site scripting 直译过来叫做跨站脚本攻击,其实这个名字本身也存在误导性。如今的web前端开发者应该都清楚,在现代浏览器的同源策略保护下,浏览器中的跨域行为受到了限制,并且其实从xss这个漏洞的攻击原理上讲,“跨站”这两个字其实真的没有什么必要。

写在前面的话

当PornHub公布了他们的公开漏洞奖励计划之后,我敢肯定的是该网站之前存在的一些低级漏洞或比较容易发现的漏洞都已经被别人挖出来了。但是当我开始着手挖PornHub的漏洞时,我却在15分钟之内就发现了第一个漏洞,而在几分钟之后我又找出了第二个漏洞。在我整个挖洞生涯中,我从来没有以这么快的速度挖出过漏洞,所以我觉得非常的激动!

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

新京葡娱乐场网址 2

当我将这张照片发到Reddit上之后,我压根没想到它会受到如此多的关注,而且很多人都向我私信并问我有关挖洞的事情,例如“你是怎样完成攻击的?”以及“你为什么要攻击PornHub?”等等。由于要遵守漏洞奖励计划的规定,我当时并不能给大家回答这些问题,但是现在这些漏洞已经被修复了,所以我打算在这篇文章中跟大家描述一下挖洞的整个经过。

由于

挖洞过程

我当时正在使用浏览器浏览PornHub Premium网站,而我仅在20分钟之内就发现并报告了两个反射型跨站脚本(XSS)漏洞。跨站脚本漏洞将允许攻击者在一个网站中执行恶意脚本,OWASP给出的XSS漏洞定义如下:

“一名攻击者可以利用XSS漏洞向不知情的用户发送恶意脚本。终端用户的浏览器无法确定这些脚本是否可信任,并且会自动运行这些恶意脚本。因为它会认为这个脚本来自一个可信任的源,而恶意脚本将访问浏览器中保存的cookie、会话token或其他的敏感信息,并利用这些信息来完成其他的恶意目的,而有些脚本甚至还可以修改页面的HTML代码。”

新京葡娱乐场网址 3

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

PAYLOAD STACK >'" /Autofocus/Onfocus=confirm`1`//&error=1

1
PAYLOAD STACK >'" /Autofocus/Onfocus=confirm`1`//&error=1

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

>'" /Autofocus/Onfocus=confirm`1`//&error=1

1
>'" /Autofocus/Onfocus=confirm`1`//&error=1

如果没有输入刚才的“PAYLOAD STACK”,那么Web应用将会屏蔽我所输入的内容,此时页面就不会显示任何脚本内容了。在payload前面输入一些无害内容可以欺骗网站的验证器,而我们的payload就可以正常执行了。

我所发现的第二个漏洞同样是一个XSS漏洞,这个漏洞的发现过程就更简单了。我当时发现了一个只会对新用户显示一次的URL参数,当我在这个参数中输入了一个payload之后就成功触发了网站的XSS漏洞,也许这就是该漏洞为何迟迟没有被发现的原因吧。大多数漏洞猎人会在开始挖洞之前先熟悉一下目标站点,有些人甚至会凭感觉来尝试找出漏洞,但是我一般采用的是一种不同的方法。我个人比较喜欢从匿名窗口入手,此时网站通常会认为我之前从未访问过它,而这些窗口中一般都会存在安全漏洞。

我发现如果我没有付费的话,我基本上是无法查看PornHub Premium的网站内容的。但是在我支付之前,网站会弹出一个窗口并告知用户当前正在访问色情网站,用户需要点击窗口中的按钮来确定是否急需访问。除此之外我还发现,当我点击了“Enter”(进入)按钮之后,网站URL地址的其中一部分会发生改变并增加了一个参数。这个存在漏洞的参数就是“&compliancePop=no_gateway”,而我就可以在这个参数中输入下面给出的payload:

&compliancePop=no_gateway"-confirm`1`-"

1
&compliancePop=no_gateway"-confirm`1`-"

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

实现方式:

总结

我将这两个漏洞都上报给了PornHub,他们也在24小时之内对漏洞进行了审核确认。我很感谢PornHub的工作人员给我们提供了一个非常公平的漏洞奖励计划,而且我也要为他们的工作效率和快速响应能力点个赞。更重要的是,他们非常在意用户的安全,这也是很多其他的网站应该学习的地方。

如果你还想知道更多的挖洞经验,请关注我的Twitter(@ jon_bottarini)。

1 赞 1 收藏 1 评论

新京葡娱乐场网址 4

XSS 后的页面和正常页面的源码比较

Fuzzing(模糊测试)是挖掘漏洞最常用的手段之一,不止是XSS,应该可以说Fuzzing可以用于大部分类型的漏洞挖掘。通俗可以把这种方式理解为不断尝试的过程。黑客入门书籍《网络黑白》t宝有

在可跨域的标签如img、iframe中构造恶意 url,或构造使用 post 方法的表单并诱导用户访问该页面,即可实现攻击

查看网页的源代码,可以发现 User ID 这个输入框确实被我们的输入控制了

新京葡娱乐场网址 5

HTTP 参数污染有时可以绕过 WAF 的过滤

有时 web 程序会用转义字符的方式转义特殊字符,然而,如果数据库使用的编码方式与 web 程序不同时,特别是数据库使用的是双字节字符编码,而负责过滤的 web 程序使用的是单字节字符编码,可能会导致过滤失败。例如,数据库使用了 GBK 编码,而 web 应用使用的是 ASCII 编码,当用户输入 0xbf27 时,由于 27 是单引号 ',web 程序会将其转义,变成 0xbf5c27,但是在数据库中,由于使用的是 GBK 编码,会将 bf5c 认为是一个字符,从而再次暴露了单引号 '

一般情况下,手动查找 XSS 注入点通常需要结合查看网页的源代码,找到自己的输入出现在了页面的哪个地方,然后根据该点附近的上下文构造恶意代码,比如,一个用 php 编写的页面为:

值得注意的地方:

请点击此处输入图片描述

简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的

原理:

设置 HttpOnly 可以禁止客户端的脚本访问 cookie,但是依然可以通过抓包的方式获取到 cookie

如果在前端过滤用户输入的话,可以使用 Burp Suite 等工具绕过过滤

请点击此处输入图片描述

新京葡娱乐场网址 6

原理:

反射型:只能通过用户点击恶意构造的链接才能触发攻击

在正常情况下,用户的请求会在页面中显示出来。但是如果提供给 param 的参数是一段 HTML 代码,那么浏览器就会将它当做代码解析执行

总结针对 web 程序的攻击方式,这些方式造成的后果不一,小到会话劫持,大到直接拿到服务器的管理员权限,这完全取决于 web 程序的安全设置,但从根本上来说,这些安全问题都是可以彻底避免的。

效果:

新京葡娱乐场网址 7

效果:

在可提交的输入框中构造输入,有时需要闭合引号,中括号等,有时需要对输入进行编码以绕过 WAF。

本文由67677新澳门手机版发布于新京葡娱乐场网址,转载请注明出处:新京葡娱乐场网址:黑客web渗透方式之xss跨站攻

关键词: