Polar 这又是一个上传

Polar 这又是一个上传

开局还是一个文件上传界面

Polar 这又是一个上传_第1张图片

有前端后缀检查,这个好绕,抓包改后缀就行

Polar 这又是一个上传_第2张图片

绕过后burp可以直接传一个php上去

Polar 这又是一个上传_第3张图片

getshell

Polar 这又是一个上传_第4张图片

但是无法cat flag,感觉权限不够,需要提权。

查找具有suid权限的命令

1=system('find / -user root -perm -4000 -print 2>/dev/null');

Polar 这又是一个上传_第5张图片

发现有pkexec。polkit是一个授权管理器,其系统架构由授权和身份验证代理组成,pkexec是其中polkit的其中一个工具,他的作用有点类似于sudo,允许用户以另一个用户身份执行命令

一般不确定是否有提权的时候,我都会上https://gtfobins.github.io/看一下。

看一下版本:

image-20231206111928655

存在CVE-2021-4034 pkexec 本地提权漏洞,可以将用户身份直接变为root

2009年5月至今发布的所有 Polkit 版本都受这个漏洞影响。

注:Polkit预装在CentOS、Ubuntu、Debian、Redhat、Fedora、Gentoo、Mageia等多个Linux发行版上,所有存在Polkit的Linux系统均受影响。

底层原理不过了,直接利用,可以看看的一些文章:

【CVE-2021-4034】 漏洞详细原理以及复现,polkit的pkexec中的本地提权漏洞-CSDN博客

CVE-2021-4034 深入分析及漏洞复现 - 先知社区 (aliyun.com)

CVE-2021-4034 pkexec 本地提权漏洞利用解析-安全客 - 安全资讯平台 (anquanke.com)

CVE-2021-4034 polkit(pkexec)提权漏洞复现-腾讯云开发者社区-腾讯云 (tencent.com)

蚁剑上马,不知道哪里出问题了,目录一直没权限读取,好在/tmp目录还是可以读写的。

Polar 这又是一个上传_第6张图片

/tmp目录有读写权限,右键上传文件。

Polar 这又是一个上传_第7张图片

POC下载地址:

berdav/CVE-2021-4034: CVE-2021-4034 1day (github.com)

奶奶滴,poc解压不了,可以本地解压后上传单个文件,但是执行poc无效,奶奶滴。(发癫)

其他倒是还好,POC无效真的受不了。。。。


大B老师说没完整tty(再次表达感谢~)

如何判断tty是否完整:

Polar 这又是一个上传_第8张图片

Polar 这又是一个上传_第9张图片

为什么没完整tty,会影响提权呢?

因为完整的tty是很多命令执行的前提,比如sudo,不是完整的tty是不能sudo的(感谢叶哥的指导),以下是一些必须依靠tty的命令。

  1. passwd: 修改用户密码时,需要在TTY中输入当前密码和新密码。
  2. su / sudo: 切换用户或以管理员权限执行命令时,通常需要在TTY中输入相应的密码。
  3. shutdown / reboot: 关机或重启系统时,可能需要在TTY中输入管理员密码或确认操作。
  4. top / htop: 查看系统进程和资源占用情况,这些命令在TTY中显示实时信息。
  5. vim / nano / emacs: 编辑文本文件时,这些文本编辑器通常在TTY中使用。
  6. apt / yum / dnf: Linux 发行版的包管理器,进行软件包安装、更新或删除时需要在TTY中执行。
  7. ssh: 通过终端远程登录到其他计算机时,需要在TTY中输入密码或进行身份验证。
  8. gnome-terminal / konsole / xterm: 在图形界面下打开终端时,这些终端模拟器在TTY中运行。

接下来使用哥斯拉的superterminal,可以直接解决没完整tty的问题

Polar 这又是一个上传_第10张图片

payload:

make
./cve-2021-4034

whoami
tac /flag

Polar 这又是一个上传_第11张图片

你可能感兴趣的:(CTF-web(零散wp合集),CTF,Web安全,PHP,tty,提权,文件上传)