记某菠菜管理后台登录测试思路

文章作者:先知社区(spider

文章来源:https://xz.aliyun.com/t/13984

1

前言

测试发现该菠菜模版系统存在未授权任意文件上传,在进行下述操作分析前已上马并获取到系统源码信息。因为后台数据展示比较直观,故想登录后台直接查看相应信息,具体过程详见下文。

2

登入后台

使用资产测绘工具发现该模版的菠菜站点登入后台共有两种情况:一种是输入账号密码验证后直接登录,还有一种是输入账号密码和google验证码验证后登录。


首先先来对不带google验证码的进行登录操作,查看源码发现数据库存储的password形式为md5(md5(password明文)@用户名),因此这个基本查不到爆破比较困难。源码信息如下所示:

自动草稿

跟入login函数

自动草稿

想到构造一个已知的的密码更新该字段,构造密码为123456的password值为dd95a7354329cf3c2586446076f4ca3d。根据前情提要翻看系统文件后得知数据库账号密码存放在/www/server/webapps/xxxxxxx/webapps/ROOT/WEB/WEB-INF/classes/spring/datasource-master.xml文件中,如下所示:

自动草稿

后台管理员密码存储该模板网站统一存储在gameplat_sc_data数据库的admin表。操作时记录下原先hash值,在用update更新,冰蝎自带的数据库管理工具不支持update、insert等操作可使用虚拟终端进入在连接数据库操作(操作前先输入set +o history history -d 1防止操作历史命令被记录)。登录数据库后运行如下更新密码命令

update gameplat_sc_data.admin set password=’dd95a7354329cf3c2586446076f4ca3d’ where account=’admin

之后即可用123456,登录后台

自动草稿

查看完后更新admin数据表为原密码hash。

update gameplat_sc_data.admin set password=”原hashwhere account=’admin

接着再来分析带google验证码的后台登录,根据源码分析得知登录代码逻辑首先会在数据库查询是否开启google验证码配置,若为1表示开启进入相应验证过程,否则不进入。

自动草稿

跟进函数boundGoogleAuth.getConfigValue(),查看是操作那张数据表

自动草稿

再到dao层,如下所示:

自动草稿

找到具体的表和字段后运行如下sql命令,无需google验证

update gameplat_sc_data.config set config_value='0' where config_key = 'is_bound_google_auth'

后续改密码和无google验证一样,登录看完之后再将google验证配置参数更新为1。

update gameplat_sc_data.config set config_value='1' where config_key = 'is_bound_google_auth'

黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!

如侵权请私聊我们删文


END

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容