登录了上述Crowd数据库之后,我就在想能不能把这个登录密码进行修改,换成我们自己的呢?我觉得应该是可行的,因为Atlassian在官方文档里有密码替换更改的说明,在如下介绍中,我们可以用哈希过的字符串去替换管理员原来的密码。
由于这是一个漏洞测试项目,因为没有密码修改授权,所以我们不能擅自进行这种密码替换更改。但如果在真实的攻击场景下,攻击者完全可以实现这种操作,对系统造成影响。那如果不能修改替换密码,我们可以选择创建一个新账户的方法来测试。经过查找发现,只要知道管理员账号密码,就可以通过REST请求方式来创建Atlassian Crowd的新账户:
上述操作的请求格式如下:
curl -i -X POST?username=your_new_user_here-H 'Content-type: application/json' -H 'Accept: application/json' -u crowd_administrator_username_here:crowd_administrator_password_here -d'
> {
> "email": "your@email_here.tld",
> "name": "your_new_user_here",
> "password": {
> "value": "your_new_user_password_here"
> }
> }
> '
your_new_user_here = 将要创建的账户名
crowd_administrator_username_here = Crowd的管理员名称
crowd_administrator_password_here = Crowd的管理员密码
your@email_here.tld = 将要创建账户的绑定邮箱
your_new_user_password_here =将要创建账户的密码
之后,进行账户激活,我们就可成功创建一个新的Crowd账户:
然后进行登录:
经验总结
1、前期的信息收集(Recon)至关重要,通过其我们可以了解目标应用的API工作机制和开发环境等因素。在此借用大牛@Mongobug和@NahamSec对Recon的原话:
“前期信息收集(Recon)不仅可以发现目标系统的资产环境和过期版本信息,还可以掌握相关的应用架构,并获取到一些很难探测到的功能特性。因此,成功的测试需要在前期信息收集和实际渗透过程中保持一种平衡。”
2、不要丢掉任何你搜集到的数据和信息,说不定在之后的测试中可以发挥作用。该次测试中,我就是综合利用了前期收集的有用线索,最终成功在后续阶段实现了突破验证了RCE漏洞,收获了$9,000的奖励;