CTF中的重要文件总结(记得更新…)
目录角度看文件结构
目录 | 预期的内容 |
---|---|
/bin | 二进制文件,存放了基本的指令,依据先后顺序。 |
/sbin | 超级管理员专用指令,依据先后顺序。 |
/usr | 用户安装的软件和文件。 |
/usr/bin | 也存放指令,依据先后顺序。 |
/usr/sbin | 也存放指令,依据先后顺序。 |
/usr/local/ | 系统用户级管理员在本机自行安装自己下载的软件。 |
/root | 系统管理员用户root主目录。 |
/home | 除root用户的所有用户文件存储在这里,命名为其用户名。 |
/proc | 进程信息,虚拟目录,实际上为内存的映射,不占据空间,可用于获取进程的信息,修改会发生作用。 |
/etc | 主要放所有的系统管理所需要的配置文件和子目录。 |
/tmp | 存放系统产生的临时文件,这个目录任何人都能访问并且创建数据。 |
/var | 存放程序、缓存、登陆文件、系统日志文件,主要是经常被修改的那些。 |
/var/log/ | 重要日志。 |
/boot | Linux启动相关的文件。 |
/dev | 存放Linux的外部设备(Device),操控方法和文件相同,使用需要挂载。 |
/mnt | 外部设备挂载时,将设备(有自己的文件系统)挂载在mnt当中。 |
/lib | 基本的动态链接共享库。 |
/sys | 一个虚拟文件系统,记录与内核相关的信息。 |
/lost+found | 非正常关机产生的文件。 |
/opt | 一些大型的或第三方的软件放置目录 |
/media | 软盘、光盘等设备。 |
/srv | 网络服务启动后所需要的数据目录。 |
… | … |
关键文件和环境变量
/etc/passwd
可能出现用户、工作目录、shell位置,刺探安装了那些软件,以进一步利用。
同时有些时候,进行读文件测试时,也会用这个文件进行测试。
$PATH
系统会按照PATH定义的目录搜索可执行文件,以分号分割。
修改后,需要重启生效。
$PATH中添加./
很危险。
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
env
命令可查看终端的全部环境变量。
程序环境变量
进程 /proc/$PID/environ
表示的是运行时进程的环境变量,其中一个特殊的是/proc/self/
,它等价于/proc/自己的PID/environ
,适用于某个进程获取自己的IP,以适应不同用户不同PID,或PID发生变化的情况。
pgrep
命令可查看进程相关的PID,如
$ pgrep nginx
1111
18888
23333
export
设置临时的环境变量,修改配置文件为永久修改。
/etc/hosts
包含了IP地址、域名和主机别名间的映射关系,可以获得内网的一些主机信息,可以为SSRF提供便利。
网络IP 主机名/域名 主机别名
Web服务器重要文件
Apache
/etc/apache2/apache2.conf # 主配置文件
/etc/apache2/site-available/000-defaut.con # 网站站点根目录配置文件
/etc/apache2/sites-enabled # apache2正在使用的网站配置文件
/etc/apache2/site-available # apache2可用的网站配置文件
/var/www/html/ # 默认根目录
/var/log/apache2/access.log # Apache服务器的访问日志文件
/var/log/apache2/error.log # Apache服务器的错误日志文件
nginx
/var/log/nginx # 日志默认存放位置
/etc/nginx/conf/nginx.conf # 主配置文件
/usr/local/nginx/conf/nginx.conf # 配置文件
/var/log/nginx/access.log # 访问日志
/var/log/nginx/error.log # 错误日志
/usr/local/var/log/nginx/access.log # 没看到??
PHP
/www/server/php/版本/etc/php.ini