扫描获取靶机ip

nmap扫描开放端口及服务

访问80端口

contact页面下有个提交的按钮,一般这种地方有可能出现漏洞

提交后没什么特别的,但刷新后下面的年份会变,有可能存在文件包含

fuzz一下变量名为file

成功包含/etc/passwd

接下来试试能不能包含日志文件getshell,由于识别出服务器为nginx,包含一下nginx配置文件看看日志路径

在url输入php代码
http://192.168.101.77/<?php eval@($_POST['1']);?>使用burp抓包改掉url编码的内容

蚁剑连接

尝试反弹shell

成功反弹shell,切换到交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
看看能不能suid提权,find查找具有suid权限的命令
find / -perm -u=s -type f 2>/dev/null
发现一个screen-4.5.0很可疑,上网搜了一下这个可以提权,查找exp

使用第二个,查看一下这个脚本文件

实际上是两个c文件还有操作的命令。本地打开web服务

切换到web目录下,保存两个c文件(其实直接在靶机上创建也可以)

靶机切换到tmp目录下wget下载这两个文件

编译

执行剩余命令,成功获取root权限

切换到root目录下成功获取flag

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。