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
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 李小胖-优讯-打杂
17:03:50 李小胖-优讯-打杂
CSDN推了新闻。
17:07:01 Fighting
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
19:16:01 syu
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
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 美的支付-李胜军-架构
就是一个证书,加解密输入框的内容