Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
publiccms_decrypt — publiccms_decrypt | Kitploit
Инструменты/GitHubGitHub/jas502n/publiccms_decrypt
Password CrackingEncryption/Decryption ToolsVulnerability AnalysisExploitationWeb SecurityCryptography
GitHubjas502n/publiccms_decrypt

publiccms_decrypt

publiccms_decrypt

Репозиторий
415 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

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());
    } 
  }

Ключ шифрования по умолчанию

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

Расположение файлов конфигурации базы данных

./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==

java DESede

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

Краткое описание алгоритма тройного DES (DESede):

root@kitploit:~
DESede — это симметричный алгоритм шифрования, являющийся усовершенствованным вариантом симметричного алгоритма шифрования DES. Это механизм, который трижды шифрует данные с использованием 168-битного ключа; он обычно (но не всегда) обеспечивает чрезвычайно высокую надёжность. Если все три 56-битных подключа одинаковы, то тройной DES обратно совместим с DES. С учётом проблем DES — короткой длины ключа и слишком малого числа раундов — алгоритм был соответствующим образом доработан, что повысило его криптостойкость. Однако низкая скорость обработки, длительное время вычисления ключа и невысокая эффективность шифрования делают перспективы развития симметричных алгоритмов шифрования не слишком оптимистичными.

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);

    }
}

Вывод Java-консоли

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

Дешифрование DESede с помощью Python

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

Ключ по умолчанию — publiccms; после SHA-1-хеширования получается 2435e960d9be985705455019cfd3bc84c39344db

Затем берутся первые 24 символа — "2435e960d9be985705455019cfd3bc84c39344db"[0:24]

Соответствующий скрипт Python:

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))

Демо дешифрования на Python

root@kitploit:~
python3 publicms_decrypt.py

[+] EncryptData= 9xgiKaPSBm9y76PsUC+0Ig==
[+] Key= 2435e960d9be985705455019
[+] PlainText= p@ssw0rd
Скачать инструмент