首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >某搜索引擎Self-XSS点击劫持案例分享

某搜索引擎Self-XSS点击劫持案例分享

作者头像
FB客服
发布2018-07-30 15:06:03
9690
发布2018-07-30 15:06:03
举报
文章被收录于专栏:FreeBufFreeBuf

在AI横飞的今天,网站页面不挂个聊天机器人都会觉得low,笔者在某搜索引擎的页面上就发现了这样一个聊天AI,无聊一试发现了一个xss。

0x00 确定xss类型

首先,尝试过其他浏览器后发现都没有成功,原因很简单,其他浏览器连这个机器人都没有,丧…,那么首先推测这个xss的危害用户应该是比较小众的一部分,接下来看这个xss如何去利用。由于只是一个娱乐型的机器人,所以与机器人的聊天内容不会较长时间的去保存,一旦浏览器关闭,聊天内容也就丢失,不是存储或者反射型的xss,其实这个xss是一个self型的xss,也就是自己xss自己

0x01 思考利用方式

Slef型的xss利用比较多的方式就是csrf和clickjacking了,我们来看第一种csrf是否可行,首先我们看看这个聊天提交的数据包长的什么样?

如图,关键位置都已经打码,留意未打码的位置有一个叫sessionId的参数,这个参数标识着当前用户在这个AI聊天系统中的身份标识,也就相当于一个token,其的来源是cookie中的某一个字段,于是在这样的情况下想要成功的利用csrf是比较困难的,我目前的想法就是找到另一个xss把这个sessionId先打出来,亦或者有没有其他地方会泄露这个sessionId要么就是存不存在可以直接给这个sessionId直接赋值的情况。

于是想到了第二种方法clickjacking

0x02 clickjacking的利用框架

首先,为了快速生成clickjacking的poc框架,我在gayhub上找到了这个

https://github.com/samyk/quickjack

可以通过截图的方式方便的把需要劫持的部分网页截取出来,这个工具也提供在线的使用

http://samy.pl/quickjack/quickjack.html

通过截取之后按下“I‘am done“按钮就会生成对应的截取代码

0x03 利用这个self-xss

首先,默认情况下是需要用户点击去打开这个AI聊天机器人的,于是我们就得先去劫持打开这个AI聊天机器人的按钮,像下面这样构造一个注册跳转页面

当用户点击之后也就相当于点击了button背后的聊天的按钮

至于为什么是注册页面呢,灵感来源于此http://www.freebuf.com/articles/web/130462.html通过剪贴板的劫持我们可以劫持并篡改用户的输入,我们来看看注册页面长什么样?

这里的第一框是当前页面上的,只是伪造了样式,第二次“repeat your email“的框是劫持目标页面的,包括那个send按钮也是劫持来的,因为这个提交在劫持的页面上,所以对我们劫持替换的内容有一点要求:就是我们的替换的xss代码不能太明目张胆,想啊想啊我想到了这个“\x3cimg src=1onerror=alert(document.cookie)\x3e ”+copycontent,在xss code后面加上大量的空格然后加上用户复制的内容,然后因为框就那么大,所以在用户ctrl+a,ctrl+c,ctrl+v(具体细节看上面的链接)后界面看起来就会像下面这样

嗯,基本没有什么异常,当用户点击send,bingo

0x04 结论

这是http://www.freebuf.com/articles/web/130462.html的结论

如今的漏洞赏金项目都将点击劫持和Self-XSS排除在外,一旦这两个漏洞同时存在,那么要在目标机器上强制执行XSS payload也不再是难事。

Dylan Ayrey表示谈到很多公司会忽略XSS相关的漏洞报告,他特别提到

攻击者现在有越来越多创新的方法利用Self-XSS,我认为企业在收到这样的报告之后,也会开始重视这样的问题。

我的结论是对上面的结论别太乐观XD。

*本文原创作者:nancce,本文属FreeBuf原创奖励计划,未经许可禁止转载

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 确定xss类型
  • 0x01 思考利用方式
  • 0x02 clickjacking的利用框架
  • 0x03 利用这个self-xss
  • 0x04 结论
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档