Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 34384|Risposta: 8

[scricchiolato] Tutorial grafico per decifrare manualmente la password di background del sito web

[Copiato link]
Pubblicato su 04/06/2015 18:47:12 | | |
Ieri ho ricevuto la versione asp.net del codice sorgente della piattaforma pubblica WeChat inviata da un amico.

Oggi voglio aprirlo e dare un'occhiata a cosa c'è dentro, prima collegare il database a SQL Server 2008,


Poi apri il progetto ed esegui crtl+F5 per eseguire il progetto web, come mostrato nella figura seguente:




Così, ho controllato immediatamente la tabella amministratore dt_manager del database e ho scoperto che l'account amministratore era quello amministratore, ma non sapevo quale fosse la password criptata, dopotutto, ero un principiante


1 1 1 admin 77F992940A0EFD8025F5571B133BA6D5 28LH48 Super admin 13800138000       123@qq.com        0 2013-12-04 01:53:36.000 1000000 0 888 12 186 Non ti dice NULL 0


Prima lo inserisci nel sito md5 per decifrarlo





Mu L'hai trovato, hai provato alcune password comunemente usate, come 123456, admin, 123, admin888, ecc., ma comunque non riuscivi ad accedere


Purtroppo, controllo asp.net codice sorgente e scoprirò che è criptato come segue:


  1. public Model.manager GetModel(string user_name, string password, bool is_encrypt)
  2.         {
  3.             //检查一下是否需要加密
  4.             if (is_encrypt)
  5.             {
  6.                 //先取得该用户的随机密钥
  7.                 string salt = dal.GetSalt(user_name);
  8.                 if (string.IsNullOrEmpty(salt))
  9.                 {
  10.                     return null;
  11.                 }
  12.                 //把明文进行加密重新赋值
  13.                 password = DESEncrypt.Encrypt(password, salt);
  14.             }
  15.             return dal.GetModel(user_name, password);
  16.         }
Copia codice


In generale, si giudica innanzitutto che nella tabella utente esista un valore di sal dell'utente e, se c'è, si utilizza la password inserita dall'utente e il valore di sale ottenuto dal database


DESEncrypt criptato, (nemmeno io).Cos'è DESEncrypt?Poi, inserisci la password criptata e l'utente nel dal. Metodo GetMode,


Per giudicare di nuovo, c'è una dichiarazione select nel metodo, e il codice è il seguente:


  1. /// <summary>
  2.         /// 根据用户名密码返回一个实体
  3.         /// </summary>
  4.         public Model.manager GetModel(string user_name, string password)
  5.         {
  6.             StringBuilder strSql = new StringBuilder();

  7.             strSql.Append("select id from " + databaseprefix + "manager");
  8.             strSql.Append(" where user_name=@user_name and password=@password and is_lock=0");
  9.             SqlParameter[] parameters = {
  10.                     new SqlParameter("@user_name", SqlDbType.NVarChar,100),
  11.                     new SqlParameter("@password", SqlDbType.NVarChar,100)};
  12.             parameters[0].Value = user_name;
  13.             parameters[1].Value = password;

  14.             object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
  15.             if (obj != null)
  16.             {
  17.                 return GetModel(Convert.ToInt32(obj));
  18.             }
  19.             return null;
  20.         }
Copia codice


Non so come decriptare questa cosa, quindi sostituirò la password criptata dal database! Rattle


C# imposta un punto di interruzione nel luogo della password, come mostrato nella figura seguente:




Gack, il testo cifrato dopo aver ottenuto 123456 crittografia è EB51565598856A17, e si va decisamente al database per sostituirlo con l'istruzione update




Accesso riuscito!




Precedente:Soluzione per l'errore SQL Server 2008 5120 nel database allegato
Prossimo:Non è riuscito a copiare "obj\x86\Debug\" in "bin\Debug\". Dopo 1000 millisecondi, inizia il primo tentativo.
 Padrone di casa| Pubblicato su 04/06/2015 18:55:35 |


Screenshot completo dello sfondo
Pubblicato su 04/06/2015 19:10:15 |
Un apprendimento leggermente complicato, incomprensibile,
Pubblicato su 04/06/2015 19:48:25 |
Jining Lao Dao Pubblicato il 2015-6-4 19:10
Un apprendimento leggermente complicato, incomprensibile,

Fratello Dao, questa è la piattaforma di marketing pubblico WeChat, che può costruire stazioni WeChat in lotti!!
Pubblicato su 05/06/2015 00:14:39 |
Pubblicato su 29/07/2018 16:42:44 |
Sollecito:Gli autori vengono bannati o i contenuti rimossi vengono automaticamente bloccati
Pubblicato su 16/09/2018 12:05:10 |
Sollecito:Gli autori vengono bannati o i contenuti rimossi vengono automaticamente bloccati
Pubblicato su 27/07/2019 15:22:15 |
Ora non lo so più, ho dimenticato tutto, e non riesco a capirlo
Pubblicato su 09/06/2022 18:40:15 |
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com