V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zjsxwc
V2EX  ›  程序员

由之前微信支付 xxe 漏洞联想到。。

  •  
  •   zjsxwc ·
    zjsxwc · 2018-07-04 16:33:21 +08:00 · 1891 次点击
    这是一个创建于 2130 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚刚看到推送这篇文章,由这个半年前的 xxe 漏洞: http://www.guancha.cn/TMT/2018_07_04_462639.shtml

    联想到 php 写代码调用simplexml_load_string之前一定要先这么把外部引用实体关掉: https://github.com/helei112g/payment/blob/v4.1.7/src/Utils/DataParser.php#L56

    然后查看了我当前项目里不少三方库( swiftmailer、thenbsp/wechat、flc/alidayu 等)调用simplexml_load_string之前都没关,我也不知道关掉后会不会有问题

    第 1 条附言  ·  2018-07-04 17:06:36 +08:00
    测试了,在 index.php 里直接一句话关闭后没有碰到什么问题!!!
    1 条回复    2018-07-04 22:34:43 +08:00
    mingyun
        1
    mingyun  
       2018-07-04 22:34:43 +08:00
    libxml_disable_entity_loader(true); 这个还真没注意
    $data = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);

    生成二维码 http://chart.apis.google.com/chart?chs={$widthHeight}x{$widthHeight}&cht=qr&chld={$ecLevel}|{$margin}&chl={$chl} 国内还能用吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2155 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 02:18 · PVG 10:18 · LAX 19:18 · JFK 22:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.