如何访问属于其他组的文件?

如何访问属于其他组的文件?

我在一次在线黑客比赛中看到了这个问题。问题要求我们打印文件“secret”的内容

bruce@ip-10-144-4-86:/home/hacker-weekly$ ll
total 20
drwxr-xr-x   2 hacker-weekly hacker-weekly  4096 Nov 12 19:19 ./
drwxr-xr-x 222 root          root          12288 Dec 27 06:27 ../
-r--r-----   1 root          secret          373 Nov 12 19:19 secret

bruce@ip-10-144-4-86:/home/hacker-weekly$ stat secret
  File: `secret'
  Size: 373             Blocks: 8          IO Block: 4096   regular file
Device: ca01h/51713d    Inode: 141569      Links: 1
Access: (0440/-r--r-----)  Uid: (    0/    root)   Gid: ( 1004/  secret)
Access: 2012-11-24 13:14:40.942961879 +0000
Modify: 2012-11-12 19:19:51.079654457 +0000
Change: 2012-11-12 19:19:51.079654344 +0000
 Birth: -

bruce@ip-10-144-4-86:/home/hacker-weekly$ getent group secret
secret:x:1004:guest

bruce@ip-10-144-4-86:/home/hacker-weekly$ cat /etc/issue
Ubuntu 12.04.1 LTS \n \l

bruce@ip-10-144-4-86:/home/hacker-weekly$ groups
bruce

bruce@ip-10-144-4-86:/home$ netstat -tulen
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          7287
tcp6       0      0 :::22                   :::*                    LISTEN      0          7289
udp        0      0 0.0.0.0:68              0.0.0.0:*                           0          6522

PS-如果您告诉我在 shell 上运行什么命令,我还可以收集其他信息

答案1

没有官方途径如果文件的权限不允许您访问该文件,则无法访问。任何此类可能性都可能是操作系统的一个(严重)错误。因此,没有神奇的命令可以读取此类文件,或者说,没有某个命令的神奇开关:

cat --ignore-permissions /home/hacker-weekly/secret

这就是为什么它被称为竞赛——你需要绕过操作系统安全机制,或者找到允许你访问文件的机器错误配置。

在这种情况下,我认为,赠品是群组guest中的用户secret- 我认为您需要以某种方式成为guest

如果您可以物理访问该机器,您还可以重新启动进入单用户模式或拔下硬盘并将其放入另一台机器。

相关内容