我在一次在线黑客比赛中看到了这个问题。问题要求我们打印文件“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
。
如果您可以物理访问该机器,您还可以重新启动进入单用户模式或拔下硬盘并将其放入另一台机器。