0x00 前言
今天看到一位师傅在公众号发了一个新的文章是关于华天动力OA的登录绕过漏洞,今天我也来分析一下。
0x01 漏洞分析
涉及到的xml内容:
<servlet>
<description>app entrance service</description>
<display-name>HtEntranceService</display-name>
<servlet-name>HtEntranceService</servlet-name>
<servlet-class>com.oa8000.appservice.htentrance.HtEntranceService</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HtEntranceService</servlet-name>
<url-pattern>/HtEntranceService.do</url-pattern>
</servlet-mapping>
可以看到接口为HtEntranceService接口,跟入相关class文件,查看代码内容。
在其中的dopost方法当中接收一个用户传入的参数为code参数,并且给到了变量userShowId变量。
最终传递到了login方法当中,第一个参数书当中,跟入相关方法。
进行判断是否为空,不为空传递到了login方法,我们继续跟入方法查看代码。
可以发现其实我们只要传入正确的值即可成功返回,我们继续查看相关的方法。
查看上述此方法,可以发现这个方法根据名称可以知道是创建token的意思
可以看到代码根据userShowId以及Useragent和ip来获取到token,跟入geitUserToken代码查看。
可以看到使用相关base64编码进行生成。
0x02 漏洞复现
可以看到页面上返回了一串jwt字符但是意思目标并没有这个admin账户,对其JWT解密的时候发现无法解密,因此我们只需要传入正确存在的账户名即可进行拿到对应的jwt认证。
这里不进行漏洞攻击师傅们可以自行研究。
原文始发于微信公众号(进击安全):华天动力OA登录绕过漏洞分析
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论