在偶尔进行渗透的过程中,对目标资产下存在的系统进行观察的时候,发现了两处逻辑漏洞,然后根据系统底部的版权信息利用搜索引擎一检索,两处通用漏洞就到手了,这里进行简单的一个记录。
该漏洞需要普通用户身份登录平台,登录平台后可以以普通用户的权限重置所有用户(包括管理员)的密码。
登录框的话没有验证码和登陆次数限制可以直接使用burp爆破,得到弱口令账户如下:
用户名:hy
密码:123456
登录成功,当前用户为普通用户(区别于普通管理员、超级管理员),访问修改密码功能:
发现浏览器上的链接变成了http://xxxx/xxx/xxxx.action?xxxUser.id=3
尝试修改xxx.User.id参数的值
http://xxxx/xxx/xxxx.action?xxxUser.id=1
http://xxxx/xxx/xxxx.action?xxxUser.id=2
发现可以越权更改其他用户的信息,包括密码等。这里可以修改超级管理员admin用户的密码,并且不需要原密码验证。
成功登录。
找回密码功能存在任意密码重置漏洞,可以通过密码找回流程绕过来重置任意用户的密码。先前没注意认为只是事件型的,仔细检索查找后发现很多大学都用这个网课平台。
访问https://xxxx/index.php?xx=member&xxx=login&xxxx=find,
来到找回密码页面,输入用户名或者手机号码以及验证码,如果用户名\手机号码存在,就会返回,
然后会自动跳转到安全验证界面,这时候需要输入手机号码进行验证码验证才可以进入下一步重置密码,
这时候发现URL链接为:
https://xxxx/index.php?xx=member&xxx=login&xxxx=find&step=2
猜想step参数的值可能对应找回密码页面,于是将值更改为3,
https://xxxx/index.php?xx=member&xxx=login&xxxx=find&step=2
就可以跳过手机验证码验证,直接进入重置密码界面,输入想要重置的密码点击完成,就可以实现密码找回流程绕过。
这时候使用重置的密码登录,可以成功登录。
要记住漏洞挖掘原则:
不放过所有变量、所有头,并将无关变量逐个删除。
本文作者:教主assassin
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/126657.html