漏洞简介:

PHP文件包含漏洞中,如果找不到可以包含的文件,我们可以通过包含临时文件的方法来拿到权限。因为临时文件名是随机的,如果目标网站上存在phpinfo,则可以通过phpinfo来获取临时文件名,进而进行包含。

漏洞利用原理:

在给PHP发送POST数据包时,如果数据包里包含文件区块,无论你访问的代码中有没有处理文件上传的逻辑,PHP都会将这个文件保存成一个临时文件(通常是/tmp/php[6个随机字符]),文件名可以在$_FILES变量中找到。这个临时文件,在请求结束后就会被删除。同时,因为phpinfo页面会将当前请求上下文中所有变量都打印出来,所以我们如果向phpinfo页面发送包含文件区块的数据包,则即可在返回包里找到$_FILES变量的内容,自然也包含临时文件名。在文件包含漏洞找不到可利用的文件时,即可利用这个方法,找到临时文件名,然后包含之。

漏洞复现:

漏洞环境是用docker搭建的,直接在docker上拉取环境。

进入漏洞所在文件目录,启动环境:Docker-compose up -d

环境启动后,访问http://your-ip:8080/phpinfo.php即可看到一个phpinfo页面

访问http://your-ip:8080/lfi.php?file=/etc/passwd,可见的确存在文件包含漏洞。

用exp.py脚本来不断的上传数据,利用条件竞争来实现包含文件。当成功包含临时文Php file_put_contents('/tmp/g ','<?p/g', '<?=eval($_REQUEST[1])?>')?>,写入一个新的文件/tmp/g目录,这个文件会被保留在目标机器上。

运行python2 exp.py your-ip 8080 100

可以看到用了411个数据包的时候就写入成功了,之后就可以配合lfi.php执行任意命令,然后配合之前存在文件包含漏洞的php文件,就可以任意命令执行。

PHP文件包含漏洞(利用phpinfo)复现相关推荐

  1. php本地文件包含漏洞,php文件包含漏洞利用小结

    漏洞概述: 文件包含漏洞是指客户端(一般为浏览器)用户通过输入控制动态包含在服务器的文件,从而导致恶意代码的执行及敏感信息的泄露,主要包括本地文件包含LFI和远程文件包含RFI两种形式. 产生原因: ...

  2. centos 阿帕奇无法解析php_PHP文件包含漏洞利用思路与Bypass总结手册(二)

    作者:Qftm 合天智汇 接上一篇:https://www.toutiao.com/i6819918030252802571/ 包含Session 在了解session包含文件漏洞及绕过姿势的时候,我 ...

  3. fopen打开ftp文件_PHP文件包含漏洞利用思路与Bypass总结手册(一)

    作者:Qftm 合天智汇 前言 这个手册主要是记录针对PHP文件包含漏洞的利用思路与Bypass手法的总结. 相关函数 四个函数 php中引发文件包含漏洞的通常主要是以下四个函数: 1.include ...

  4. PHP文件包含漏洞利用思路与Bypass总结手册(一)

    本文作者:Qftm 目录 前言 相关函数 四个函数 函数功能 函数差异 漏洞原因 漏洞分类 包含姿势 php伪协议 php://filter file:// php://input file_get_ ...

  5. 【代码审计】PHP文件包含漏洞利用总结

    0x01 概述 PHP文件包含漏洞的产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而导致意外的文件泄露甚至恶意的代码注入.涉及文件包含漏洞的四个函数如下: includ ...

  6. php filter 文件包含,php://filter(文件包含漏洞利用)及php://input

    1. php://filter 文件包含漏洞:https://blog.csdn.net/fageweiketang/article/details/80699051 筛选过滤应用: 1. 字符串过滤 ...

  7. php文件包含漏洞利用

    上周我们部门弄了一个web安全的兴趣小组.说实话实在惭愧我虽然在安全公司每天都面对着各种漏洞,但是对渗透技术知之又少.于是加入兴趣小组后痛下决心好好学习渗透知识. 现在记录一下上周兴趣小组出的一个测试 ...

  8. php通用漏洞phpinfo,php文件包含漏洞(利用phpinfo)复现

    利用docker复现该漏洞,访问http://192.168.80.156:8080/phpinfo.php,可以看到页面出现phpinfo页面 再访问http://192.168.80.156:80 ...

  9. phpinfo.php ctf,这你不是你所常见的PHP文件包含漏洞(利用phpinfo)

    0x01 前言 看到文件包含(+phpinfo ) 的问题,在上次众测中出现此题目,如果没打过CTF,可能真的很少见到这种问题,当然作为小白的我,也是很少遇到,毕竟都是第一次,那就来总结一波经验和操作 ...

最新文章

  1. 为什么程序员不能接私活?
  2. python3 字符串 统计子字符数量 内置方法count
  3. 利用UIWebView获取userAgent需要注意的地方
  4. ZooKeeper小结
  5. 第二章作业-第3题-万世想
  6. Reporting Service 在文本框中换行的问题
  7. Opencv SolvePnP调用实战
  8. 耶鲁大学计算机科学录取,2020年耶鲁大学排名TFE Times美国最佳计算机科学硕士专业排名第18...
  9. Spring MVC Boot Cloud 技术教程汇总
  10. csp真题字符串匹配c语言,CCF CSP认证考试历年真题 模板生成系统 C语言实现
  11. Hbase Solr 二级索引 同步int数据报错com.ngdata.hbaseindexer.parse.ByteArrayValueMappers: Error mapping byte
  12. 查询php copy函数源码,PHP copy函数使用案例代码解析
  13. openStack 手动部署文档
  14. Scala中的“=”和“-”
  15. 中国人民大学_《组织行为学》_19.冲突:怎样避免组织内耗?
  16. 操作系统十二大容量存储的结构
  17. 电脑开机加速,一下子就提升了20几秒
  18. 图数据和知识图谱,数字化转型的新引擎星环科技星环科技
  19. 树莓派实现实时视频监控
  20. reversed python_python字典reversed

热门文章

  1. Torchtext下的AG_NEWS数据集进行分类(官方文档代码)
  2. word2013插入excel对象报错_教大家Excel2013如何插入对象文件
  3. golang for嵌套循环中break 的注意事项和使用细节: break 语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块
  4. Python处理气象信息grib,grib2文件
  5. 4.12.4nbsp;约翰bull;梅纳德bull;凯恩斯
  6. 生物信息学软件_基因测序、生物信息分析平台工作站硬件配置探讨2020
  7. 小白入门黑客之渗透测试基本流程
  8. sqlserver函数多行数据合并成一行
  9. 多线程的两种实现方法
  10. 学习笔记——Kaggle_Digit Recognizer (朴素贝叶斯 Python实现)