Tomcat PUT *** 任意写文件漏洞复现(CVE

访客4年前关于黑客接单1012

版本信息

Tomcat测试版本:7.0.79

漏洞影响全部的 Tomcat 版本:Apache Tomcat 7.0.0 - 7.0.79 (windows环境)

漏洞分析

在tomcat官网下载一个Tomcat7的源码压缩包,打开来慢慢看看里面的与。

关键配置

配置文件路径

类处理除了 *** P文件以外的静态资源

默认为,在(CVE-2017-12615)的情况下为。

对应的是

类负责 *** P文件的汇编与运行

servlet-mapping主要是截获请求的:

    1. 如果定义的是路径,那么以后所有对这个路径下资源的请求都会由中定义的处理;
    2. 如果你的定义的是资源格式例如等,那么对于所有符合这种格式的资源的请求都由指定的处理。

这里说明了类型的资源都由处理,与类型的资源都由处理

代码分析

文件路径

受影响的函数

动态调试

进入函数,上传的文件名为,可以看到

因为12w3.jsp/不存在服务器中,所以调用bind函数进行写入。进入resources.bind函数

进入dirContext.bind函数

1608899327_5fe5daff7dbdb708d4034.png!small?1608899326982

进入bind函数

1608899356_5fe5db1ce7c2f04d496ff.png!small?1608899356500

传入的name参数为/12w3.jsp/,在File函数中会将name中的/去除,进入File函数进行查看

1608899374_5fe5db2ee47a591f7dcb8.png!small?1608899374467

child==/12w3.jsp/,由fs.normalize函数处理,进入fs.normalize函数

1608899458_5fe5db823abf801db1856.png!small?1608899457822

normalize(path)函数中调用normalize(path, len, off)函数对/进行处理,进入normalize(path, len, off)函数

1608899474_5fe5db9219e78cc2a65a2.png!small?1608899473737

normalize(path, len, off)函数对path处理完后,返回\12w3.jsp

1608899492_5fe5dba444bcd8720547c.png!small?1608899491812

从函数中出来,把传进rebind函数,进入函数

1608899596_5fe5dc0ce96d744cdfcbb.png!small?1608899596500

在函数中调用函数获得完整路径

1608899616_5fe5dc20060a4c5a264f3.png!small

将文件内容写入文件

1608899696_5fe5dc7087f089c3c5b41.png!small?1608899696106

上传完成。

漏洞利用

访问Tomcat主页,抓包

1608899855_5fe5dd0fa91b68c201170.png!small?1608899856461

右击,选择

1608899876_5fe5dd24d84e0f0303962.png!small?1608899876380

修改红框中的内容:

  1. 将请求改为
  2. 添加文件名(注意后面要添加)
  3. 添加文件内容

1608900007_5fe5dda7491a1bcb9125d.png!small?1608900006933

1608900013_5fe5ddadb1bda7c2c1069.png!small?1608900013230

点击发送。查看,文件创建成功。

1608900134_5fe5de2685a30ba14e816.png!small?1608900134310

查看Tomcat根目录,多了一个,上传成功。

1608900147_5fe5de339b725ec089d64.png!small?1608900147241

参考文章

配置Tomcat7:https://www.freebuf.com/articles/others-articles/258885.html

IDEA远程调试Tomcat:https://www.freebuf.com/sectool/258891.html

利用PUT *** 的多种 *** :https://wh0ale.github.io/2018/12/23/2018-12-23-利用PUT *** 的多种 *** /

servlet-mapping干什么用的:https://zhidao.baidu.com/question/538577773.html

seebug:https://paper.seebug.org/399/




相关文章

防止电脑黑客入侵的办法(如何防御黑客入侵)

防止电脑黑客入侵的办法(如何防御黑客入侵)

本文导读目录: 1、如何防范黑客入侵的方法 2、如何防止电脑被别人入侵? 3、如何防范黑客入侵电脑? 4、教你如何让电脑不被黑客入侵 5、怎么防止黑客入侵电脑 如何防范黑客入侵的方法...

黑客心然,网络安全黑客素材,黑客怎么获取网站用户密码

.global _dlopen_param2_sFireEye评价APT33或许是工程职业界一系列侵略和妄图侵略的暗地推手。 揭露陈述标明此活动或许与最近的破坏性进犯SHAMOON有关。 FireEy...

黑客读者入侵作者(黑客笔趣阁)

黑客读者入侵作者(黑客笔趣阁)

本文导读目录: 1、一位小说读者盗号替作者改文并添写2万字的剧情,作者对此是如何回应的? 2、读者盗号替作者改文添2万字剧情,他为何要这么做? 3、读者盗号替作者改文,读者的举动是否涉嫌违法?...

消防水炮能打多高(消防水炮报价)

  防爆型消防水炮运用了红外感应检测技术性和计算机软件,并集齿轮传动、传感技术、通讯、光电技术相当于一身,保持了对大容量场地的独立救火实际效果。在运行时可以24钟头全天候网络监控,对所属室内空间开展3...

2021春节是几月几日-2021春节是什么时候几月几日

时间过的真快,现在离过年也没有几个月了,在中国人的眼中,过年是一年当中最为隆重的节日,大家都是在过年的时候一家团聚其乐融融,作为走亲访友的日子,大家也希望有自己的假期,2020年有一个闰四月,这意味着...

爱心基金:注册免费送20元体验金,天天签到还赚钱!

有良久没看到这种免费赠予体验金,天天拿分红的平台了。今天下午才上线的平台:爱心基金,开盘前3天,注册就免费赠予20米基金,相当于体验金,天天按2%释放分红,也就是天天0.4米,签到第一天0.1米,第二...