赞
踩
服务器执行的php文件中可能包含木马文件或者恶意代码
1.web采用include()等文件包含函数通过动态变量的方式引入需要包含的文件
静态包含使用include指令,动态包含使用include动态标签
静态包含(include指令):<%@include file="需要包含的文件地址("%>
动态包含(include动态标签):<jsp:include page="需要包含的文件地址"></jsp:include>
静态文件和动态文件的区别_LifeAnLearn的博客-CSDN博客_静态文件和动态文件的区别
2.客户端可以控制动态变量(即这个变量用前端用户传进的)
1.本地文件包含漏洞:被包含文件在服务器本地,在这种情况下,攻击者会包含一些固定的系统配置文件,从而读取系统敏感信息。很多时候本地文件包含漏洞会结合一些特殊的文件上传漏洞,从而形成更大的漏洞。
服务器中的静态资源和动态资源_Pr Young的博客-CSDN博客-------->这个就说明了被包含的文件既可能是动态文件也可能是静态文件。
2.远程文件包含漏洞:能够通过url地址对远程的文件进行包含(这里应该是指执行url地址中所包含的远程文件)
要求:必须要开启allow_url_include和allow_url_fopen,即两者参数均显示为on
在php.ini中,allow_url_fopen一直默认为on,而allow_url_include从php5.2之后一直默认为off
- include(文件地址) //找不到被包含文件时发出警告,但依旧会继续执行程序
- include_once() //文件被重复包含时只包含一次
- require() //找不到包含文件时补鞥继续执行
- require_once()
无视文件后缀(类型),即只要满足为PHP语言,则就会执行
攻击者思路:
通过访问并不存在的文件,得到相关的传递路径
包含的文件为系统配置文件,从而得到相关的敏感信息
即包含的文件
allow_url_include开启
找到Apache路径,利用包含漏洞包含日志文件获取Webshell。(很多时候,web服务器会将请求写到日志文件中,可获得客户端地址,访问者标识,访问者的验证名字,请求时间,请求类型,状态码以及发送给客户端的字节数)
把用户名写成"phpinfo",ssh的登录日志就会把此次的登录行为记录到日志中
session:存在服务端,一般用于跟踪会话
PHP伪协议(封装协议/内置协议)_吃_早餐的博客-CSDN博客_php封装协议
打开题目得到:
- <?php
- highlight_file(__FILE__);
- include("./check.php");
- if(isset($_GET['filename'])){
- $filename = $_GET['filename'];
- include($filename);
- }
- ?>
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。