CTF中文件读取漏洞常见读取路径

1.flag名称,根据实际情况在比赛中自由发挥:

../../../../../../../../../flag(.txt|.php|.pyc|.py)

../../../../../../../../../tmp/flag(.txt|.php|.pyc|.py)

../../../../../../../../../home/flag(.txt|.php|.pyc|.py)

../../../../../../../../../etc/flag(.txt|.php|.pyc|.py)

../../../../../../../../../root/flag(.txt|.php|.pyc|.py)

2.服务信息(绝对路径)

(1)/etc 目录

/etc/passwd :linux系统保存用户信息及其工作目录的文件,权限是可读。

/etc/shadow:是linux系统保存用户信息及(可能存在)密码(hash)的文件,权限是root用户可读写。

/etc/apache2/*  :Apache配置文件,可以获知WEB目录,服务端口等信息。

/etc/nginx/*  :Nginx配置文件,可以获知WEB目录,服务端口等信息。

/etc/apparmor.(d)/*  Apparmor配置文件,可以获得各应用系统调用的白名单、黑名单。

/etc/(cron.d/*|crontab)  :定时任务文件

/etc/environment 环境变量的配置文件之一。

/etc/hostname 表示主机名

/etc/hosts  是主机名查询静态列表,包含指定域名解析IP的成对信息。

/etc/issue 指明系统版本

/etc/mysql/*  MYSQL配置文件。

/etc/php/* PHP配置文件

(2)/proc目录

/proc 目录通常存储着进程动态运行的各种信息,本质上是一种虚拟目录。如果查看非当前进程的信息,pid是可以进行暴力破解的,如果查看的是当前进程,只需要/proc/self代替/proc/[pid]即可。

对应目录下的cmdline可读出比较敏感的信息,如使用mysql-uxxx -pxxx登陆mysql时,可以读出明文密码。

/proc/[pid]/cmdline   ([pid]指向进程对应的终端命令)

当我们无法获取当前应用所在的目录,通过cwd命令可以直接跳转到当前目录:

/proc/[pid]/cwd/     ([pid] 指向进行运行目录)

环境变量中可能存在secret_key,这时可以通过environ进行读取:

/proc/[pid]/environ  ([pid]指向进行运行时的环境变量)

(3)其他目录

Nginx配置文件可能存在的其他路径:

/usr/local/nginx/conf/*

日志文件:

/var/log/*

Apache 默认web根目录:

/var/www/html/

PHP session 目录:

/var/lib/php(5)/sessions/

用户目录:

[user_dir_you_know]/.bash_history (泄露历史执行命令)

[user_dir_you_know]/.bashrc  (部分环境变量)

[user_dir_you_know]/.ssh/id_rsa(.pub) (ssh 登陆私钥公钥)

[user_dir_you_know]/.viminfo (vim使用记录)

 

注:本文是《从0到1 CTFer成长之路》的读书笔记,如有错误,请指正。

posted @ 2021-11-14 13:39  4sh3s  阅读(4595)  评论(0编辑  收藏  举报