摘要: 第十关,是. .绕过 具体原因是这一行代码: 上传一个shell.php. . (点 空格 点) img_path = UPLOAD_PATH.'/'.$file_name; 再上传shell.php. .会发生三个过程 1、根据函数,文件最后一个"." 被删除 2、根据函数,文件的空格会被删除 3 阅读全文
posted @ 2022-01-06 16:29 我就去睡觉 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 查看源码 $file_name = str_ireplace($deny_ext,"", $file_name); 上面代码的意思是:对传入文件的后缀名进行黑名单检查,如果后缀名匹配了黑名单后缀名,那么就转换问空格 绕过思路 上传的时候会检测大小写, 并且通过黑名单检测,删除文件名前后的空格以及 . 阅读全文
posted @ 2022-01-06 15:58 我就去睡觉 阅读(317) 评论(0) 推荐(0) 编辑
摘要: Windows特性(::$DATA) 在window的时候如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名,(也就是说,会自动过滤掉文件的后缀名) 且保持::$DATA之前的文件名,他的目的就是不检查后缀名 例如: "shell.php::$DATA", Wi 阅读全文
posted @ 2022-01-06 14:41 我就去睡觉 阅读(625) 评论(0) 推荐(0) 编辑