2018-7-6-XXE


待填坑


防范

public function FromXml($xml) {
    if(!$xml) {
        throw new WxPayException("xml数据异常!");
    }
    //将XML转为array
    //禁止引用外部xml实体
    $disableLibxmlEntityLoader = libxml_disable_entity_loader(true); //改为这句
    $this->values = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
    libxml_disable_entity_loader($disableLibxmlEntityLoader); //添加这句
    return $this->values;
}

https://www.mediawiki.org/wiki/XML_External_Entity_Processing
http://www.admintony.com/XML%E5%AE%9E%E4%BD%93%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E%E6%80%BB%E7%BB%93-XXE.html
https://security.tencent.com/index.php/blog/msg/69


文章作者: Fengit
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Fengit !
  目录