扫描打点
8000
能下载三个没用的图片,试了下文件包含不行,但找到返回值注释中的
Werkzeug Debugger
同时没扫到别的东西
根据exploitdb上的,有PIN码的情况下可以访问
/console
来获得一个python的命令行来拿到反弹shell根据github上的PIN码生成逻辑,需要拿到用户名,flask路径,服务器MAC和机器ID来生成
而路径在报错中不难找到:
/home/mcskidy/.local/lib/python3.8/site-packages/flask/app.py
改
id
的参数发现有sql注入,sqlmap跑一下,不能直接写shell啊嗯发现有union selectfile:///etc/passwd
能读到用户名:mcskidy
file:///sys/class/net/eth0/address
拿到MAC:02:d8:42:57:ac:8d
,并用python:print(0x02d84257ac8d)转成十进制3127849233549
file:///etc/machine-id
拿到机器ID:aee6189caee449718070b58132f2e4ba
那么用上面的脚本拿到PIN:
319-586-089
反弹shell出来
提权
/home
下没用别的用户,那就直接提权了在
/mcskidy
下还有个app
文件夹app.py
能读到密码,但错了啊嗯看看远处的.git文件吧,
git log
看一下:然后用
git diff
读一下历史改变:拿到密码
F453TgvhALjZ
看下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
. /opt/.bashrc
cd /home/mcskidy/
WEBSITE_URL="http://127.0.0.1:8000"
response=$(/usr/bin/curl -s -o /dev/null -w "%{http_code}" $WEBSITE_URL)
# Check the HTTP response code
if [ "$response" == "200" ]; then
/usr/bin/echo "Website is running: $WEBSITE_URL"
else
/usr/bin/echo "Website is not running: $WEBSITE_URL"
fi同一目录下还有个
.bashrc
:里面这个
enable -n [#]
,由于bash中#
为注释,因此其后面所有内容都被忽略,即命令为:enable -n [
那么就是
check.sh
启动时会以root
执行[
文件那就到了经典劫持环节,传个恶意
[
文件上去就行,比如复制/bin/bash
THM打靶日寄67-The Bandit Surfer
- 本文链接: http://noone40404.github.io/2025/03/27/THM打靶日寄67:The Bandit Surfer/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!