免责声明
本文档所述漏洞详情及复现方法仅限用于合法授权的安全研究和学术教育用途。任何个人或组织不得利用本文内容从事未经许可的渗透测试、网络攻击或其他违法行为。使用者应确保其行为符合相关法律法规,并取得目标系统的明确授权。
对于因不当使用本文信息而造成的任何直接或间接后果,作者概不负责。若您发现本文内容涉及侵权或不当信息,请及时联系我们,我们将立即核实并采取必要措施。
源代码如下
获取参数op,保存在var4中,然后按照|分割var4,保存在var7中
随后判断数组中是否包含verify,随后获取username和password参数,调用Authenticator.verify(var11, var12)去认证
该方法verify就是进行登录认证的
如果执行方法出错,则进入catch分支,获取参数errorpage,如果存在,则调用var1.getRequestDispatcher(var11).forward(var1, var2);重定向到errorpage定义的界面,否则跳转到/WEB-INF/jsps/error.jsp界面
所以想要实现任意文件读取,只需使该接口执行报错,就会跳转到可控参数errorpage定位的界面。
测试执行