3rsh1
/single dog/college student/ctfer
3rsh1's Blog

WEB-INF/web.xml泄露

写在前面:最近在刷buuctf的题目。写了部分wp,一部分太简单就没有写,另外一部分是自己不知道的知识点也统统都写到了做题笔记里。这里决定做以下改变,方便温习自己不知道的知识点。题目笔记的话,还是会更在buuctf做题笔记里,但是如果做了一些涉及到自己不知道的知识点的题目的话,会新写一篇文章:包含wp和相关知识点。

基础

一个 web 应用程序是由一组 Servlet,HTML 页面,类,以及其它的资源组成的运行在 web 服务器上的完整的应用程序,以一种结构化的有层次的目录形式存在

  组成 web 应用程序的这些文件要部署在相应的目录层次中,根目录代表整个 web 应用程序的”根”

  通常将 web 应用程序的目录放在 webapps 目录下,在 webapps 目录下的每一个子目录都是一个独立的     web 应用程序,子目录的名字就是 web 应用程序的名字,
  也就是 web 应用程序的“根”。用户通过 web 应用程序的”根”来访问 web 应用程序中的资源

  Servlet 规范中定义了 web 应用程序的目录层次:

https://www.3rsh1.cool/wp-content/uploads/2020/04/wp_editor_md_6ab943c38aebeda2f510664a93ce86fd.jpg

WEB-INF文件夹存放web应用程序的部署描述文件web.xml以及其他所需的类文件和库文件。以上图中都有很详细的说明。
WEB-INF主要包含一下文件或目录:
/WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。
/WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中
/WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
/WEB-INF/src/:源码目录,按照包名结构放置各个java文件。
/WEB-INF/database.properties:数据库配置文件
漏洞检测以及利用方法:通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码
漏洞成因:
通常一些web应用我们会使用多个web服务器搭配使用,解决其中的一个web服务器的性能缺陷以及做均衡负载的优点和完成一些分层结构的安全策略等。在使用这种架构的时候,由于对静态资源的目录或文件的映射配置不当,可能会引发一些的安全问题,导致web.xml等文件能够被读取。
漏洞检测以及利用方法:
通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码。一般情况,jsp引擎默认都是禁止访问WEB-INF目录的,Nginx 配合Tomcat做均衡负载或集群等情况时,问题原因其实很简单,Nginx不会去考虑配置其他类型引擎(Nginx不是jsp引擎)导致的安全问题而引入到自身的安全规范中来(这样耦合性太高了),修改Nginx配置文件禁止访问WEB-INF目录就好了: location ~ ^/WEB-INF/* { deny all; } 或者return 404; 或者其他!

wp

直接来看登录界面源码。发现一个文件包含的地方:

https://www.3rsh1.cool/wp-content/uploads/2020/04/wp_editor_md_311f50023346047c9f660a148a23aca7.jpg

传值方式是get,但是用get传值的话显然读取不了文件。把传值方法改为post发现可以正常读取文件,这个应该是个坑吧,我也不知道为啥get不可以,大概后端接受的方式就是post??
直接post读取web.xml文件:
https://www.3rsh1.cool/wp-content/uploads/2020/04/wp_editor_md_d27b98378e89f6bfc4c86f9245e1b696.jpg

发现flag字段,根据信息访问flagcontroller文件下载下来打开:
https://www.3rsh1.cool/wp-content/uploads/2020/04/wp_editor_md_015d587328ad6ed8b3f4313e1bb2f014.jpg

base64解码试一下,发现flag。
参考链接:

https://www.cnblogs.com/wangtanzhi/p/12173215.html
https://blog.csdn.net/chenzidu/article/details/103533554

发表评论

textsms
account_circle
email

3rsh1's Blog

WEB-INF/web.xml泄露
写在前面:最近在刷buuctf的题目。写了部分wp,一部分太简单就没有写,另外一部分是自己不知道的知识点也统统都写到了做题笔记里。这里决定做以下改变,方便温习自己不知道的知识点。题目…
扫描二维码继续阅读
2020-04-29