姿势
后端逻辑代码:
代码审计如下:
这段代码是用于处理上传文件的文件名和文件扩展名。
- $file_name = trim($_FILES['upload_file']['name']);:从上传的文件中获取文件名,并使用trim函数去除首尾可能存在的空格。
- $file_name = deldot($file_name);:调用deldot函数,将文件名末尾的点(.)删除。
- $file_ext = strrchr($file_name, '.');:使用strrchr函数获取文件名中最后一个点(.)及其后面的部分,即文件的扩展名。
- $file_ext = strtolower($file_ext);:使用strtolower函数将文件扩展名转换为小写。
- $file_ext = str_ireplace('::$DATA', '', $file_ext);:使用str_ireplace函数将文件扩展名中的字符串"::$DATA"替换为空,即去除该字符串。
- $file_ext = trim($file_ext);:使用trim函数去除文件扩展名字符串首尾可能存在的空格。
故上传的文件后缀名为.php. .
时,即可绕过限制。
抓包修改后缀名:
放包、打开图片链接:
连接蚁剑:
总结
以上为[网络安全]upload-labs Pass-10 解题详析,后续将分享[网络安全]xss-labs Pass-11 解题详析。
我是秋说,我们下次见。