Pass-09(::$DATA绕过)

Windows特性(::$DATA)

在window的时候如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名,(也就是说,会自动过滤掉文件的后缀名)

且保持::$DATA之前的文件名,他的目的就是不检查后缀名

例如:

  "shell.php::$DATA",      Windows会自动去掉末尾的::$DATA变成"shell.php"

源码展示

可以看出,没有添加对"::$DATA"的过滤

正确应该添加:

$file_ext = str_ireplace('::$DATA', '', $file_ext);   //去除字符串::$DATA

 

 

绕过演示

1、上传一个shell.php文件,

2、利用Burp抓包

3、再进行修改文件后缀名。

 

上传文件

 

 2.Burp抓包

 

 修改后:

 

 放包查询

 

 蚁剑连接,查询,即可成功!

posted @ 2022-01-06 14:41  我就去睡觉  阅读(624)  评论(0编辑  收藏  举报