day13PHP开发-个人博客项目&文件操作类&编辑器&上传下载删除读写

前言

#文件上传类:-任意文件上传

1、代码自主写

2、编辑器引用

#文件下载类:-任意文件下载

1、直连URL访问

2、传参头部修改

#文件删除类-任意文件删除

1、文件删除

2、文件夹删除

#文件内容操作类-任意文件读取&写入

1、文件读取

2、文件写入

#文件包含-任意文件包含

1、本地文件包含

2、远程文件包含

#Web漏洞核心:

1、可控变量

2、特定函数-函数的多样化

文件上传类:-任意文件上传

1、代码自主写

day13PHP开发-个人博客项目&文件操作类&编辑器&上传下载删除读写_第1张图片

$_FILES是PHP的全局数组

  • $_FILES["file"]["name"] - 上传文件的名称
  • $_FILES["file"]["type"] - 上传文件的类型
  • $_FILES["file"]["size"] - 上传文件的大小,以字节计
  • $_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
  • $_FILES["file"]["error"] - 由文件上传导致的错误代码

"file"=上传文件的name

move_uploaded_file(文件临时名,文件路径.文件名)//在php中一般用.来连接。

2、编辑器引用

day13PHP开发-个人博客项目&文件操作类&编辑器&上传下载删除读写_第2张图片

编辑器是类似于第三方的软件。直接调用别人的插件,这样编辑器就会和代码的逻辑完全不同,假如编辑器存在漏洞,那么代码怎么写都没用。因为他的逻辑是编辑器的那一套。

1、自写代码验证上传 //验证核心在代码里

2、引用外部编辑器实现 //验证核心在编辑器

3、引用开发框架实现 //验证核心在框架

文件下载类:-任意文件下载

1、直连URL访问

day13PHP开发-个人博客项目&文件操作类&编辑器&上传下载删除读写_第3张图片

直连下载有个特点,他是去访问那个文件,即如果是zip这一类的文件,则回去下载,如果是php,txt等这一类文件,他只会去执行,不会去下载。(所以需要提前知道那个文件的名字)

day13PHP开发-个人博客项目&文件操作类&编辑器&上传下载删除读写_第4张图片

2、传参头部修改

day13PHP开发-个人博客项目&文件操作类&编辑器&上传下载删除读写_第5张图片

传参下载,类似于他会去修改请求的数据包,类似与burpsuite。这样就会造成结果不可控,即php等源码文件可能会被请求直接下载。

(传参下载,源码可能会被猜解出来。导致源码泄露).

文件删除类-任意文件删除

1、文件删除

day13PHP开发-个人博客项目&文件操作类&编辑器&上传下载删除读写_第6张图片

unlink()函数是删除文件的意思。

2、文件夹删除

day13PHP开发-个人博客项目&文件操作类&编辑器&上传下载删除读写_第7张图片

rmdir();删除文件夹的意思。

不管是文件和文件夹删除,都可能会导致源码被删除,导致网站崩溃。

#文件内容操作类-任意文件读取&写入

1、文件读取

function fileread($name){
$f=@fopen($name,"r");//fopen函数用来打开一个文件或者url,mode的r代表"只读"
$code=@fread($f,filesize($name));//fread(读取的文件,读取到哪个位置)函数代表读取打开的文件,filesize代表返回文件的最大字节,
echo $code;
@fclose($f);//关闭打开的文件

2、文件写入

function filewrite($name,$txt){
$f=fopen($name,"a+");//以读写方式打开文件
fwrite($f,$txt);//fwrite(写入的文件名,写入的内容)
fclose($f);

day13PHP开发-个人博客项目&文件操作类&编辑器&上传下载删除读写_第8张图片

文件读取和文件写入都存在一个任意文件读写以及后门植入的风险。

#文件包含-任意文件包含

1、本地文件包含

2、远程文件包含

总结:Web漏洞核心:

1、可控变量

2、特定函数-函数的多样化

你可能感兴趣的:(小迪网安笔记,网络安全)