背景
  当满足如下条件时:
* 存在文件下载/查看功能;
* 文件名参数可控,且系统未对参数进行过滤或者过滤不全;
* 文件内容输出或者保存在本地。
使用一个动态页面(php、jsp、aspx、asp等)将待下载文件作为参数,一般参数名称为filename,如download.php?filename=xxx等。然后根据参数filename的值,获得该文件在网站上的绝对路径,读取文件,然后是直接发送给客户端下载。如果没有对传入的参数filename进行过滤,就可以实现下载服务任何文件,产生任意文件下载漏洞。
一般来说会想通过该漏洞获取到想要的一些结果(ssh 账号,web源代码或者数据库账号等),那么获取到web目录就是比较不错的一个切入点(目录有有源代码、配置文件(包含类似redis、mysql等数据库信息)等信息)。
相关思路
以下是Linux下获取相关的web目录绝对路径的一些tips:
locate_db
Linux locate命令用于查找符合条件的文档。一般情况我们只需要输入locate your_file_name 即可查找指定文件:
locate [-d ][--help][--version][范本样式...]
其会去保存文档和目录名称到数据库内(这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次),然后查找合乎范本样式条件的文档或目录。一般这个数据库的位置在:
/var/lib/mlocate/mlocate.db
数据库/var/lib/mlocate/mlocate.db含有本地所有文件信息,那么可以直接从这个文件中获得例如web应用的具体目录等我们需要的信息:
例如如下通过读取/var/lib/mlocate/mlocate.db文件,可以知道docker相关目录:
那么在获取到该db文件后,只需要检索类似tomcat等关键字即可获取到web目录了。但是需要注意的是,一般需要root用户才能读取:
/root/.bash_history
历史命令文件/root/.bash_history,历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。系统会将使用过的命令保存在/root/.bash_history下,那么可以尝试通过该文件获取对应的web目录,进一步进行拖取源代码的操作。
例如如下例子,通过读取/root/.bash_history,成功获取到WebSphere的目录:
同样的,一般需要root用户才能读取:
定时任务
/etc/crontab这个文件一般负责调度各种管理和维护任务。有时候服务器有定时进行日志备份的需要,可以通过读取定时任务的内容,获取到日志存放的路径,从而获取相关的用户账号密码、应用接口等敏感信息。
例如如下tomcat日志备份的例子:
备份的sh脚本如下:
```
!/bin/sh
cd /soft/apache-tomcat-6.0.29/logs
cp catalina.out /soft/tomcat-logs/catalina.out.$(date +%y%m%d)
echo > catalina.out
exit
  定时任务的相关配置:
53 21 * * * /soft/apache-tomcat-6.0.29/tomcatlog.sh
```
那么通过读取/etc/crontab可以获取到当前tomcat的目录为/soft/apache-tomcat-6.0.29/,那么结合tomcat的结构目录以及web应用的目录名,可以尝试获取webapps下的内容。
同样的logs文件里可能也会有对应的部署日志,也可以获取到需要的web目录绝对路径。
进程启动参数/proc/{PID}/cmdline
在Linux系统中,根据进程号得到进程的命令行参数,常规的做法是读取/proc/{PID}/cmdline。
可以跨进程,如pid=1的进程/proc/1/cmdline
/proc/self/cmdline #如果当前用户就是tomcat/weblogic等中间件用户,self代表其本身的进程
那么就可以直接通过遍历进程号的方式,可以获得类似tomcat进程相关的目录路径。
例如下面的例子,当前进程为tomcat,通过读取/proc/self/cmdline内容成功获取对应的tomcat目录:
跟locate_db和/root/.bash_history不同的时,普通用户也可以获取到该类文件。那么就可以根据实际情况进行poc的调整来读取对应的web目录路径。
Driftingblues3靶机练习 网络结构: 环境搭建平台为VMware15,使用VirtualBox亦可,网络为nat模式,网段192.168.1.0/24 网络由攻击机kali、靶机组成 靶机ip:192.168.1.146 kali linux ip…
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论