vulnhub--IMF

环境

攻击机:192.168.96.4

靶机:ip未知

主机探测

确定靶机ip为32的主机

端口扫描

访问80端口

外围打点

在contact.php页面源码中找到了flag1

之后没啥突破

但查看网络后发现contact.php页面请求的三个js文件的文件名很有特点,猜测是base64编码

对其进行拼接发现是flag2

 对flag2的内容进行解码

猜测是路径,因为服务器仅仅开放了80端口,应该不是用户名

对ip和上述路径进行拼接,并访问,得到一个登录界面

作者提示用户验证没有使用sql,而是使用的是PHP的硬编码

在PHP中硬编码存在三种方式==、===、strcmp函数

其中strcmp函数存在漏洞,当使用strcmp函数对字符串和数组进行比较的时候,PHP低于5.2的版本会返回-1

尝试利用数组登录,之前收集到的用户名有

  • roger
  • rmichaels
  • akeith
  • estone

成功登陆rmichaels用户,拿到flag3

对flag3的内容进行解密

对url的参数进行修改,发现有报错,可能存在SQL注入

使用sqlmap对其进行测试

sqlmap -u "http://192.168.96.32/imfadministrator/cms.php?pagename=home" --cookie "PHPSESSID=kde2npe0ejb05ee474afu5ksk6" --level=5 --risk=3 --dbs --batch --dump

发现一张图片的路径

访问

拿到二维码中的信息

flag4{dXBsb2Fkcjk0Mi5waHA=}

继续解码

访问这个文件,是一个文件上传的页面,应该需要进行一句话木马的上传

通过制造图片马以及对eval函数的绕过,成功上传了图片

这里还可以使用weevely工具

weevely生成php木马

修改图片后缀为gif,并且在文件内容的开始添加GIF89a来绕过内容的检测

之后成功上传

发现返回页面的源码中有注释,是文件上传后对应的文件名

使用weevely工具连接,成功拿到www-data用户的权限shell,文件的上传路径可以通过扫描后台目录得出

拿到flag5

解密flag5的内容

提权

此靶场一般有两种方式进行提权,一种是内核漏洞提权,另外一种是通过端口试探技术开启特定的端口服务,通过此程序的缓冲区溢出漏洞进行提权

但尝试了几次均不成功,水平不够,之后需要加强权限提升的能力。

 

posted @ 2024-07-03 08:45  Pres1X  阅读(4)  评论(0编辑  收藏  举报