美文网首页
文件上传upload

文件上传upload

作者: 留白_bb77 | 来源:发表于2019-04-15 21:10 被阅读0次

f12在前端js判断函数中加上可以上传php文件   

在本地写一个一句话木马后文件名改为jpg之类的,直接上传,抓包将文件名后最改为.php脚本后缀

$_FILES["file"]["name"] – 被上传文件的名称

$_FILES["file"]["type"] – 被上传文件的类型

$_FILES["file"]["size"] – 被上传文件的大小,以字节计

$_FILES["file"]["tmp_name"] – 存储在服务器的文件的临时副本的名称

$_FILES["file"]["error"] – 由文件上传导致的错误代码

move_uploaded_file(file,newloc) 函数将上传的文件移动到新位置。

参数  描述

file    必需。规定要移动的文件。

newloc  必需。规定文件的新位置。

如果 file 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 false。

如果 file 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 false,此外还会发出一条警告。

文件名后缀大小写混合绕过。.php改成.phP然后上传即可。感觉和XSS的一些过滤绕过非常相似。

删除一次php的,双写文件名绕过,文件名改成xx.pphphp

利用Windows系统的文件名特性,比如文件名最后增加点和空格,写成.php.,上传后保存在Windows系统上的文件名最后的一个.会被去掉,实际上保存的文件名就是.php

上传.php::$DATA绕过。如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名.且保持"::$DATA"之前的文件名。

上传路径名%00截断绕过,上传的文件名写成xx.jpg, save_path改成../upload/xx.php%00,最后保存下来的文件就是11.php;或抓包修改hex值为00进行截断。

文件头检查,添加GIF图片的文件头GIF89a,绕过GIF图片检查。

图片马的制作

copynormal.jpg /b + shell.php /a webshell.jpg

先上传一个.htaccess内容如下的文件:

<FilesMatch ".jpg">

SetHandler application/x-httpd-php

</FilesMatch>

这样所有文件都会解析为php,然后再上传图片马,就可以解析

条件竞争。可以正常上传php文件,抓包后放入intruder模块中选择发送多次,然后在浏览器中访问,若程序对文件名改名,直接访问原文件名

相关文章

网友评论

      本文标题:文件上传upload

      本文链接:https://www.haomeiwen.com/subject/ssvpwqtx.html