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

admin 2024年6月11日11:11:36评论12 views字数 1398阅读4分39秒阅读模式

文章作者:先知社区(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

原文始发于微信公众号(黑白之道):记某菠菜管理后台登录测试思路

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月11日11:11:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记某菠菜管理后台登录测试思路https://cn-sec.com/archives/2836753.html

发表评论

匿名网友 填写信息