STARTING POINT - TIER 2 - Oopsie
一、题目
TASK 1
With what kind of tool can intercept web traffic?
用什么样的工具可以拦截网络流量?
答案:proxy
TASK 2
What is the path to the directory on the webserver that returns a login page?
网络服务器上返回登录页面的目录的路径是什么?
答案:/cdn-cgi/login
TASK 3
What can be modified in Firefox to get access to the upload page?
在Firefox中可以修改什么以获得对上传页面的访问?
答案:cookie
TASK 4
What is the access ID of the admin user?
什么是管理员用户的访问ID?
答案:34322
TASK 5
On uploading a file, what directory does that file appear in on the server?
在上传文件时,该文件会出现在服务器的哪个目录中?
答案:/uploads
TASK 6
What is the file that contains the password that is shared with the robert user?
包含与robert用户共享的密码的文件是什么?
答案:db.php
TASK 7
What executible is run with the option "-group bugtracker" to identify all files owned by the bugtracker group?
使用选项"-group bugtracker "运行什么可执行文件,以确定bugtracker组所拥有的所有文件?
答案:find
TASK 8
Regardless of which user starts running the bugtracker executable, what's user privileges will use to run?
无论哪个用户开始运行bugtracker可执行文件,都会使用什么用户权限来运行?
答案:root
TASK 9
What SUID stands for?
SUID代表什么?
答案:set uowner user id
TASK 10
What is the name of the executable being called in an insecure manner?
正在以不安全的方式调用的可执行文件的名称是什么?
答案:cat
二、过程
使用nmap对目标进扫描
nmap -sVC 10.129.64.26
发现80端口开放,打开浏览器进行访问,进入首页右键查看源代码,发现一个带有login的路径
访问刚刚得到的路径,发现是个登录页面,带有以来宾身份登录链接,我们打开它
进入到后台后,浏览后台导航条,发现“Account”可以显示当前用户信息,仔细观察url,可以看都参数id=2,这里可以试一下改变id值,把id修改为1,页面显示admin用户信息
对导航条一次点击后发现Uploads页面只有admin可以上传文件
按下F12进入调试台,将刚刚Account中的admin信息对当前用户信息进行替换
进入Uploads页面发现可以上传文件了
可以尝试上传webshell,找到kali自带的webshell,对php-reverse-shell.php的配置信息修改一下,修改成我们的信息并上传
上传成功后,需要我们找到webshell路径,使用gobuster对当前网址扫描目录,扫描完成后发现uploads文件夹
gobuster dir -u http://10.129.64.26/ -w /usr/share/dirb/wordlists/small.txt -x php
在访问webshell之前需要监听刚刚配置的webshell端口,然后通过浏览器访问上传的webshell地址,使用下面的命令切换到命令行
python3 -c 'import pty; pty.spawn("/bin/bash")'
接下来进入网站目录进行分析,在网站源码中找到robert用户信息
切换到robert用户,查看到user.txt
使用id产看当前用户的用户的ID,以及所属群组的ID,查看到该用户有两个所属群组
寻找一下bugtracker的信息,发现一个bugtracker文件,看看能不能执行一下该文件,可以执行发现提示输入什么id,这里顺便填写测试一下,发现正在运行cat命令
TASK 7 答案为find,使用locate命令找好用一些
find -group bugtracker
查看一下该文件权限,发现设置了s位与root用户,s代表始终以root用户身份运行
ls -l /usr/bin/bugtracker
进下来进入tmp文件夹写一个可以执行文件,命名为cat,并给文件执行权限,设置该变量路径
重新运行bugtracker文件,随便输入,成功执行'sh',whoami一下,当前用户为root
切换到root根目录,查看root.txt文件