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

在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原创奖励计划,未经许可禁止转载

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2018-04-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构师历程

WebBuilder —— Web 开发平台

WebBuilder是一款跨平台、数据库和浏览器的可视化Web应用开发平台,使用了多项最新的技术,使Web应用的开发更快捷和简单。

9254
来自专栏顶级程序员

谈谈互联网后端基础设施

作者:飒然Hang 原文:www.rowkey.me/blog/2016/08/27/server-basic-tech-stack/ (点击文末阅读原文即可...

3956
来自专栏FreeBuf

中国深圳一家厂商的智能摄像头曝出漏洞:至少 17.5 万设备可被远程攻击

安全企业 Bitdefender 和 Checkmarx 均发布报告表示,安全研究员在多个常用智能摄像头中发现远程侵入漏洞,涉及 VStarcam、Loftek...

3385
来自专栏猛牛哥的博客

一招去掉所有网站的烦人游戏广告

2252
来自专栏杨建荣的学习笔记

迁移式升级的一点思考 (r10笔记第27天)

目前有一个很实际的需求,因为硬件老化严重,需要能够借助一次维护时机把数据库迁移到一台较好配置的机器上,避免潜在的硬件故障导致的业务停顿,也算防患于未然吧。 本来...

2767
来自专栏hadoop学习笔记

详谈分布式系统缓存的设计细节

在分布式Web程序设计中,解决高并发以及内部解耦的关键技术离不开缓存和队列,而缓存角色类似计算机硬件中CPU的各级缓存。如今的业务规模稍大的互联网项目,即使在最...

1294
来自专栏noteless

3.操作系统简单介绍 操作系统发展历史 批处理分时系统 操作系统是什么 操作系统对文件的抽象 进程 虚拟内存是什么 操作系统作用 操作系统功能

它是在人们使用计算机的过程中,为了管理硬件资源,提高性能提高资源利用率,而逐步地形成和完善起来的。

1303
来自专栏非著名程序员

关于Android中设置闹钟的相对比较完善的解决方案

? 前些时候,有人在我「非著名程序员」公众号的后台问我有没有设置闹钟的demo,我当时说承诺为大家写一个,一直没空,直到最近又有人跟我要,我决定抽时间写一个吧...

39010
来自专栏杨建荣的学习笔记

防火墙开通的自动化尝试和感悟

对于一个从零到一的系统或者平台,你会有几十次几百次的调试,为的是能让系统/平台真正跑起来,用起来。我想这背后需要的坚持真是百般煎熬,一方面希望能够像建造...

1141
来自专栏华章科技

用R语言抓取pm2.5数据绘制全国pm2.5分布图

这其实是一段欠了很久代码了,很多人都在以前那篇文章下面留言,说运行不了,确实会运行不了,因为我少交代了一个数据。

1145

扫码关注云+社区

领取腾讯云代金券