PHP伪协议与文件包含漏洞1
PHP文件包含漏洞花样繁多,需配合代码审计。
看能否使用这类漏洞时,主要看:
(1)代码中是否有include(),且参数可控;
如:
(2)php.ini设置:确保 allow_url_fopen=1, allow_url_include=1;
确定了使用的参数之后,就可以开始用伪协议了。
1. data://text/plain 伪协议
可以执行任何代码;需要fopen和include全部打开。
用法示例1:?page=data://text/plain,<?php phpinfo(); ?>
用法示例2:?page=data://text/plain;base64,PD9waHAgcGhwaW5mbygpOyA/Pg==
注:经过base64编码后的加号和等号最好手动将其换成url编码形式,以免识别不了。( =[%3d]; +[%2b] )
2.php://input 伪协议
可以将post请求中的数据作为php代码执行;只需要include打开。
用法示例:(抓包,在get参数后输入伪协议,在post区域输入php代码。)
3.php://filter 伪协议
读取文件源代码;只需要fopen打开;一般在知晓网站路径的情况下使用。
用法示例:?page=php://filter/read=convert.base64-encode/resource=learn.php
这样,其返回的就是learn.php base64加密后的代码内容。此处learn.php与漏洞文件在同一目录下;否则,还要写相对路径的。
(我在测试时,稍微改动一下这个语句,它的效果就变成执行learn.php了;原理和更多用法还待探究。)
将参数改为post后,data和php://filter还可使用,php://input失效。
参考:https://blog.csdn.net/weixin_45588247/article/details/119348342?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.searchformbaiduhighlight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.searchformbaiduhighlight
PHP伪协议与文件包含漏洞1的更多相关文章
- 配合php伪协议利用文件包含漏洞
文章来源: https://blog.csdn.net/zpy1998zpy/article/details/80598768?utm_medium=distribute.pc_relevant.no ...
- 风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击
风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击 文件包含漏洞 参考文章:https://chybeta.github.io/2017/10/08/php文件包含漏洞/ 分类 ...
- php伪协议,利用文件包含漏洞
php支持多种封装协议,这些协议常被CTF出题中与文件包含漏洞结合,这里做个小总结.实验用的是DVWA平台,low级别,phpstudy中的设置为5.4.45版本, 设置allow_url_fopen ...
- PHP文件包含漏洞攻防实战(allow_url_fopen、open_basedir)
摘要 PHP是一种非常流行的Web开发语言,互联网上的许多Web应用都是利用PHP开发的.而在利用PHP开发的Web应用中,PHP文件包含漏洞是一种常见的漏洞.利用PHP文件包含漏洞入侵网站也是主流的 ...
- 百度杯”CTF比赛 2017 二月场 没错!就是文件包含漏洞。
题目源码: 文件包含漏洞的话,看一下 你么可以使用php://input 伪协议,执行代码(参考了大佬WP)这里使用了POSTMAN, 目录下还有一个dle345aae.php文件,呢么用cat命令打 ...
- PHP文件包含漏洞攻防实战
本文对PHP文件包含漏洞的形成.利用技巧及防范进行了详细分析,并通过一个真实案例演示了如何利用PHP文件包含漏洞对目标网站进行渗透测试,最终成功获取到网站的WebShell. PHP是一种非常流行的W ...
- 【DVWA】File Inclusion(文件包含漏洞)通关教程
日期:2019-07-28 20:58:29 更新: 作者:Bay0net 介绍: 0x01. 漏洞介绍 文件包含时,不管包含的文件是什么类型,都会优先尝试当作 php 文件执行. 如果文件内容有 p ...
- 2020/1/31 PHP代码审计之文件包含漏洞
0x00 文件包含简介 文件包含漏洞的产生原因是在通过引入文件时,引用的文件名,用户可控,由于传入的文件名没有经过合理的校检,或者校验被绕过,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意 ...
- 文件包含漏洞(file inclusion)
文件包含漏洞原理:(php) 是指当服务器开启allow_url_include选项的时候,通过php某些特性函数.如include().include_once().require().requir ...
随机推荐
- CodeReview杂谈
豆皮粉儿们,大家好,又见面啦,今天由字节跳动的"躬冯"带来一个 code review 的故事. 作者:躬冯 2020年元旦假期到来的时候,孙总攒了个局,又把当年一起创造过屎山的咱 ...
- JDK1.8源码(八)——java.util.HashMap类
https://www.cnblogs.com/javastack/p/12801870.html https://www.cnblogs.com/chanshuyi/p/java_collectio ...
- java多线程同步的5种方法
一.为什么要线程同步 因为当我们有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会导致变量值或对象的状态出现混乱,从而导致程序异常. 举个例子,如果一个银行账户同时被两个线程 ...
- 第04课:使用 VS 管理开源项目
本节课将介绍 Redis 项目在 Linux 系统中使用 gdb 去调试,这里的调试环境是 CentOS 7.0,但是通常情况下对于 C/C++ 项目我一般习惯使用 Visual Studio 去做项 ...
- aes加解密前后端-后台
一.web.xml: <filter> <filter-name>fastLoginFilter</filter-name> <filter-class> ...
- 使用Vue制作了一个计算机网络中子网划分部分的简陋计算工具
前端新手请多关照~~~~ 上个学期学校开了计算机网络的课, 上到子网划分部分时, 各种计算虽然不然但是足够让人眼花缭乱 于是就想着自己写一个子网划分的小工具来辅助一下, 在一些简单的题目测试后没什么问 ...
- PHP设计模式之原型模式
原型模式其实更形象的来说应该叫克隆模式.它主要的行为是对对象进行克隆,但是又把被克隆的对象称之为最初的原型,于是,这个模式就这样被命名了.说真的,从使用方式来看真的感觉叫克隆模式更贴切一些. Gof类 ...
- symfony的几个请求变量和方法
请求变量 // 全部变量 $request->query->all(); // 指定变量 $request->query->get('abc'); 请求方式 $request- ...
- vue注意点
template下面只能有一个节点,不能是多个
- Docker DevOps实战:Docker+Jenkins+Python+Pytest+Allure(2)- Jenkins初始化、Jenkins插件、Jenkins配置、自动化测试
Jenkins初始化 step-1 访问Jenkins http://ip:80 step-2 查看密码.输入密码 # 方式一:通过查看容器日志 [root@localhost ~]# docker ...