Verizon 消息(消息+)是用于移动,桌面和Web应用程序的软件客户端的集合,用于促进和统一跨设...

Verizon 消息(消息+)是用于移动,桌面和Web应用程序的软件客户端的集合,用于促进和统一跨设备使用VZW文本消息。除了短信之外,它还提供了一些其他功能,我最感兴趣的是在计算机或笔记本电脑上使用其Web应用程序。
首先,我安装了它的Android应用程序并登录,然后我登录其Web界面开始。不久,我注意到包含链接的消息已预览并显示在移动和Web界面上。
我感兴趣的是他们支持的链接类型(图像,视频等)以及他们如何解决这些链接。使用Web应用程序来探索这些问题相对简单方便,因此我给自己发送了一些测试链接。下图显示了如何呈现某些测试链接。

显然:HTML页面被解析到服务器并返回URL的Open Graph属性。以下是响应包内容的一部分:
1
2
3
4
五
6
7
8
9
10
11
12
13
{
'webPreview': {
'有效': 是的,
从对等方接收数据时失败
'的ImageUrl': '/vma/web2/attachment/WebPreview.do?id=KDvS9ip4Afj6fPMTClAzqhegDyT9mSaM0zrQQfrBu8EbtJ0Xu_DyughZu53i-vOLkSeEpbLIk756f4o6igDFp0VHU5kVYFnJoeshsfy7eR3Q8XGwTY_rsu3FHEAAI4DJEmqYl7yBEqeWKSTYUnl48LRpXAokSGi1LWdWZqP0Bovl_EVMpdWB2JfnUz8Qxb0d&mdn=3026323617',
'imageDim': {
'width': 420,
'height': 236
}
}
}
如您所见,响应包包含UI上预览的元素的OG属性。请注意,imageUrl标记中的链接实际上是Verizon服务器返回的代理服务器上的图片(而不是外部主机)。——这是一个技巧,可以更好地控制用户浏览器中呈现的图像:

由于“附件”的预览属性是异步获取的(结果在客户端呈现),我决定检查是否有任何我忽略的DOM XSS。我发送了更多测试链接——这次我添加了一些特殊字符来查看Web应用程序如何呈现它们。在查询字符串中发送一些包含单引号的测试链接后,我立即注意到我可以打破上面主锚对象的HREF属性。这是一个有效负载示例:
1
http://i.imgur.com/0wmSPiU.jpg?'onmou
seover='(document.cookie)'style='position: fixed; top: 0; left: 0; width: 100%; height: 100%; '类=' 1'
目标='2
结果标记如下:

通过强制Anchor以内联样式覆盖用户的整个屏幕,打开消息时会立即触发onmou
seover事件:

这意味着攻击者可以使用构造良好的文本消息来控制整个页面,导致用户会话被——完全接管,这意味着漏洞可以控制任何功能,包括发送和接收文本消息作为目标用户。
自PoC起作用以来,我开始搜索JavaScript相关资源并跟踪此问题的原因。我很快找到了初始化主附件锚点对象的位置:

请注意,HREF的值用单引号括起来。虽然有办法解决这个特定问题,但最好的解决方案是使用DOM API,例如:
1
2
3
Var a = document.createElement('a');
a.setAttribute( 'href' 属性,克);
a.innerText = b [f] .original;
从对等方接收数据时失败