Web渗透-文件漏洞(三)

第1章 文件包含漏洞利用

1.1 文件包含漏洞介绍

文件包含即通过php函数加载另一个文件中的php代码,此函数通常会获取所有文件内容进行执行,识别到php代码后会执行php代码。

1.2 实验环境

序号 主机IP 主机系统 主机角色
1 192.168.10.159 Centos7 64位 DVWA

1.3 漏洞分析

图片[1]|Web渗透-文件漏洞(三)|leon的博客

图片[2]|Web渗透-文件漏洞(三)|leon的博客

可以看到它加载的页面是file1.php这个文件,我们可以修改页面为webshell文件进行渗透攻击。

1.4 漏洞利用

http://192.168.10.159/DVWA/vulnerabilities/fi/?page=file:////etc/passwd

注意:file:///是固定格式后面跟文件路径/etc/passwd

页面中加载了passwd文件,那么我们可以上传一个带有php一句话木马代码的png图片,上传成功后使用蚁剑或者菜刀进行连接。

图片[3]|Web渗透-文件漏洞(三)|leon的博客

第2章 文件上传漏洞利用

2.1 文件上传漏洞介绍

File Upload,即文件上传漏洞,通常是由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传漏洞带来的危害常常是毁灭性的,Apache、Tomcat、Nginx 等都曝出过文件上传漏洞。

2.2 实验环境

序号 主机IP 主机系统 主机角色
1 192.168.10.180 Kali 蚁剑
2 192.168.10.159 Centos7 64位 DVWA

2.3 基于DVWA的low级别上传文件漏洞

2.3.1 上传webshell

图片[4]|Web渗透-文件漏洞(三)|leon的博客

Web站点查看文件上传的位置,根据提示../../hackable/uploads/webshell.php

[root@web uploads]# pwd
/var/www/html/DVWA/hackable/uploads
[root@web uploads]# ls
dvwa_email.png  webshell.php

2.3.2 使用蚁剑连接webshell

2.3.2.1 添加肉鸡webshell

图片[5]|Web渗透-文件漏洞(三)|leon的博客

2.3.2.2 可直接对服务器进行管理

图片[6]|Web渗透-文件漏洞(三)|leon的博客

2.3.2.3 使用虚拟终端查看用户信息

图片[7]|Web渗透-文件漏洞(三)|leon的博客

可以看到用户是apache,因为我们是通过php解析来进行执行命令的,apache 的运行用户为apache所以我们获取到的就是apache权限,如果站点是以root身份运行的我们获取到的就是超级管理员权限,如果系统或运行的服务存在可提权的漏洞即可提权为root用户。

2.4 基于DVWA的medium级别上传文件漏洞

2.4.1 分析源码

源码中增加了对文件类型和大小的验证,只允许jpeg和png并且小于100000的文件上传:

图片[8]|Web渗透-文件漏洞(三)|leon的博客

2.4.2 上传webshell

2.4.2.1 修改webshell名称

图片[9]|Web渗透-文件漏洞(三)|leon的博客

2.4.2.2 上传webshell

使用burpsuite截取数据包修改文件后缀名为php:

图片[10]|Web渗透-文件漏洞(三)|leon的博客

Web站点查看文件上传的位置,根据提示../../hackable/uploads/webshell.php

[root@web uploads]# pwd
/var/www/html/DVWA/hackable/uploads
[root@web uploads]# ls
dvwa_email.png  webshell.php

2.4.3 使用蚁剑连接webshell

参考 2.3.2

2.4.3.1 总结

因为代码已经对文件格式验证完成,文件格式满足需求然后进行上传,上传的过程中截取HTTP请求对文件格式进行再次修改,最终webshell.php被上传到Web站点。

2.5 基于DVWA的high级别上传文件漏洞

2.5.1 分析源码

相对于medium级别源码,增加了对文件本身数据的验证,也就是说必须得是真正的jpeg和png才可以上传成功:

图片[11]|Web渗透-文件漏洞(三)|leon的博客

2.5.1.1 尝试上传

尽管webshell.png 是以png结尾的,但是文件文件里面的内容不对,所以依然无法上传:

图片[12]|Web渗透-文件漏洞(三)|leon的博客

2.5.2 图片注入websell后上传

  • 攻击思路:
  1. 把webshell+图片合在一起最终看到还是一个图片,只是这个图片中有webshell
  2. 上传一个带有webshell的png图片
  3. 以文件包含漏洞来执行图片中的php代码

2.5.2.1 制作图片木马

# cat webshell.php >> hack.jpg

2.5.2.2 上传图片木马

图片[13]|Web渗透-文件漏洞(三)|leon的博客

文件上传成功,但是文件后缀名称并不能更改,因为代码中对文件名称也进行了严格的校验。由于我们当前的php版本大于5.4所以我们需要使用文件包含漏洞进行绕过。

PS:如果php版本低于5.4可以使用webshell.php%00.jpg进行截断绕过,这样文件会被直接当做php文件进行执行。

2.5.3 通过文件包含漏洞连接蚁剑

2.5.3.1 获取cookie信息

由于文件包含漏洞需要登录DVWA,在未登录的状态下会导致连接不成功,可以直接把已经登录的Cookie信息在编辑Shell配置添加到Header头里就可以了。

图片[14]|Web渗透-文件漏洞(三)|leon的博客

2.5.3.2 配置蚁剑

http://192.168.10.159/DVWA/vulnerabilities/fi/?page=file:////var/www/html/DVWA/hackable/uploads/hack.jpg
Cookie:PHPSESSID=13beua6ej7rdhcekngbvtfhdm1;security=high

图片[15]|Web渗透-文件漏洞(三)|leon的博客

图片[16]|Web渗透-文件漏洞(三)|leon的博客

2.5.3.3 总结

这里可以上传一个正常的webshell.php,后期直接通过webshell进行访问就不用每次都改数据包了:

图片[17]|Web渗透-文件漏洞(三)|leon的博客

温馨提示:本文最后更新于2022-12-20 20:57:34,已超过435天没有更新。某些文章具有时效性,若文章内容或图片资源有错误或已失效,请联系站长。谢谢!
转载请注明本文链接:https://blog.leonshadow.cn/763482/2758.html
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享