欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > Perceiving Permissions(√)

Perceiving Permissions(√)

2024/10/26 5:19:21 来源:https://blog.csdn.net/qq_74259765/article/details/140576080  浏览:    关键词:Perceiving Permissions(√)

目录

  • level 1 chmod权限修改
  • level 2 chgrp修改访问权限
    • 基本用法
      • 常用选项
      • 示例
    • bypass
  • level 3 chgrp修改组权限-组名混淆
  • level 4 chmod修改可读权限组
  • level 5 chmod清空组权限
  • level 6 赋予文件所有权给指定用户
  • level 7 chmod授予执行权限
  • level 8 给文件设置SUID

level 1 chmod权限修改

  1. 使用符号修改权限
u+r,如上所述,为用户的权限添加了读取访问权限
g+wx添加对组权限的写入和执行访问权限
o-w 删除对世界权限的写入访问权限
a-rwx删除用户、组和世界的所有权限

chmod + mod【u=user;g = group;o = world(多个分组修改权限,使用逗号隔开)】 + (+/-) + 【权限】r / w / x + 【程序名】

chmod g+w,o=rw pwn  # group增加 write 权限,world 增加 write,read权限===>针对pwn程序
chmod u-rw pwn    # user 删除读写权限
chmod a+x pwn     # 所有用户组增加可执行权限
chmod u-rx,g-rx pwn  # user删除rw,group删除rw

注意:r-xrwxr-- 前三个,中间三个,后三个分别是user,group,world 分组权限

  1. 使用八进制修改权限
  • 读权限 ® = 4
  • 写权限 (w) = 2
  • 执行权限 (x) = 1

权限可以组合,例如:

  • 读 + 写 = 6
  • 读 + 执行 = 5
  • 写 + 执行 = 3
  • 读 + 写 + 执行 = 7
chmod 066 pwn
这里,066是八进制表示的权限设置,其中:第一个数字0代表特殊权限(例如setuid、setgid和sticky bit),在这里我们不需要,所以设置为0。第二个数字6代表组权限,设置为读写(rw-),在八进制中对应的是4(读)+ 2(写)= 6。第三个数字6代表其他用户的权限,同样设置为读写(rw-),也是6。

level 2 chgrp修改访问权限

chgrp 是一个在 Unix 和类 Unix 系统(如 Linux)中用于改变文件或目录所属组的命令。这个命令并不需要通过 Python 编程来实现,因为它是 shell 中的一个内置命令。不过,我可以解释这个命令的工作原理并提供其基本用法。

基本用法

chgrp [选项] 组 文件...
  • :这是你想要将文件或目录更改到的目标组。
  • 文件...:这是要更改组的文件或目录的列表。

常用选项

  • -c--changes:仅当更改发生时才显示输出。
  • -f--silent--quiet:抑制大多数错误消息。
  • -h--no-dereference:如果文件是符号链接,则更改符号链接本身所属的组,而不是它所指向的文件。
  • -R--recursive:递归地更改指定目录及其内容所属的组。
  • -v--verbose:显示详细的输出。

示例

  1. 将文件 example.txt 的组更改为 newgroup
chgrp newgroup example.txt
  1. 递归地将目录 mydir 及其所有内容的组更改为 newgroup
chgrp -R newgroup mydir/

bypass

hacker@permissions~groups-and-files:~$ id
uid=1000(hacker) gid=1000(hacker) groups=1000(hacker)
hacker@permissions~groups-and-files:~$ chgrp -hR hacker /flag
hacker@permissions~groups-and-files:~$ cat /flag
pwn.college{4A3KWfcF6HBHubtzJSoFt298iaw.dFzNyUDLwYTM2QzW}

level 3 chgrp修改组权限-组名混淆

hacker@permissions~fun-with-groups-names:~$ chgrp  hacker /flag
chgrp: invalid group: 'hacker'
hacker@permissions~fun-with-groups-names:~$ id
uid=1000(hacker) gid=1000(grp32018) groups=1000(grp32018)
hacker@permissions~fun-with-groups-names:~$ chgrp grp32018 /flag
hacker@permissions~fun-with-groups-names:~$ cat /flag
pwn.college{8d_OEyx-5aDyky7JKrGW3I4kl1r.dJzNyUDLwYTM2QzW}

level 4 chmod修改可读权限组

hacker@permissions~changing-permissions:~$ ls -l  /flag
-r-------- 1 root root 58 Jul 12 14:29 /flag
hacker@permissions~changing-permissions:~$ chmod o+rwx /flag
hacker@permissions~changing-permissions:~$ ls -l  /flag
-r-----rwx 1 root root 58 Jul 12 14:29 /flag
hacker@permissions~changing-permissions:~$ cat /flag
pwn.college{ceuahEL0mpqz62m_n3UOr3wVGA6.dNzNyUDLwYTM2QzW}

level 5 chmod清空组权限

u=rw为用户设置读写权限,并擦除执行权限
o=x仅设置世界的可执行权限,擦除读写权限
a=rwx为用户、组和世界设置读、写和可执行权限!
但是,如果要以与组权限不同的方式更改用户权限,该怎么办? 
假设您要为拥有的用户设置,但只为拥有的用户组设置? 
您可以通过将多个模式链接到 chmod 来实现这一点!rwr,chmod u=rw,g=r /challenge/pwn将用户权限设置为读写,将组权限设置为只读
chmod a=r,u=rw /challenge/pwn将用户权限设置为读写权限,将组和世界权限设置为只读
此外,您可以通过以下方式将权限归零:-chmod u=rw,g=r,o=- /challenge/pwn将用户权限设置为读写,
将组权限设置为只读,将世界权限设置为完全无
chmod u=-,g=-,o=rw pwn   # 清空user,group所有权限。更新替换world组权限

level 6 赋予文件所有权给指定用户

此外,您还可以通过使用 和 更改文件的组和用户所有权(假设您有足够的权限)chownchgrp修改用户所有权:chown [username] [file]
chown将该文件的所有权授予指定用户此外,您还可以使用 chgrp 编辑组所有权:chgrp [groupname] [file]
在此 chall 中,您需要 chownchgrp ,以便您(或您的团队)拥有它,
然后您可以读取该文件。/flag
chown hacker /flag
chgrp hacker /flag

level 7 chmod授予执行权限

chmod +x programname

level 8 给文件设置SUID

使用chmod给文件设置suid,使得允许用户以文件所有者身份运行该程序

在许多情况下,非 root 用户需要提升的访问权限才能执行某些系统任务。 
系统管理员不能在每次用户想要执行只有 root/sudoers 才能完成的任务时都向他们提供密码。
“设置用户 ID”(SUID) 位允许用户以程序文件的所有者身份运行程序。具有 SUID 列表的文件的权限如下所示:-rwsr-xr-x 1 root root 232416 Dec 1 11:45 /usr/bin/sudo
代替可执行位的部分意味着程序可使用 SUID 执行。 
这意味着用户基本上可以作为所有者(在本例中为用户)执行此程序。sroot作为文件的所有者,您可以使用 chmod 设置文件的 SUID 位:chmod u+s [program]
但要小心! 将 SUID 位提供给可执行文件可能会为攻击者提供成为 root 的攻击媒介。 
您将在程序误用模块中了解有关此内容的更多信息。现在,我们将让您将 SUID 位添加到可执行文件中,
以便为您生成一个 root shell!/challenge/getrootcat

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com