Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 34384|Svar: 8

[knäckt] Grafisk handledning för att manuellt knäcka webbplatsens bakgrundslösenord

[Kopiera länk]
Publicerad på 2015-06-04 18:47:12 | | |
Igår fick jag den asp.net versionen av WeChats offentliga plattformskällkod som skickades till mig av en vän.

Idag vill jag öppna den och titta på vad som finns i den, först koppla databasen till SQL Server 2008,


Öppna sedan projektet och kör crtl+F5 för att köra webbprojektet, som visas i följande figur:




Så jag kollade genast administratörstabellen dt_manager i databasen och upptäckte att administratörskontot var admin, men jag visste inte vilket lösenord som var krypterat, jag var ju nybörjare


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 Säger inte NULL 0


Först kastar du in den på md5:s webbplats för att dekryptera den





Mu You hittade det, testade några vanliga lösenord, som 123456, admin, 123, admin888, etc., men kunde ändå inte logga in


Ack, jag ska kolla asp.net källkoden och upptäcka att den är krypterad enligt följande:


  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.         }
Kopiera koden


Generellt sett bedöms först att det finns ett saltvärde för användaren i användartabellen, och om det finns det används lösenordet som användaren anger och saltvärdet från databasen


DESEncrypt krypterat, (jag vet inte heller.)Vad är DESEncrypt?Släng sedan in det krypterade lösenordet och användaren i dalen. GetMode-metoden,


För att bedöma igen finns det en select-sats i metoden, och koden är följande:


  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.         }
Kopiera koden


Jag vet inte hur man dekrypterar den här saken, så jag byter ut det krypterade lösenordet från databasen! Rattle


C# sätter en brytpunkt på lösenordsplatsen, som visas i följande figur:




Gack, chiffertexten efter att ha fått 123456 kryptering är EB51565598856A17, och gå beslutsamt till databasen för att ersätta den med update-satsen




Inloggning lyckades!




Föregående:Lösning för SQL Server 2008 5120-fel i bilagdatabasen
Nästa:Misslyckades med att kopiera "obj\x86\Debug\" till "bin\Debug\". Efter 1000 millisekunder börjar det första försöket.
 Hyresvärd| Publicerad på 2015-06-04 18:55:35 |


Fullständig skärmdump av bakgrunden
Publicerad på 2015-06-04 19:10:15 |
Lite knepigt, obegripligt, lärande och lärande
Publicerad på 2015-06-04 19:48:25 |
Jining Lao Dao Publicerad den 2015-6-4 19:10
Lite knepigt, obegripligt, lärande och lärande

Bror Dao, det här är WeChats offentliga marknadsföringsplattform som kan bygga WeChat-stationer i omgångar!!
Publicerad på 2015-06-05 00:14:39 |
Publicerad på 2018-07-29 16:42:44 |
Snabb:Författare är bannlysta eller borttaget innehåll blockeras automatiskt
Publicerad på 2018-09-16 12:05:10 |
Snabb:Författare är bannlysta eller borttaget innehåll blockeras automatiskt
Publicerad på 2019-07-27 15:22:15 |
Nu vet jag inte längre, jag har glömt allt, och jag kan inte förstå det
Publicerad på 2022-06-09 18:40:15 |
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com