主流媒体网站建设,自创网站的软件下载,如何设置多个首页wordpress,搜索引擎优化技巧Wargames与bash知识11
bandit19
关卡提示#xff1a; 要获得对下一级别的访问权限#xff0c;您应该使用家目录中的setuid二进制文件。在不带参数的情况下执行它#xff0c;以了解如何使用。在使用setuid二进制文件后#xff0c;可以在通常的位置#xff08;/etc/bandit…Wargames与bash知识11
bandit19
关卡提示 要获得对下一级别的访问权限您应该使用家目录中的setuid二进制文件。在不带参数的情况下执行它以了解如何使用。在使用setuid二进制文件后可以在通常的位置/etc/bandit_pass找到密码。
查看/etc/bandit_pass/ bandit20权限此文件仅bandit20用户可读
bandit19bandit:~$ cd /etc/bandit_pass/
bandit19bandit:/etc/bandit_pass$ ls -l bandit20
-r-------- 1 bandit20 bandit20 33 Oct 5 06:19 bandit20查看系统变量PATH
bandit19bandit:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin先查看bandit20-do权限果然设置setuid的权限第四位s
bandit19bandit:~$ ls -Al
total 28
-rwsr-x--- 1 bandit20 bandit19 14876 Oct 5 06:19 bandit20-do
-rw-r--r-- 1 root root 220 Jan 6 2022 .bash_logout
-rw-r--r-- 1 root root 3771 Jan 6 2022 .bashrc
-rw-r--r-- 1 root root 807 Jan 6 2022 .profile
使用bandit20-do文件验证使用方法注意使用./ bandit20-do运行命令
bandit19bandit:~$ ./bandit20-do
Run a command as another user. #用另一个用户运行命令Example: ./bandit20-do id
bandit19bandit:~$ ./bandit20-do id
uid11019(bandit19) gid11019(bandit19) euid11020(bandit20) groups11019(bandit19)
bandit19bandit:~$ ./bandit20-do whoami
bandit20
bandit19bandit:~$ ./bandit20-do cat /etc/bandit_pass/bandit20
VxCazJaVykI6W36BkBU0mJTCM8rR95XT
bandit19bandit:~$相关知识介绍
内核为每个进程维护的三个UID值。这三个UID分别是RUID(Real UID实际用户ID)、EUID(Effective UID有效用户ID)、SUID(Saved Set-user-ID保存的设置用户ID)。 UID真实的用户ID 进程的UID就是其创建者的用户 RUID, 用于在系统中标识一个用户是谁当用户使用用户名和密码成功登录后一个UNIX系统后就唯一确定了他的RUID. EUID, 用于系统决定用户对系统资源的访问权限通常情况下等于RUID。 SUID用于对外权限的开放。跟RUID及EUID是用一个用户绑定不同它是跟文件而不是跟用户绑定。 只有进程的创建者和root用户才有权利对该进程进行操作。于是记录一个进程的创建者(也就是属主)就显得非常必要。 EUID用来确定进程对某些资源和文件的访问权限。在大多数情况下进程的UID和EUID是一样的 —— 除了著名的setuid程序。 setuid 例如passwd命令这个命令允许用户修改自己的登录口令。但是密码保存在/etc/shadow文件中这个文件对普通用户是不可读的那么用户怎么能够通过修改shadow文件来修改自己的口令呢这就是setuid的妙处了。通过ls -l passwd 可从passwd的属性看到权限位中有个s这就是suid。去掉s可用chmod u-s /usr/bin/passwd setuid通过使passwd在执行阶段具有文件所有者(也就是root)的权限让用户临时有了修改shadow文件的能力(当然这种能力是受到限制的)。因此passwd就是一个经典的setuid程序其UID是当前执行这个命令的用户ID而EUID则是root用户的ID(也就是0)。当非root用户调用passwd修改密码时此时的euid将会变为passwd的拥有者用户即root用户这样就可以修改密码了。 Linux id命令 用于显示用户的ID以及所属群组的ID。id会显示用户以及所属群组的实际与有效ID。若两个ID相同则仅显示实际ID。若仅指定用户名称则显示目前用户的ID。 参数说明 -g或–group 显示用户所属群组的ID。-G或–groups 显示用户所属附加群组的ID。-n或–name 显示用户所属群组或附加群组的名称。-r或–real 显示实际ID。-u或–user 显示用户ID。-help 显示帮助。-version 显示版本信息。