admin管理员组

文章数量:1029905

泛微E9路径browser.jsp存在权限绕过导致SQL注入漏洞

一、漏洞描述

这是一个组合漏洞,权限绕过 + 后台sql注入漏洞。

二、漏洞分析

2.1 登录绕过分析

从互联网得知,漏洞路径为/mobile/plugin/browser.jsp。访问这个路径,无法访问

那么就需要分析哪里拦截了这个请求,或者说哪里进行了权限验证。这种验证通常需要登录,或者有一定的权限。不了解项目架构的时候,我们就通过关键字搜索来找到对应的信息。全局搜索您所请求的资源禁止访问关键字,在一个403.htm文件中,接着搜这个文件

casweb.xml配置文件中,定义了该报错页面

但是并没有找到/mobile路径相关的验证代码。根据以往经验,该应用修复漏洞都是添加安全规则,在classbean/weaver/security/rules/ruleImp/SecurityRuleMobile29.class中找到跟Mobile有关的安全规则。有以下几个验证,是否登录、不用登录、必须登录。

根据以上条件,想要访问后台功能,可以是登录检查返回truemobile-no-login-urls规则返回包含该URL

mobile-need-login-urls规则不包含该URL。

经过翻找规则文件,找到这么一个文件SecurityRuleNeedLogin.class从名字看,是验证不许登录的规则。

不包含../\\会进入if逻辑,才可以返回true。这里少了个空格的验证,那么我们就可以利用空格来绕过必须登录的验证。

2.2 SQL注入分析

接下来就可以进入这个文件了,SQL注入在keyword中,从http请求获取值,进行一次url解密

把值初始化给了BrowserAction

经过一系列参数值的初始化后,最终调用braction.getBrowserData()方法获取结果,返回给HTTP的响应

这个方法会根据browserTypeId的值调用对应的方法

这些方法都存在SQL注入漏洞

虽然都可以用,但是存在注入的函数只有listRemindType会返回所有结果

漏洞复现

传入payload: a' union select 1,''+(SELECT @@VERSION)+'

返回数据库版本的报错信息

三、总结

java web应用登录绕过,其中一类都是通过一些列自定义的规则验证请求的URL,然后配合APACHE的一些特性,绕过原有的规则限制,达到认证绕过的目的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-04-16,如有侵权请联系 cloudcommunity@tencent 删除权限jspsqlbrowser漏洞

泛微E9路径browser.jsp存在权限绕过导致SQL注入漏洞

一、漏洞描述

这是一个组合漏洞,权限绕过 + 后台sql注入漏洞。

二、漏洞分析

2.1 登录绕过分析

从互联网得知,漏洞路径为/mobile/plugin/browser.jsp。访问这个路径,无法访问

那么就需要分析哪里拦截了这个请求,或者说哪里进行了权限验证。这种验证通常需要登录,或者有一定的权限。不了解项目架构的时候,我们就通过关键字搜索来找到对应的信息。全局搜索您所请求的资源禁止访问关键字,在一个403.htm文件中,接着搜这个文件

casweb.xml配置文件中,定义了该报错页面

但是并没有找到/mobile路径相关的验证代码。根据以往经验,该应用修复漏洞都是添加安全规则,在classbean/weaver/security/rules/ruleImp/SecurityRuleMobile29.class中找到跟Mobile有关的安全规则。有以下几个验证,是否登录、不用登录、必须登录。

根据以上条件,想要访问后台功能,可以是登录检查返回truemobile-no-login-urls规则返回包含该URL

mobile-need-login-urls规则不包含该URL。

经过翻找规则文件,找到这么一个文件SecurityRuleNeedLogin.class从名字看,是验证不许登录的规则。

不包含../\\会进入if逻辑,才可以返回true。这里少了个空格的验证,那么我们就可以利用空格来绕过必须登录的验证。

2.2 SQL注入分析

接下来就可以进入这个文件了,SQL注入在keyword中,从http请求获取值,进行一次url解密

把值初始化给了BrowserAction

经过一系列参数值的初始化后,最终调用braction.getBrowserData()方法获取结果,返回给HTTP的响应

这个方法会根据browserTypeId的值调用对应的方法

这些方法都存在SQL注入漏洞

虽然都可以用,但是存在注入的函数只有listRemindType会返回所有结果

漏洞复现

传入payload: a' union select 1,''+(SELECT @@VERSION)+'

返回数据库版本的报错信息

三、总结

java web应用登录绕过,其中一类都是通过一些列自定义的规则验证请求的URL,然后配合APACHE的一些特性,绕过原有的规则限制,达到认证绕过的目的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-04-16,如有侵权请联系 cloudcommunity@tencent 删除权限jspsqlbrowser漏洞

本文标签: 泛微E9路径browserjsp存在权限绕过导致SQL注入漏洞