文件上传另类GETshell方法

admin 2022年11月9日12:18:28评论54 views字数 1150阅读3分50秒阅读模式

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

不管是nginx/apache/IIS,只要是以fastcgi运行的php都可以;
什么是.user.ini 先看下官方的废话。
文件上传另类GETshell方法
  • 简单来讲,第一段话,反过来就是.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();

文件上传另类GETshell方法

我们如果在.user.ini中设置 比如第一个 auto_prepend_file
在.user.ini 中添加如下一串代码
auto_prepend_file=shell
文件上传另类GETshell方法
然后在文件shell中写入php代码
文件上传另类GETshell方法
当前目录下我写了一个php的首页文件。内容如下
文件上传另类GETshell方法
按照原理,shell文件的内容应该会被包含在 hello world 上面。
访问一下, 执行成功。
文件上传另类GETshell方法
如果.user.ini中 写的是
auto_append_file =shell

文件上传另类GETshell方法
那么执行的代码就在下面。
文件上传另类GETshell方法
最后附上我的测试环境。其中php 从5.3.29 到7.3.9 都可以。Nginx 的话是1.15版本
文件上传另类GETshell方法
文件上传另类GETshell方法
总结:
通过上传自定义文件.user.ini
使php去读取其内容,将指定文件包含在一个正常的php文件中,进行解析,从而达到getshell的结果。
该方法用在文件上传,.user.ini可以上传成功,且在上传目录下存在一个正常的php文件即可。
可以在php文件无法正常上传,不存在文件包含漏洞,图片马上传之后无法解析的情况下进行。
且在上传目录下存在一个正常的php文件即可。
可以在php文件无法正常上传,不存在文件包含漏洞,图片马上传之后无法解析的情况下进行。
————————————————
作者:SwBack
原文链接:https://blog.csdn.net/qq_30817059/article/details/123222142
扫码加好友拉你进交流群

文件上传另类GETshell方法

关注公众号,后台回复关键词获取安全相关资源:

【 1868 】 :弱口令字典

 6956 】 :Windows提权工具包

【 1762 】 :渗透辅助综合工具

【 2595 】 :应急响应工具集

【 1346 】 :CTF入门到提升视频教程

原文始发于微信公众号(菜鸟学安全):文件上传另类GETshell方法

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月9日12:18:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  文件上传另类GETshell方法 https://cn-sec.com/archives/1393729.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: