文件包含结合phpinfo反弹交互shell

admin 2023年5月30日00:45:45评论27 views字数 1052阅读3分30秒阅读模式

文件包含结合phpinfo反弹交互shell
点击上方蓝色字关注我们~

1
1.简介

在PHP文件包含漏洞中,当我们找不到用于触发RCE的有效文件时,如果存在PHPINFO(它可以告诉我们临时文件的随机生成的文件名及其位置),我们可能可以包含一个临时文件来利用它。

当向PHP发送POST请求并且请求包含一个文件块时,PHP会将所发送的文件保存到一个临时文件中(通常是/tmp/PHP[6个随机数字]),文件名可以在$u FILES变量中找到。请求结束后将删除此临时文件。

同时,PHPINFO页面打印上下文中的所有变量,包括$u文件。因此,如果我们将POST请求发送到PHPINFO页面,则可以在响应中找到临时文件的名称。

这样,LFI漏洞就可以升级为RCE,而不需要存在可用的本地文件。

文件包含和PHPINFO通常位于不同的网页中。理论上,我们需要在PHPINFO页面的文件上传请求的响应中检索文件名后,将文件名发送到文件包含页面。但是,在第一个请求完成后,文件将从磁盘中删除,因此我们需要赢得比赛。


2
步骤:


1.将文件上载请求发送到带有页眉的PHPINFO页,并获取包含大量垃圾数据的字段。

2.响应内容将是巨大的,因为PHPINFO将打印出所有数据。

3.PHP的默认输出缓冲区大小为4096字节。可以理解为PHP在套接字连接期间每次返回4096字节。

4.所以我们使用原始套接字来实现我们的目标。每次我们读取4096字节并在得到文件名后将其发送到LFI页面。

5.当我们得到文件名时,第一个套接字连接还没有结束,这意味着临时文件仍然存在。

6通过利用时间间隔,可以包含并执行临时文件。


详细参考这个文档 https://dl.packetstormsecurity.net/papers/general/LFI_With_PHPInfo_Assitance.pdf

前几天有个同学 写了篇文章 可以去看下 https://blog.csdn.net/Adminxe/article/details/105907995

3
测试反弹交互shell

按照上面的方法可以写入一个php 但是感觉有些不方面 最好是直接弹一个交互shell

准备一个文件包含漏洞的环境。

文件包含结合phpinfo反弹交互shell

phpinfo.php

文件包含结合phpinfo反弹交互shell

修改脚本

文件包含结合phpinfo反弹交互shell

修改包含文件页面和ip地址

kali 上监听 nc -lvnp 8080

执行exp

文件包含结合phpinfo反弹交互shell

得到交互shell

文件包含结合phpinfo反弹交互shell

4
脚本

链接:https://pan.baidu.com/s/1mkYV_AgtlBhZ7yG_HRj4kQ
提取码:exbp



原文始发于微信公众号(moonsec):文件包含结合phpinfo反弹交互shell

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月30日00:45:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   文件包含结合phpinfo反弹交互shellhttp://cn-sec.com/archives/565495.html

发表评论

匿名网友 填写信息