Previse
0x00 信息收集
1、IP
10.10.11.104
2、port
全端口扫描:
详细版本信息:
3、目录文件
未登录:
文件 | 状态码 | 页面信息 |
---|
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 | |
0x01 登录web系统
通过抓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 | |
0x02 Getshell
logs.php提示使用了python,提示下方发现exec()函数。
利用exec函数反弹shell
得到www-data用户权限
收集信息:
查看开发端口
3306端口开放可本地连接。
查看etc/passwd
查看/home/目录,发现m4lwhere目录下存在user.txt,但是读权限为m4lwhere用户。
连接mysql
出现一堆报错
通过百度报错信息,可通过加转义字符解决。
连接成功但无回显
想到了之前师父教的-e参数
okk,得到m4lwhere的password hash
0x03 获得高权限用户
尝试利用hashcat进行破解,百度工具用法
开始不懂这个hash结构,只复制了部分,没破解出来,应该复制全部内容
得到密码
ssh登录
得到user-flag。
0x04 提权至root
linux常见提权尝试:
-
sudo:sudo -l -
suid
-
crontab
-
ls -l |grep cron* -
ls -al,看有无root权限执行的脚本 -
nfs
-
内核
-
uname -a -
searchsploit
收集常见的提权信息后,聚焦到这个以root权限执行的可执行文件
联想到之前学习过的tar通配符注入提权漏洞。
搜索了一下gzip 提权,并没有。
卡了很久,最终抄答案抄的一脸懵逼
提权原理为环境变量劫持-SUID 扩展,通过劫持环境变量,达到执行任意命令的目的。
具体可参考:https://blog.csdn.net/zhalang8324/article/details/104430273
获得root flag~
|