今天收到邮件,漏洞摘要如下

意思存在一下网站目录下一些markdown文件,漏洞原因:在目录中发现文档文件(例如: readme.txt, changelog.txt, …) 文档文件中可能包含当 前网站程序使用的名称及版本信息,可以帮助 恶意攻击者识别网站应用并攻击网站,应该从 线上服务器删除这些文件。

看到这个以后,想着直接找到文件所在目录,删除就好,但处理过程并没有这么顺利

  1. 先查找服务器目录以md为扩展名的文件,结果并未找到
1
2
root@67e088ad8f62:/opt/guacamole# find / | grep -i *.md
root@67e088ad8f62:/opt/guacamole#
  1. 又以jquery,angular等字段查找,发现jar包名和url路径十分相似,推测这些md文件是从jar获得的,所以问了下java的同学同事,确实会这样
1
2
3
4
5
6
7
root@67e088ad8f62:/opt/guacamole# find / | grep -i jquery
/usr/local/tomcat/webapps/guacamole_bak/WEB-INF/lib/jquery-3.3.1.jar
/usr/local/tomcat/webapps/guacamole_bak/META-INF/bundled/jquery-3.3.1
/usr/local/tomcat/webapps/guacamole_bak/META-INF/bundled/jquery-3.3.1/LICENSE.txt
/usr/local/tomcat/webapps/guacamole/WEB-INF/lib/jquery-3.3.1.jar
/usr/local/tomcat/webapps/guacamole/META-INF/bundled/jquery-3.3.1
/usr/local/tomcat/webapps/guacamole/META-INF/bundled/jquery-3.3.1/LICENSE.txt
  1. 想到两个解决办法:a.直接删除jar包中的文件。b.修改tomcat配置,配置文件访问规则,以md为扩展名的文件返回404。b方法找了一会,没发现有这样的配置,所以开始使用a方法,a方法这里使用到jar,zip工具
  • 列出jar包中文件内容

用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files …
选项:
-t 列出档案目录
-v 在标准输出中生成详细输出

-f 指定档案文件名


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
➜  lib# jar -tvf angular-module-shim-0.0.4.jar
0 Mon Nov 28 19:02:36 CST 2016 META-INF/
0 Mon Nov 28 19:02:36 CST 2016 META-INF/maven/
0 Mon Nov 28 19:02:36 CST 2016 META-INF/maven/org.webjars.bower/
0 Mon Nov 28 19:02:36 CST 2016 META-INF/maven/org.webjars.bower/angular-module-shim/
1613 Mon Nov 28 19:02:36 CST 2016 META-INF/maven/org.webjars.bower/angular-module-shim/pom.xml
105 Mon Nov 28 19:02:36 CST 2016 META-INF/maven/org.webjars.bower/angular-module-shim/pom.properties
0 Mon Nov 28 19:02:36 CST 2016 META-INF/resources/
0 Mon Nov 28 19:02:36 CST 2016 META-INF/resources/webjars/
0 Mon Nov 28 19:02:36 CST 2016 META-INF/resources/webjars/angular-module-shim/
0 Mon Nov 28 19:02:36 CST 2016 META-INF/resources/webjars/angular-module-shim/0.0.4/
1078 Mon Nov 28 19:02:36 CST 2016 META-INF/resources/webjars/angular-module-shim/0.0.4/LICENSE
1104 Mon Nov 28 19:02:36 CST 2016 META-INF/resources/webjars/angular-module-shim/0.0.4/README.md
774 Mon Nov 28 19:02:36 CST 2016 META-INF/resources/webjars/angular-module-shim/0.0.4/angular-module-shim.js
543 Mon Nov 28 19:02:36 CST 2016 META-INF/resources/webjars/angular-module-shim/0.0.4/bower.json
  • 找到jar包中包含README.md文件,文件路径和url中一致,所以删除jar中的README.md文件,用到zip命令,不需要解压jar包删除文件后再打成jar包

zip
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]

-d delete entries in zipfile -m move into zipfile (delete OS files)


1
2
➜  lib# zip -d angular-module-shim-0.0.4.jar "META-INF/resources/webjars/angular-module-shim/0.0.4/README.md"
deleting: META-INF/resources/webjars/angular-module-shim/0.0.4/README.md
  • 最后将处理过的jar上传到服务器,进行替换,发现大部分链接都访问不到,返回404了,但还有3个链接还是返回README.md,确认了好几次jar包已经没有README.md文件,折腾好久,最后想到是不是存在缓存,这里在原先url地址后加 ?a=1,发现链接返回404了,原来是本地浏览器缓存,清掉缓存后,有漏洞的文件都已经处理了,问题解决