拿到服务器权限后,在做本地信息收集时,web应用是一个不可忽视的内容,尤其是web配置文件内容,能为我们横向移动、扩大战果提供重要情报。所以本文介绍web目录下各个文件夹的作用,为我们翻文件提供指导。
1. JavaWeb项目
/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-INF/tags/
存放了自定义标签文件,该目录并不一定为 tags,可以根据自己的喜好和习惯为自己的标签文件库命名,当使用自定义的标签文件库名称时,在使用标签文件时就必须声明正确的标签文件库路径。例如:当自定义标签文件库名称为 simpleTags 时,在使用 simpleTags 目录下的标签文件时,就必须在 jsp 文件头声明为:<%@ taglibprefix=“tags” tagdir="/WEB-INF /simpleTags" % >。
/WEB-INF/jsp/
jsp 1.2 以下版本的文件存放位置。改目录没有特定的声明,同样,可以根据自己的喜好与习惯来命名。此目录主要存放的是 jsp 1.2 以下版本的文件,为区分 jsp 2.0 文件,通常使用 jsp 命名,当然你也可以命名为 jspOldEdition 。
/WEB-INF/jsp2/
与 jsp 文件目录相比,该目录下主要存放 Jsp 2.0 以下版本的文件,当然,它也是可以任意命名的,同样为区别 Jsp 1.2以下版本的文件目录,通常才命名为 jsp2。
META-INF
相当于一个信息包,目录中的文件和目录获得Java 2平台的认可与解释,用来配置应用程序、扩展程序、类加载器和服务
一个典型的META-INF目录下可能包含如下几种文件或者子目录:
- MANIFEST.MF
- INDEX.LIST
- x.SF
- x.DSA
- services/
manifest.mf文件
在用jar打包时自动生成。
2. Tomcat
Tomcat主目录下有bin,conf,lib,logs,temp,webapps,work 7个文件夹
bin
主要是用来存放tomcat的命令,主要有两大类:以.sh结尾的(linux命令),以.bat结尾的(windows命令)。很多环境变量的设置都在此处,例如可以设置jdk路径、tomcat路径,startup 用来启动tomcat,shutdown 用来关闭tomcat,修改catalina可以设置tomcat的内存。
conf
主要是用来存放tomcat的一些配置文件,你懂的我们关注的。
lib
主要用来存放tomcat运行需要加载的jar包。
logs
用来存放tomcat在运行过程中产生的日志文件,非常重要的是在控制台输出的日志。(清空不会对运行带来影响)
temp
存放tomcat在运行过程中产生的临时文件。(清空不会对运行带来影响)
webapps
用来存放应用程序,当tomcat启动时会去加载webapps目录下的应用程序。可以以文件夹、war包、jar包的形式发布应用。
work
用来存放tomcat在运行时编译后的文件,例如JSP编译后的文件。清空work目录,然后重启tomcat,可以达到清除缓存的作用。
3. Apache
/etc/httpd/conf/httpd.conf
httpd.conf是Apache的主配文件,里面几乎包含了所有的配置。有的distribution将这个文件拆分成数个小文件分别管理不同的参数。但是主要配置文件还是以这个文件为主。只要找到这个文件就知道如何设置了。
/etc/httpd/conf.d/*.conf
如果你不想要修改原始配置文件httpd.conf,可以将你自己的额外参数文件独立出来,以.conf结尾放在/etc/httpd/conf.d/目录下。重启Apache的时候,这个配置文件就会被读入主配文件之中了。他的好处就是当你在进行系统升级的时候,几乎不需要改动原本的配置文件,只要将你自己的额外参数文件复制到正确的地点即可,维护起来非常方便。
/etc/httpd/modules/
Apache支持很多的外挂模块,例如PHP以及SSL都是Apache外挂的一种。
/var/www/html/
这个目录就是Apache的网站根目录(默认是index.html)。
/var/www/error/
服务器设置错误,或是浏览器请求的数据错误时,在浏览器上出现的错误信息就以这个目录的默认信息为主。
/var/www/icons/
这个目录提供Apache默认给予的一些小图示,可以随意使用。
/var/www/cgi-bin/
默认给一些可执行的CGI(网页程序)程序放置的目录。
/var/log/httpd/
默认的Apache日志文件都放在这里,对于流量比较大的网站来说,这个目录要格外注意,这里的数据文件可能会非常大。
/usr/sbin/apachectl
这个就是Apache的主要执行文件,这个执行文件其实就是一个Shell Script而已,他可以主动地侦测系统上面的一些设置值,好让你启动Apache时更简单一些。
/usr/sbin/httpd/
这个是主要的Apache二进制执行文件。
/usr/bin/htpasswd
在当你想要登入某些网页时你需要输入帐号与密码,那Apache本身就提供一个最基本的密码保护方式,该密码的产生就是通过这个命令来实现的。
后续会持续增加。。。