QwxCMS密码加密方式

今天看到个一个注入,注入出来的管理密码是48位的,类似下面的形式:

4E1BF2ADFCA32B22FA7DFD1E3E
0AA2FDBD13C41028873696E1E9
2CB2BE30998BEBB2D4FB04A2EE

网上貌似没有相关介绍文章,不过根据表名Qwx_Admin和后台相关特征应该就是青乌序CMS。

下载一下打开QwxCMS_v1.0.9.719.rar\QwxCMS_V109719\upload\Install\setup1.sql查看数据库相关表结构和AdminPass的字段长度确认应该是同一套程序,可能稍微有一点不同,不过这跟本文没关。

使用.NET Reflector尝试反编译程序带的dll文件找到关键代码:

应该是二次md5之后插入了一些混淆字符串,写了个python脚本还原密文:

#-*- coding:UTF-8 -*-
import sys

def qwxcms_pass_demd5(passwd):
    char_index = [2, 4, 6, 9, 13, 16, 18, 20, 1, 7, 15, 21, 23, 25, 27, 29]
    pass_char_list = list(passwd)

    for i in char_index:
        pass_char_list[i] = ' '

    return ''.join(pass_char_list).replace(' ', '')


def main():
    print qwxcms_pass_demd5(sys.argv[1].strip())

if __name__ == "__main__":
    main()

运行的截图:

最后能否解密就得看运气了。

转载请注明: 本文《QwxCMS密码加密方式》来源于bstaint的博客

没有评论: