0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

文件上传另类GETshell方法

jf_hKIAo4na 来源:CSDN技术社区 作者:SwBack 2022-11-07 10:12 次阅读

利用.user.ini 进行解析文件。

不管是nginx/apache/IIS,只要是以fastcgi运行的php都可以;

什么是.user.ini 先看下官方的废话。

066a1990-5d80-11ed-a3b6-dac502259ad0.jpg

简单来讲,第一段话,反过来就是.htaccess 在特定的情况下和.user.ini作用相同。而.htaccess 利用相信大家都不陌生。

第二句话就是字面意思了。简单讲就是后面利用的时候,你这个.user.ini在任何目录下都无所谓,php会去找到它的。.user.ini就相当于php.ini的意思了。

第三句就是条件了。

最后一句简单讲 .user.ini 是动态读取的,不需要去重启使配置生效,默认是300秒 重新加载INI文件。

那么我们就可以到php.ini中寻找 具备PHP_INI_PERDIR和PHP_INI_USER 模式的INI设置了。

其中有两个设置比较有意思,写网站的朋友或许有时候常常接触到。

这里就不去看官方的描述了。意思简单清晰明了。类似于require();

068091d4-5d80-11ed-a3b6-dac502259ad0.png

我们如果在.user.ini中设置 比如第一个 auto_prepend_file

在.user.ini 中添加如下一串代码

auto_prepend_file=shell

0695ccac-5d80-11ed-a3b6-dac502259ad0.png

然后在文件shell中写入php代码

07aefea6-5d80-11ed-a3b6-dac502259ad0.png

当前目录下我写了一个php的首页文件。内容如下

07c7f0e6-5d80-11ed-a3b6-dac502259ad0.png

按照原理,shell文件的内容应该会被包含在 hello world 上面。

访问一下, 执行成功。

07e2cae2-5d80-11ed-a3b6-dac502259ad0.jpg

如果.user.ini中 写的是

auto_append_file =shell

080ac056-5d80-11ed-a3b6-dac502259ad0.png

那么执行的代码就在下面。

082cc1d8-5d80-11ed-a3b6-dac502259ad0.png

最后附上我的测试环境。其中php 从5.3.29 到7.3.9 都可以。Nginx 的话是1.15版本

08550fd0-5d80-11ed-a3b6-dac502259ad0.png

08713a3e-5d80-11ed-a3b6-dac502259ad0.jpg

总结:通过上传自定义文件.user.ini

使php去读取其内容,将指定文件包含在一个正常的php文件中,进行解析,从而达到getshell的结果。

该方法用在文件上传,.user.ini可以上传成功,且在上传目录下存在一个正常的php文件即可。

可以在php文件无法正常上传,不存在文件包含漏洞,图片马上传之后无法解析的情况下进行。

且在上传目录下存在一个正常的php文件即可。

可以在php文件无法正常上传,不存在文件包含漏洞,图片马上传之后无法解析的情况下进行。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 文件
    +关注

    关注

    1

    文章

    540

    浏览量

    24402
  • User
    +关注

    关注

    1

    文章

    27

    浏览量

    10718

原文标题:文件上传另类GETshell方法

文章出处:【微信号:菜鸟学安全,微信公众号:菜鸟学安全】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    动网论坛大文件上传不了的解决方法

    ;4、再检查你上传文件大小是否超过了允许上传文件大小,首先检查后台用户组设置中每一用户组允许上传
    发表于 08-06 10:31

    protel 的特殊库与另类库...

    `常见的原理图库、PCB库,满大街都在共享!唯独一些特殊点的、另类的库难以寻找 比如PIN数高,是否可用等等问题的库,不知道怎么寻找。自己画的话又太长。 发帖谈论大家寻找库的方法,借此也能帮助得到
    发表于 07-16 15:24

    上传文件

    上传文件必须小于20M吗?怎样能上传大于20M的文件
    发表于 08-10 20:11

    基于PHP大文件上传的研究和设计

    基于PHP大文件上传的研究和设计,感兴趣的可以看看。
    发表于 02-22 18:15 6次下载

    基于Iframe内联框架的异步文件上传与删除

    在Weh应用程序开发过程中,文件上传功能是个很常用又非常重要的功能,它要处理的内容主要包括:如何将上传文件文件的形式保存到服务器,
    发表于 11-11 10:20 5次下载
    基于Iframe内联框架的异步<b class='flag-5'>文件</b><b class='flag-5'>上传</b>与删除

    springMVC后台接受前端上传文件及下载文件

    通过MultipartHttpServletRequest对象来接受前端上传文件
    发表于 11-28 13:33 3252次阅读

    如何在java上传和下载文件

    文件上传在web应用中非常普遍,要在jsp环境中实现文件上传功能是非常容易的,因为网上有许多用java开发的文件
    发表于 11-13 08:00 11次下载

    java Web如何实现文件上传与下载

    文件上传概述,实现web开发中的文件上传功能,需完成如下二步操作: 在web页面中添加上传输入项在servlet 中读取
    发表于 03-06 11:03 7次下载
    java Web如何实现<b class='flag-5'>文件</b>的<b class='flag-5'>上传</b>与下载

    天翼云存储上传文件 天翼云存储操作攻略

    天翼云存储怎么上传文件?天翼云是一款能够提供文件同步、备份及分享等服务的网络云存储平台,通过天翼云储存,多终端上传和下载、管理、分享文件变得
    发表于 06-28 11:11 3822次阅读

    如何把鸿蒙的文件上传到python服务器端

    1.首先鸿蒙的js文件上传,设置目录路径为: 构建路径在工程主目录下: 该目录的说明见下面描述: 视图构建如下: 界面代码: div class="container" div onclick
    的头像 发表于 04-16 15:02 1767次阅读
    如何把鸿蒙的<b class='flag-5'>文件</b><b class='flag-5'>上传</b>到python服务器端

    HarmonyOS应用开发okhttp3.0快速集合文件上传

             应用开发过程中经常需要进行文件上传功能开发,通过okhttp3.0可以快速集合完成文件上传的功能。 代码如下: OkHttpClient http = new
    的头像 发表于 03-08 10:24 1543次阅读

    SpringBoot超大文件上传,实现秒传

    当标志位true为上传已经完成,此时如果有相同文件上传,则进入秒传逻辑。如果标志位为false,则说明还没上传完成,此时需要在调用set的方法
    的头像 发表于 11-17 10:30 725次阅读

    MarkDown文件插入图片并上传GitHub

    MarkDown文件插入图片并上传GitHub
    的头像 发表于 01-12 17:02 784次阅读

    WebLogic弱口令getshell实战

    总结在WebLogic弱口令登录console的场景下的getshell方式。
    的头像 发表于 01-29 10:47 1097次阅读

    前端文件上传的几种交互造轮子

    前端文件上传本来是一个常规交互操作,没什么特殊性可言,但是最近在做文件上传,需要实现截图粘贴上传,去找了下有没有什么好用的组件,网上提供的
    的头像 发表于 07-04 10:39 346次阅读