今天看到个一个注入,注入出来的管理密码是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的博客
没有评论:
发表评论