第五个靶机
nmap -sn 先找到ip地址192.168.2.179
先nmap看开了什么服务。先看基础服务有没有漏洞,再针对web测试
searchsploit apache 和 mod_ssl 都没有发现可用的exp
只开了80 和 8080
80只显示it works,8080 直接forbidden
80端口,按f12元素审查,发现有注释
访问
点击后发现是使用php画图的工具,下面是代码,上面是图。此时想找找有没有可以执行代码的类似example的地方。
没有发现容易利用的地方,去searchsploit一下pchart
发现2.1.3有exp
看路径
打开,pChart2.1.3的example中存在目录遍历
在网页中尝试一下
既然可以读文件,读一下敏感文件
/etc/motd 发现操作系统是FreeBSD 9.0,有两个可用的提权exp
有php.ini
在搜索的过程中发现,phpinfo结合文件包含可以getshell(意外收获
然而php.ini并不可以,因为利用需要phpinfo动态打印出的$_FILES的值。
既然8080端口是403,可以看下配置文件,为什么403
在这里有各种系统下apache配置文件的位置
其实前面fuzz敏感文件的时候,应该fuzz出来,现在把这个路径加到字典里面了。
在这里看到是要存在名为Mozilla4_browser的环境变量,而Mozilla4_browser的含义由前面的SetEnvIf定义。
可以看到 User-Agent要是 ^Mozilla/4.0
这里是正则,意思是以Mozilla/4.0开头都行
进来之后是phptax
searchsploit发现有RCE的exp
尝试了下nc正连连不上,反连可以连回来,可以执行命令但没有回显
那就写个webshell
1 |
|
1 |
|
然后再用添加的用户ssh,再提权,就可以改root密码了。
最后
总结下思路
元素审查发现url
目录遍历读取apache文件,了解到403站点的规则
通过无回显命令执行漏洞写webshell到有回显
通过webshell使用nc+重定向上传php_reverse_shell
提权后创建新用户,开启ssh使用新用户登陆后再提权
收获
php_reverse_shell
phpinfo+文件包含
FreeBSD下apache配置文件的路径加入字典