当前位置: 首页 > news >正文

那个做动态表情包的网站秦皇岛黄金海岸

那个做动态表情包的网站,秦皇岛黄金海岸,建设项目环境影响登记网站天津,广州互联网目录 原理 XML语言解释 什么是xml语言: 以PHP举例xml外部实体注入 XML语言结构 面试题目 如何寻找xxe漏洞 XEE漏洞修复域防御 提高版本 代码修复 php java python 手动黑名单过滤(不推荐) 一篇文章带你深入理解漏洞之 XXE 漏洞 - 先知社区 原理 XXE&…

目录

原理

XML语言解释

什么是xml语言:

以PHP举例xml外部实体注入

XML语言结构

面试题目

如何寻找xxe漏洞

XEE漏洞修复域防御

提高版本

代码修复

php

java

python

手动黑名单过滤(不推荐)


一篇文章带你深入理解漏洞之 XXE 漏洞 - 先知社区

原理

  • XXE:XML External Entity 即外部实体 简称XXE漏洞

    • 从安全角度理解成XML External Entity attack 外部实体注入攻击。

    • 由于程序在解析输入的XML数据时,解析了攻击者伪造的外部实体而产生的。


XML语言解释

什么是xml语言:

  • XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

  • XML文档结构包括

  • XML声明

  • DTD文档类型定义(可选)

  • 文档元素

  • 其实XML是一门语言,类似于html,但是后来主要用xml的文档格式来传输数据,但是现在比较新的系统,大家之前传输数据用的是json了。

  • 现在很多语言里面对应的解析xml的函数默认是

    • 禁止解析外部实体内容的,从而也就直接避免了这个漏洞。

以PHP举例xml外部实体注入

  • 以PHP为例,在PHP里面解析xml用的是libxml,其在≥2.9.0的版本中

    • 默认是禁止解析xml外部实体内容的

    • 如果你测试用的php中解析xml用的libxml的版本大于了2.9.1

    • 为了模拟漏洞,那么可以通过手动指定LIBXML_NOENT选项开启xml外部实体解析功能。

  • 修改 libxml 版本 PHP版本


XML语言结构

文档结构包含以下三个部分:

  • Json xml 数据 xml攻击数据格式

  • 外部实体注入攻击

  • Xml外部实体攻击

内部声明DTD
<!DOCTYPE 根元素 [元素声明]>
引用外部DTD文档
<!DOCTYPE 根元素 SYSTEM "文件名">
<!DOCTYPE 根元素 PUBLIC "public_ID" "文件名">内部声明实体
<!ENTITY 实体名称 "实体的值">
引用外部实体
<!ENTITY 实体名称 SYSTEM "URI">
<!ENTITY 实体名称 PUBLIC "public_ID" "URI">调用方式:&实体名称;

DTD 也就是攻击代码

我们在做渗透测试 做一个读取文件 证明存在这个漏洞就行了

  • payload如下:
    • 而且你需要掌握的代码就这几行,大家最好能够背下来

    --------------------------------------------------------------------------------------------

    • 声明部分

      DTD攻击载荷部分

      xml部分

  • <?xml version = "1.0"?>
    <!DOCTYPE note [<!ENTITY hacker "lady_killer9">
    ]>
    <name>&hacker;</name>

如何寻找xxe漏洞

  • 抓包查看accept的头是否接收xml
  • 抓包修改数据类型把json改成xml来传输数据

XEE漏洞修复域防御

  • 提高版本

  • 代码修复

php

libxml_disable_entity_loader(true);

java

DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false);
setFeature("http://apache.org/xml/features/disallow-doctype-decl",true);
setFeature("http://xml.org/sax/features/external-general-entities",false)
setFeature("http://xml.org/sax/features/external-parameter-entities",false);

python

from lxml import etree
xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))
  • 手动黑名单过滤(不推荐)

过滤关键词: <!DOCTYPE 、 <!ENTITY SYSTEM 、 PUBLIC

http://www.yayakq.cn/news/558915/

相关文章:

  • 技术支持::天空网络-临汾做网站哪些网站可以免费申请域名
  • 做app 需要先做网站吗优仔电话手表网站
  • 赣州本地网站自学网网站
  • 外汇做单记录做单专业网站有哪些有的网站为什么打不开怎么回事
  • 重庆一品建设集团有限公司网站现在中美关系最新消息
  • 旅行社网站规划与建设网站开发工作分解结构的树形图
  • 要制作一个自己的网站安卓aso优化
  • 郑州做网站推广运营商个人注册公司的利与弊
  • 企业网站倾向于wordpress怎么样给自己做网站
  • 响应式网站制作公司网站如何更换图片
  • 万网网站根目录h5网站和传统网站区别
  • 网页制作与网站建设实战大全 pdf免费博客网站有哪些
  • 商城型外贸网站建设seo营销培训
  • 自己建设网站怎么做怎么建立网站文件夹
  • 免费卡盟网站建设番禺网站(建设信科网络)
  • 做网站时候图片和视频放在哪里网站域名所有权
  • 教育网站建设公司推荐广州手机网站定制
  • 微信小程序联盟网站怎么用 c文件做网站
  • 介绍自己做衣服的网站如何使用电子商务网站
  • 企业网站备案条件网页字体尺寸设计
  • 做h5那个网站模板好男性早些泄吃什么药可以根治
  • 机械网站精选开发一个微信小程序价格
  • 网站开发外包维护合同广西高端网站建设
  • 有个人免费网站吗企业 官网
  • 郑州市经开区建设局网站孟村县网站建设公司
  • 做网站的好项目qq手机版
  • 软件网站开发平台建筑工程与土木工程区别
  • 学会网站开发有什么好处wordpress国外主题改版权
  • 常德网站优化哪家好wordpress 推广返利
  • 青岛网站建设模板下载一个完整的电商网站开发周期