2014-05-27 12:19:20

JavaFilter Filter“绕过”问题

一般人喜欢用:
request.getRequestURI();
然后再判断这个URI是否合法,其实这个写法存在弊端。很简单当请求/upload/index.jsp,由于默认的web.xml默认一般指定了index.jsp为索引文件。所以访问/upload/一样可以访问到这个jsp。只有可以绕过通过Filter拦截upload目录下的所有.jsp访问。上传shell的时候可以试试把文件名改成:index.jsp 正确的写法应该是:
request.getServletPath()

getServletPath()获取到的路径会是一个完整的Servlet路径,所以自然就无法绕过了。

发表回复