如何你的Twitter粉丝无法刷新朋友圈
这篇文章将为大家详细讲解有关如何你的Twitter粉丝无法刷新朋友圈,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
大家好,今天分享的这个writeup是关于Twitter的一个Dos漏洞,利用该漏洞,只需发送一条推特朋友圈,就可以触发Twitter后端服务器解析错误,导致你和你的粉丝账户无法刷新推特朋友圈。
从XSS入手打开切口
DoS攻击一般是指针对某一类型资源(如网站、应用程序或服务器)的特定请求攻击,攻击可以造成该资源服务失效,甚至功能瘫痪。
刚开始,我原本打算去尝试发现Twitter移动官网(mobile.twitter.com)上的XSS漏洞,但却一无所获。但后来,我登录进Twitter移动官网,开启了一个对话框进行测试,在其中反复发送了各种Payload,想获得一些有效的XSS解析响应。以下是我的一个大致思路过程:
我注意到,用户在Twitter中发送任意URL链接时,Twitter会用自身短网址服务把用户的发送URL链接转变为“t.co”前缀域名样式,这是正常情况。短网址服务是Twitter为保护用户免受恶意链接威胁而引入的,有点类似Facebook的重定向跳转保护服务Linkshim。但是,当你用“twitter.com”子域名或是“mobile.twitter.com”网站来发送URL链接时,却不会生成“t.co”前缀域名样式,哦,这......。
这就有点意思了,因为大多现代Web技术网站针对用户的连续操作请求,为了增加用户体验和响应效率,都不会重新通过服务器加载整个页面,而是经由异步通信方式的AJAX或XMLHttpRequests在后台执行请求,实现轻量级请求交互。就比如说,当你从Twitter网站系统之外的地方,试图去访问https://mobile.twitter.com/notifications这个链接,此时,Twitter后端服务器确实是需要完整地加载这个页面;但如果你从Twitter网络系统内部来访问这个链接,Twitter后端服务器却只通过某些javascript脚本就能实现渲染加载,而不需要执行整个页面的加载。
所以,从这个点来讲,我原先构造的XSS漏洞发现思路是,希望在Twitter网站系统内部,通过发送一条属于Twitter自身网站URL且包含XSS Payload变量的消息。
XSS漏洞到Dos漏洞的发现
我一开始构造的XSS Payload链接是这样的:
https://mobile.twitter.com/?'"><img/src=x/onerror=alert(1)>
我猜想,如果在Twitter网站系统之外,可能不会生效,但如果在Twitter网站系统内部,因加载方式不同可能会触发一些不同的东西。所以,围绕这类XSS Payload我就反复进行发送测试。
后来,我发现,其中包含有"%u003e"的一个XSS payload竟然会导致一个Twitter服务错误!而且这个错误会让我看不到任何Twitter的会话消息!这就更有意思了!为什么呢?
这个十六进制的%u003e经Urldecode后明显是大于符号 >,但是,Twitter却无法对它进行解析处理!之后,我又尝试了包含 “%xx” 等样式的URL链接进行发送,简单地就像https://mobile.twitter.com/%xx,这下又来了,还是产生了同样的错误!
我猜测,%xx不是一个有效的十六进制值,可能Twitter后端想尝试对它进行匹配解析,但是却在其内部服务中找不到%xx的对应解析值,所以,每当用户请求包含%xx且属于Twitter网站的URL链接时,Twitter后端就抛出这个错误。
基于此,我就想那我用这个包含%xx的链接 https://mobile.twitter.com/%xx 来发条推特朋友圈吧,可能大家无法想像,这简直让我吓掉了下巴!包含这条链接的朋友圈一发出去,我的朋友圈就刷不出来了,而且,连我Twitter账户中的粉丝也都无法刷新朋友圈了!注意,这里是Twitter移动官网(mobile.twitter.com)的情况,那么,Twitter主站会有这种情况吗?
拭目以待,但是,经测试,Twitter主站不存在上述情况,现在怎么办呢?有没有其它变通方法?哈哈,经过一番研究,我发现,可以以下通过链接 - https://twitter.com/i/onboarding/verify ,强制把电脑显示界面强制转换为手机显示界面!步骤为:
1、在电脑端登录Twitter账户;
2、在当前浏览器页面中粘贴进https://twitter.com/i/onboarding/verify,访问;
3、点击随后弹框出现的 “Got it” 按钮;
4、现在,你就处于手机显示界面了。
参照Twitter移动官网的测试方法,经测试,用链接https://twitter.com/%xx发了朋友圈之后,当前我自己账户的朋友圈和我账户中粉丝的朋友圈也都无法刷新了!
关于如何你的Twitter粉丝无法刷新朋友圈就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。