AD

dirList0.3.0_bypass_FileUpload&CommandExecution

   dirlist是一个PHP接口文件,可以很友好直观的显示指定HTTP/FTP目录下文件。并且支持基于WEB的MP3播放器和文件管理。
  dirlist会对用户上传的文件进行预处理,可以在config.php文件中配置黑名单,禁止用户上传那些类型的文件。例如:
  $banned_file_types = array('.php', '.php3', '.php4', '.php5', '.htaccess', '.htpasswd', '.asp', '.aspx');
  用户上传文件是,会调用process_upload.php文件,对文件类型进行判断,如果为禁止上传的文件,则会返回以base64编码的upload_banned(dXBsb2FkX2Jhbm5lZA== )。
  该处存在一个漏洞,以为apache的手册中明确支持,一个文件可以拥有多个后缀。当一个文件的最后一个后缀不在MIME列表时,则会尝试以前一个后缀进行解析执行。一个test.php.1的文件,也可以被php解释器执行。

  POC:
  创建一个PHP文件,文件名称为"test.php.:" ,文件内容如下:
 

  通过dirlist即可上传成功,上传后访问该文件,即可获取到passwd文件信息。

评论

此博客中的热门博文

简单粗暴导出小米便签

我——终于一个人了

多种方法绕过POWERSHELL的执行策略