[BJDCTF 2nd]test

浅浅的花香味﹌ 2023-02-20 04:52 92阅读 0赞
  1. ssh ctf@node3.buuoj.cn -p <port>

在这里插入图片描述
查看test.c源码,
在这里插入图片描述
这里过滤了'nepbushiflag|/$-<>.'这些字符,如果绕过直接调用system(user_input)

当前用户ctf属于ctf组
在这里插入图片描述
这里要注意test设置了特殊权限位g位,而且flag文件与test同属于同一个用户组ctf_pwn,设置了g位,当test程序运行的时候,它的有效用户组(egid)就会变成文件的所属用户组即ctf_pwn

对于flag文件,它所在用户组的的成员是具备读的权限的,所以只要我们通过test能拿到shell,就一定可以读取到flag(以有效用户组ctf_pwn的身份)
在这里插入图片描述
现在目标就转变为绕过这么多字符拿到一个shell
在这里插入图片描述

  1. ls /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games | grep -v -E "n|e|p|u|s|h|i|f|l|a|g"

在这里插入图片描述
x86_64是一个指向setarch的链接
在这里插入图片描述
在这里插入图片描述
在拿到shell后,egid即有效用户组就是ctf_pwn,也验证了我们前面说的理论。
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,92人围观)

还没有评论,来说两句吧...

相关阅读