专栏首页BestSDK0元买!买!买!支付平台再曝漏洞,JAVA SDK存在XXE攻击|附解决方法

0元买!买!买!支付平台再曝漏洞,JAVA SDK存在XXE攻击|附解决方法

国家信息安全漏洞共享平台(CNVD)收录了第三方支付平台JAVA SDK存在XXE漏洞(CNVD-2018-12508)。综合利用上述漏洞,攻击者可实现商户服务器端系统的XML外部实体注入攻击。

一、漏洞情况分析

可扩展标记语言(XML,eXtensible Markup Language)用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型。XML具备在任何应用程序中进行数据读写的简单特性,使其很快成为数据交换的唯一公共语言,被广泛应用于第三支付平台与商户之间交换数据的格式定义。

XML语言标准支持与外部进行实体数据交换的特性。应用程序在解析XML输入时,没有禁止外部实体加载功能,会导致XML外部实体注入漏洞(XML External Entity Injection,XXE)。2018年7月2日,境外SecLists网站发布了微信支付JAVA软件工具开发包(SDK)存在XXE漏洞。利用该漏洞,攻击者可在使用信息泄露、扫描爆破等特殊手段获知商户的通知接口(callback)地址的前提下,发送恶意XML实体,在商户服务器上执行代码,实现对商户服务器的任意文件读取。如果攻击者进一步获得商家的关键安全密钥,就可能通过发送伪造信息实现零元支付。

CNVD对该漏洞的综合评级为“高危”。

二、漏洞影响范围

该漏洞影响商户服务器后台系统的安全,目前已知微信支付JAVA SDK7月3日之前发布的版本、陌陌和vivo商户系统受此漏洞影响。

陌陌公司、腾讯公司和vivo商户系统已分别于7月2日、7月3日、7月4日完成修复。

三、漏洞修复建议

建议第三方支付平台对本公司开发的SDK工具进行自查,发现安全隐患请及时通知下属商户,及时消除漏洞攻击威胁。

1、腾讯公司已发布JAVA SDK修复版本,建议商户及时更新至最新版本:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1

2、用户可使用开发语言提供的禁用外部实体的方法,JAVA禁用外部实体的代码如下:

DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();

dbf.setExpandEntityReferences(false);

3、过滤用户侧提交的XML数据

过滤关键词:DOCTYPE、ENTITY、SYSTEM、PUBLIC。

附:参考链接:

http://www.cnvd.org.cn/flaw/show/CNVD-2018-12508

http://seclists.org/fulldisclosure/2018/Jul/3

本文分享自微信公众号 - BestSDK(bestsdk)

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

原始发表时间:2018-07-14

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SDK的两大关键点,决定第三方推送的“生死存亡”

    对于大部分开发者来说,除了做一个 App,还要独立开发一套推送系统是件异常困难的事情。哪怕是用户数量很大的 App ,这也不是一件容易的事情。 ? 国内第三方推...

    BestSDK
  • 云计算并不是万能,10个错误可能会摧毁你的企业

    如果你希望切换到云能够让你的企业受益而不是遭遇打击或者诉讼,那么下面这个10个常见错误是你需要避免的。   1、在没有管理和策略规划的情况下切换到云   在云中...

    BestSDK
  • 撑起整个互联网的6大服务——Web API

    Web API是网络应用程序接口。包含了广泛的功能,网络应用通过API接口,可以实现存储服务、消息服务、计算服务等能力,利用这些能力可以进行开发出强大功能的we...

    BestSDK
  • 最近大火的XXE漏洞是什么

    XXE全称是——XML External Entity,也就是XML外部实体注入攻击。漏洞是在对不安全的外部实体数据进行处理时引发的安全问题。

    HACK学习
  • Java简单面试题(XML)

    包括web开发人员的Java面试在内的各种面试中,XML面试题在各种编程工作的面试中很常见。XML是一种成熟的技术,经常作为从一个平台到其他平台传输数据的标准。...

    葆宁
  • 系统架构师论文-XML在网上银行中的应用

    网上银行是指在Internet上提供银行服务,即银行的客户无须到银行柜台办理业务,可以在家庭、办公室等能够连入Internet的任何一处,登录到银行的网站进行交...

    cwl_java
  • 系统架构师论文-论XML技术在Internet平台上的应用

    2002年10月,我参与了一个三层在线商城的项目开发,该项目整合了来自不同商家的信息,方便在线用户的查询和购买。 在该项目中,我担任系统分析的工作。在分析设计...

    cwl_java
  • XML和JSO的面试题(修订版)

    JSON:JavaScript Object Notation 【JavaScript 对象表示法】.

    Java3y
  • JSON和XML:不可同日而语

    很多人都在心里纠结,如果 JSON 和 XML 相比,谁更好谁更快?在接下来的新项目中到底选择哪一个?别傻了!完全没有可比性。就像自行车和 AMG S65 ,你...

    九州暮云
  • 【面试】找工作必看的十道XML面试题

    XML并不依赖于其他编程语言,与SQL一样是编程人员所必备的技能之一,因此在任何技术工作面试之前准备一些XML问题都是很有意义的。老九君为大家整合了十道有关XM...

    老九君

扫码关注云+社区

领取腾讯云代金券