PHP文件包含漏洞(利用phpinfo)复现
漏洞简介:
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)复现相关推荐
- php本地文件包含漏洞,php文件包含漏洞利用小结
漏洞概述: 文件包含漏洞是指客户端(一般为浏览器)用户通过输入控制动态包含在服务器的文件,从而导致恶意代码的执行及敏感信息的泄露,主要包括本地文件包含LFI和远程文件包含RFI两种形式. 产生原因: ...
- centos 阿帕奇无法解析php_PHP文件包含漏洞利用思路与Bypass总结手册(二)
作者:Qftm 合天智汇 接上一篇:https://www.toutiao.com/i6819918030252802571/ 包含Session 在了解session包含文件漏洞及绕过姿势的时候,我 ...
- fopen打开ftp文件_PHP文件包含漏洞利用思路与Bypass总结手册(一)
作者:Qftm 合天智汇 前言 这个手册主要是记录针对PHP文件包含漏洞的利用思路与Bypass手法的总结. 相关函数 四个函数 php中引发文件包含漏洞的通常主要是以下四个函数: 1.include ...
- PHP文件包含漏洞利用思路与Bypass总结手册(一)
本文作者:Qftm 目录 前言 相关函数 四个函数 函数功能 函数差异 漏洞原因 漏洞分类 包含姿势 php伪协议 php://filter file:// php://input file_get_ ...
- 【代码审计】PHP文件包含漏洞利用总结
0x01 概述 PHP文件包含漏洞的产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而导致意外的文件泄露甚至恶意的代码注入.涉及文件包含漏洞的四个函数如下: includ ...
- php filter 文件包含,php://filter(文件包含漏洞利用)及php://input
1. php://filter 文件包含漏洞:https://blog.csdn.net/fageweiketang/article/details/80699051 筛选过滤应用: 1. 字符串过滤 ...
- php文件包含漏洞利用
上周我们部门弄了一个web安全的兴趣小组.说实话实在惭愧我虽然在安全公司每天都面对着各种漏洞,但是对渗透技术知之又少.于是加入兴趣小组后痛下决心好好学习渗透知识. 现在记录一下上周兴趣小组出的一个测试 ...
- php通用漏洞phpinfo,php文件包含漏洞(利用phpinfo)复现
利用docker复现该漏洞,访问http://192.168.80.156:8080/phpinfo.php,可以看到页面出现phpinfo页面 再访问http://192.168.80.156:80 ...
- phpinfo.php ctf,这你不是你所常见的PHP文件包含漏洞(利用phpinfo)
0x01 前言 看到文件包含(+phpinfo ) 的问题,在上次众测中出现此题目,如果没打过CTF,可能真的很少见到这种问题,当然作为小白的我,也是很少遇到,毕竟都是第一次,那就来总结一波经验和操作 ...
最新文章
- 为什么程序员不能接私活?
- python3 字符串 统计子字符数量 内置方法count
- 利用UIWebView获取userAgent需要注意的地方
- ZooKeeper小结
- 第二章作业-第3题-万世想
- Reporting Service 在文本框中换行的问题
- Opencv SolvePnP调用实战
- 耶鲁大学计算机科学录取,2020年耶鲁大学排名TFE Times美国最佳计算机科学硕士专业排名第18...
- Spring MVC Boot Cloud 技术教程汇总
- csp真题字符串匹配c语言,CCF CSP认证考试历年真题 模板生成系统 C语言实现
- Hbase Solr 二级索引 同步int数据报错com.ngdata.hbaseindexer.parse.ByteArrayValueMappers: Error mapping byte
- 查询php copy函数源码,PHP copy函数使用案例代码解析
- openStack 手动部署文档
- Scala中的“=”和“-”
- 中国人民大学_《组织行为学》_19.冲突:怎样避免组织内耗?
- 操作系统十二大容量存储的结构
- 电脑开机加速,一下子就提升了20几秒
- 图数据和知识图谱,数字化转型的新引擎星环科技星环科技
- 树莓派实现实时视频监控
- reversed python_python字典reversed
热门文章
- Torchtext下的AG_NEWS数据集进行分类(官方文档代码)
- word2013插入excel对象报错_教大家Excel2013如何插入对象文件
- golang for嵌套循环中break 的注意事项和使用细节: break 语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块
- Python处理气象信息grib,grib2文件
- 4.12.4nbsp;约翰bull;梅纳德bull;凯恩斯
- 生物信息学软件_基因测序、生物信息分析平台工作站硬件配置探讨2020
- 小白入门黑客之渗透测试基本流程
- sqlserver函数多行数据合并成一行
- 多线程的两种实现方法
- 学习笔记——Kaggle_Digit Recognizer (朴素贝叶斯 Python实现)