Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 34384|Resposta: 8

[estalado] Tutorial gráfico para decifrar manualmente a senha de fundo do site

[Copiar link]
Publicado em 04/06/2015 18:47:12 | | |
Ontem, recebi a versão asp.net do código-fonte da plataforma pública WeChat enviada por um amigo.

Hoje quero abri-lo e dar uma olhada no que tem nele, primeiro anexar o banco de dados ao SQL Server 2008,


Depois, abra o projeto e execute crtl+F5 para rodar o projeto web, como mostrado na figura a seguir:




Então, imediatamente verifiquei a tabela de administrador dt_manager do banco de dados e descobri que a conta de administrador era de administrador, mas eu não sabia qual senha estava criptografada, afinal, eu era iniciante


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 Não te diz NULL 0


Primeiro, coloque no site do md5 para descriptografar





Mu Você encontrou, tentou algumas senhas comuns, como 123456, admin, 123, admin888, etc., mas ainda assim não conseguiu fazer login


Infelizmente, vou verificar asp.net código-fonte e descobrir que ele está criptografado da seguinte forma:


  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.         }
Copiar código


De modo geral, primeiro julga-se que há um valor de sal do usuário na tabela de usuários e, se houver, a senha inserida pelo usuário e o valor de sal obtido do banco de dados são usados


DESEncrypt criptografado (eu também não sei.)O que é o DESEncrypt?Depois, coloque a senha criptografada e o usuário no dal. Método GetMode,


Para julgar novamente, há uma instrução select no método, e o código é o seguinte:


  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.         }
Copiar código


Não sei como descriptografar isso, então vou substituir a senha criptografada do banco de dados! Chocalho


C# define um ponto de quebra no lugar da senha, como mostrado na figura a seguir:




Gack, o texto cifrado após obter 123456 criptografia é EB51565598856A17, e decididamente vá ao banco de dados para substituí-lo pela instrução update




Login bem-sucedido!




Anterior:Solução para erro SQL Server 2008 5120 no banco de dados anexado
Próximo:Falhou em copiar "obj\x86\Debug\" para "bin\Debug\". Após 1000 milissegundos, a primeira tentativa começa.
 Senhorio| Publicado em 04/06/2015 18:55:35 |


Captura de tela completa do fundo
Publicado em 04/06/2015 19:10:15 |
Um pouco complicado, incompreensível, aprendizado e aprendizado
Publicado em 04/06/2015 19:48:25 |
Jining Lao Dao Postado em 2015-6-4 19:10
Um pouco complicado, incompreensível, aprendizado e aprendizado

Irmão Dao, esta é a plataforma de marketing público WeChat, que pode construir estações WeChat em lotes!!
Publicado em 05/06/2015 00:14:39 |
Publicado em 29/07/2018 16:42:44 |
Rápido:Autores são banidos ou o conteúdo removido é automaticamente bloqueado
Publicado em 16/09/2018 12:05:10 |
Rápido:Autores são banidos ou o conteúdo removido é automaticamente bloqueado
Publicado em 27/07/2019 15:22:15 |
Agora não sei mais, esqueci tudo e não consigo entender
Publicado em 09/06/2022 18:40:15 |
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com