网络安全-XXE(XML External Entity)漏洞

  • 1、原理

    执行XML文件外部实体包含的恶意链接信息,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。
    xml文件是一种信息传输和存储的文本,HTML 是用来展示数据的。
    XML有自己的语法结构,其中实体就是其中一个特性,实体是一个预先定义的数据或数据集合。有了实体类似一个变量可以定义关联其他数据之后,方便直接引用
    实体分为三类:普通实体与参数实体、内部实体与外部实体、已解析实体与未解析实体。根据实体内容和DTD包含关系分为内部实体和外部实体
    内部实体:定义一个内部实体变量它的引用内容已经在当前DTD文件内存在
    外部实体:定义一个实体变量它的内容不在当前DTD内通过URI引用

  • 2. 防御

   2.1 可以通过禁用实体关闭实体解析开关(如PHP函数关闭 libxml_disable_entity_loader(true))
   2.2过滤用户提交的xml数据(关键字system和public)

  • 3、演示

3.1、php自带函数xml解析执行函数 simplexml_load_string,可以 读取某地xml文件和执行,

3.2、 php自带文件创建函数file_put_contents ,传入文件内容和文件名字可以创建文件

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值