10.10.11.104
全端口扫描:
详细版本信息:
22 ssh:高版本,尝试用m4lwhere、newguy做user进行爆破,无果。
80:web,登录框
思路:
未登录:
文件 | 状态码 | 页面信息 |
---|---|---|
file_logs.php | 200 | 1、找到download的用户; 2、文件按comma、space、tab分隔?? |
status.php | 200 | 1、Mysql,连接正常;admin;uploadfile |
files.php | 200 | 1、download.php?file=32->siteBackup.zip; 2、user:newguy |
index.php | 200 | 1、一定要创造account |
download.php | 302 | |
config.php | 302 | |
footer.php | 302 | |
nav.php | 302 | |
header.php | 302 | |
logs.php | 302 | |
accounts.php | 302 |
通过抓accounts.php请求,改返回包的状态码为200 OK;绕过跳转成功访问页面。创建用户quan1。
登录后:
文件 | 状态码 | 页面信息 |
---|---|---|
file_logs.php | 200 | 1、下载out.log,包括M4lwhere用户的上传文件的id。 |
status.php | 200 | 1、Mysql,连接正常;admin用户4个;uploadfile2个 |
files.php | 200 | 1、下载siteBackup.zip; 2、尝试上传webshell,但是没有绝对路径,只能下载。 |
logs.php | 302 | 下载out.log,包括M4lwhere用户的上传文件的id。 |
尝试上传webshell,但是没有绝对路径,只能下载。
对siteBackup.zip进行代码审计:
文件 | 代码内容 |
---|---|
file_logs.php | |
status.php | |
files.php | 提示使用了python,提示下方发现exec()函数。 |
index.php | |
download.php | |
config.php | Mysql账号密码、数据库名。 $user = ‘root’; $passwd = ‘mySQL_p@ssw0rd!’; |
footer.php | |
nav.php | |
header.php | |
logs.php | |
accounts.php | |
login.php | |
logout.php |
logs.php提示使用了python,提示下方发现exec()函数。
利用exec函数反弹shell
得到www-data用户权限
收集信息:
查看开发端口
3306端口开放可本地连接。
查看etc/passwd
查看/home/目录,发现m4lwhere目录下存在user.txt,但是读权限为m4lwhere用户。
连接mysql
出现一堆报错
通过百度报错信息,可通过加转义字符解决。
连接成功但无回显
想到了之前师父教的-e参数
okk,得到m4lwhere的password hash
尝试利用hashcat进行破解,百度工具用法
开始不懂这个hash结构,只复制了部分,没破解出来,应该复制全部内容
得到密码
ssh登录
得到user-flag。
linux常见提权尝试:
sudo:sudo -l
suid
crontab
nfs
内核
收集常见的提权信息后,聚焦到这个以root权限执行的可执行文件
联想到之前学习过的tar通配符注入提权漏洞。
搜索了一下gzip 提权,并没有。
卡了很久,最终抄答案抄的一脸懵逼
提权原理为环境变量劫持-SUID 扩展,通过劫持环境变量,达到执行任意命令的目的。
具体可参考:https://blog.csdn.net/zhalang8324/article/details/104430273
获得root flag~