简介
在第6关,我们将面对一个黑名单验证机制,服务器通过检测文件扩展名来拒绝上传特定类型的文件(例如 .php
文件)。但由于验证逻辑不完善,可以利用大小写绕过等技巧进行绕过。如下是第六关的关键源码:
$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {
if (file_exists(UPLOAD_PATH)) {
$deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3"