Verizon Messages(Message+)是Verizon推出的一款开放跨平台信息交换应用程序,它允许用户在更多的无线设备中交换和共享信息。目前,该软件客户端支持跨平台使用,包括移动设备、桌面设备和Web端,并提升了VZW文字短信的用户体验度。

Verizon的邮件信息服务是跨平台的,此前只能够通过采用电话拨号的方式进行发送和接收,而新的应用程序将允许用户通过互联网在更多的无线设备上接收消息,并允许用过通过计算机对邮件账户进行管理。此外,跨平台的统一消息的应用程序可能有助于防止客户移动到其他网络,并与其他应用程序如iMessage、黑莓信使和Skype开展竞争,这也有助于提升Verizon的市场竞争力。

但是这款应用除了SMS短消息之外,还提供了一些其他的额外功能,而这些功能是我非常感兴趣的。

在我安装好了Android端App并完成注册之后,我又登录了Web端App并开始使用这款应用。使用了一段时间之后,我发现该应用会通过Web端和移动端的接口显示包含链接的消息预览通知。这些链接支持图片和视频等资源,但我更感兴趣的是应用将会如何解析这些链接。

我感觉从Web端App着手会比较容易一些,所以我自己给自己发送了一些测试链接。

这样一来情况就很明朗了:Web端的HTML页面就是负责解析这些链接的服务器端,解析完成之后便会返回URL地址的Open Graph属性。下面给出的是响应数据的部分内容:

  1. {
  2. "webPreview":{
  3. "valid":true,
  4. "url":"http://money.cnn.com/2017/05/13/technology/ransomware-attack-nsa-microsoft/index.html",
  5. "title":"Ransomware: World reels from massive cyberattack",
  6. "description":"Organizations around the world were digging out Saturday from whatexperts are calling one of the biggest cyberattacks ever. ",
  7. "imageUrl":"/vma/web2/attachment/WebPreview.do?id=KDvS9ip4Afj6fPMTClAzqhegDyT9mSaM0zrQQfrBu8EbtJ0Xu_DyughZu53i-vOLkSeEpbLIk756f4o6igDFp0VHU5kVYFnJoeshsfy7eR3Q8XGwTY_rsu3FHEAAI4DJEmqYl7yBEqeWKSTYUnl48LRpXAokSGi1LWdWZqP0Bovl_EVMpdWB2JfnUz8Qxb0d&mdn=3026323617",
  8. "imageDim":{
  9. "width":420,
  10. "height":236
  11. }
  12. }
  13. }

正如你所看到的,响应信息中包含UI界面预览信息图片所对应的Open Graph属性。请注意,上面的“imageUrl”实际上是Verizon的服务器所返回的代理图片(并非来自外部服务器),而这种代理技术可以让服务商更好地控制显示在用户浏览器中的图片内容。

由于预览属性“attachment”是异步获取的(内容呈现在客户端),因此我决定在这里用DOMXSS攻击向量尝试一下,因为开发人员有可能会忽略这个影响因素。接下来,我又给自己发送了一些测试链接,这一次的链接中包含一些特殊字符,我想看一看这一次WebApp将如何处理和呈现这些内容。我在测试链接的查询字符串中插入了一些单引号,此时我突然发现我貌似可以利用单引号来破坏上述锚点元素的href属性。下面是一个简单的Payload示例:

  1. http://i.imgur.com/0wmSPiU.jpg?'onmouseover='alert(document.cookie)'style='position:fixed;top:0;left:0;width:100%;height:100%;'class='1'target='2

下面是网页解析的结果:

通过让锚点以內联的形式强制覆盖用户的整个屏幕,我们可以利用“onmouseover”事件在打开消息的一瞬间触发代码执行:

这也就意味着,攻击者可以利用一个精心制作的文字短信来控制目标用户的整个页面,这将导致攻击者完全控制用户的会话以及所有相关的功能,包括伪造用户身份发送和接收SMS消息。

因为我的PoC已经可以正常工作了,所以我开始分析应用的javaScript源码并尝试找到导致该问题出现的原因。

注意其中“href”属性的值都被单引号包裹起来了,虽然现在也有几种方法能够解决这个问题,但在这里最合适的方法应该是使用DOMAPI。

  1. var a =document.createElement('a');
  2. a.setAttribute('href',g);
  3. a.innerText = b[f].original;

披露

我将PoC以及问题的测试截图/视频发送给了Verizon,与往常一样,Verizon的技术人员迅速给我提供了回复,并感谢我将漏洞及时上报给他们,然后迅速修复了这个问题。

更新

貌似Verizon最终还是选择了使用DOM API来解决这个问题。


作者:Alpha_h4ck
来源:51CTO

如何用短信完成XSS?相关推荐

  1. 如何用短信平台发送自定义短信?

    我们经常会收到各类短信,如何用短信平台给用户发送自定义短信呢? 其实很简单,具体方法和步骤如下: 1.注册平台账号 以速盟云信短信平台为例,点击官网右上面的"注册"按钮,注册并登录 ...

  2. 教你如何用短信追女孩

    原贴:http://www.imysql.cn/node/17 教你如何用短信追女孩 周二, 2006/02/21 - 20:39 - Leo 第一课: 当然,首先要知道女孩子的手机号码. 其次,要对 ...

  3. 企业该如何用短信推广

    对于企业该如何给自己用户营销,要注意以下几点事项 手机短信群发推广是一种常见的营销推广方式,但还有不少商家和企业对手机短信群发推广不太了解,往往在选择这种推广方式时,会咨询"手机短信群发推广 ...

  4. 苹果手机如何用短信信息服务器,Iphone双卡双待如何发信息? 苹果双卡手机发短信的方法...

    苹果x系列的手机可以有主副卡的,支持双卡双待,用户放好卡根据自己的需要设置主副卡进行使用,那么Iphone双卡双待如何发信息呢?下面我们就来详细介绍一下. 1.在苹果xr手机的桌面找到并且点击[拨号] ...

  5. 如何用短信营销打动客户

    无论在任何时候,企业或者商家想要获得更多的客户都离不开一个好的营销.现在不少人使用短信群发来进行营销,可许多人发现自己使用了短信营销之后并未起到效果或者效果很不明显,这次就来谈谈如何发一封有" ...

  6. 2021如何用短信查询高考成绩,2020湖南高考成绩短信查询方式

    2017年长沙各高中高考喜报汇总(持续更新) 2017年高考,湖南长沙各个高中考试情况如何呢?2017年长沙各高中高考喜报汇总见下文. 2017年湖南高考状元(文理) 2017年湖南高考状元是谁?20 ...

  7. 六月驾校淡季,如何用电脑发短信吸引用户?

    现在汽车越来越普及了,越来越多的人去学驾照,加上这两年疫情的影响,越来越多的人选择自驾出行,一般来说,驾照学车也是有淡季旺季的,三到五月份,以及九到十一月份不冷不热,都是学车的旺季,暑假呢,学生较多, ...

  8. 【如何用电脑查看手机短信呢?】

    1.MightyText 如果你用的是安卓手机,那么我强烈建议你试一下MightyText,这个软件集多功能于一体,几乎可以做到任何我想做的事. MightyText包括两个部分--总体来说就是服务器 ...

  9. 秒懂云通信:如何用阿里云平台发短信?

    1.阿里云短信官网在哪里.业务怎么开通? 搜索引擎搜"阿里云"或者直接录入alicloud.com后选择"短信服务". 阿里云短信服务,第一次或者未登录都可以点 ...

最新文章

  1. 使用UGUI绘制自定义几何图形
  2. 数据结构与算法分析(四)——C++实现栈
  3. Guava Cache 使用笔记
  4. C++ std::move/std::forward/完美转发
  5. matlab中心化样本矩阵,第二讲实验.doc
  6. 【TWVRP】基于matlab蚁群算法求解带时间窗的多中心车辆路径规划问题【含Matlab源码 112期】
  7. Ubuntu16.04 LTS无法开启无线网开关的解决方法(联想Y7000)
  8. 【第一节】抠图 -- 薄、透、露的朦胧感
  9. 白嫖UltraEdit、UltraCompare等等类似工具(2021.2.16更新)
  10. c语言错误c1083是什么意思,fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directo...
  11. 字节跳动社招校招实习内推提前批
  12. 推荐10款简单好用的免费内网穿透工具
  13. Flash 多人在线游戏教程 - TicTacToe
  14. 花了两天时间用html+css+js做了一个网页版坦克大战游戏
  15. 饿了么红包、美团优惠券开发
  16. 移动性能测试工具perfDog分享和wifi链接问题
  17. Picture2Epub
  18. win10 测试YOLOV4 报错Couldnt open file: yolov4.weights,Couldnt open file: yolov4.cfg(已解决)
  19. 关于 ? extends T 和 ? super T 的存在意义和使用
  20. 新未来简史:区块链、人工智能、大数据陷阱与数字化生活 - 电子书下载(高清版PDF格式+EPUB格式)...

热门文章

  1. Spark芝加哥犯罪数据分析与可视化
  2. 俄美就《中导条约》磋商 普京:不希望进行军备竞赛
  3. 阿里巴巴合伙人闻佳:创新背后的文化与组织
  4. ubuntu设置PATH
  5. 从/etc/inetd.conf学习服务(4)
  6. [致歉]博客园升级造成的问题
  7. 后端开发如何设计数据库系列文章(一)设计传统系统表结构(Java开发)
  8. 华为手机连接电脑用什么软件_屏幕镜像怎么连接电脑?使用这款软件,轻松投屏苹果手机到电脑...
  9. vue 列表更改排序,不刷新问题
  10. Toolbar详解 · Material Design Part 2