专栏首页FreeBuf某搜索引擎Self-XSS点击劫持案例分享

某搜索引擎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),作者:nancce

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何通过BDC反序列化在Microsoft SharePoint上执行任意代码

    在今年年初,研究人员Markus Wulftange(@mwulftange)曾报告过Microsoft SharePoint中的一个远程代码执行漏洞(RCE)...

    FB客服
  • Paypal的一个Dom型XSS漏洞分析

    前言 DOM xss也称为第三种类型的xss或者类型0。现在DOM型的xss越来越多了,除了因为各种JS库比如YUI,Jquery,Jquery mobile...

    FB客服
  • 记我的一次账号劫持和BLIND XSS漏洞发现过程

    我发现的第一个漏洞就是不安全对象引用漏洞(IDOR),利用该漏洞我能在每个账户中创建一个 element x元素,经过和朋友的交流,他建议我可以试试在其中注入一...

    FB客服
  • 如何结合 Core Data 和 SwiftUI

    SwiftUI 和 Core Data 之间相差将近十年——SwiftUI 随着 iOS 13面世而 Core Data 则是iPhoneOS 3的产物;很久以...

    韦弦zhy
  • 【PHP】当mysql遇上PHP

    一.利用PHP连接mySQL数据库 这要从一个故事说起。 某一天,一位名叫MySQL的农夫的一把斧子(数据库操作)掉进了一条名为PHP的河里,这时候,一位好心...

    外婆的彭湖湾
  • Hadoop离线数据分析平台实战——340浏览器PV分析Hadoop离线数据分析平台实战——340浏览器PV分析

    Hadoop离线数据分析平台实战——340浏览器PV分析 项目进度 模块名称 完成情况 用户基本信息分析(MR)� 完成 浏览器信息分析(MR...

    Albert陈凯
  • Thymeleaf一篇就够了

    大家好,我是bigsai,今天我们来学习Thymeleaf,如果你对Thymeleaf比较陌生也不要紧,它很容易学习与理解,并有着自己鲜明的特色。

    bigsai
  • kubernetes-helm程序包管理器(二十)

    Helm是Kubernetes的包管理器,Helm 让我们能够像 yum 管理 rpm 包那样安装、部署、升级和删除容器化应用。

    yuezhimi
  • DeepMind把GAN玩出新花样!基于BigGAN,生成高保真视频

    也许你听说过FaceApp,这是一款利用AI来改变自拍的移动应用程序,你可能也听说过“这些人物都不存在”网站,它可以显示计算机生成的虚构人物照片。但是生成完完全...

    新智元
  • BurpSuite插件使用

    由于sqlmap是Python语言编写的,而burp是java编写的所以需要先下载jython-standalone-2.7.0.jar文件,然后进行使用。下载...

    周俊辉

扫码关注云+社区

领取腾讯云代金券