이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 34384|회답: 8

[딱 소리] 웹사이트 백그라운드 비밀번호를 수동으로 해독하는 그래픽 튜토리얼

[링크 복사]
게시됨 2015. 6. 4. 오후 6:47:12 | | |
어제 친구가 보내준 위챗 공개 플랫폼 소스 코드 asp.net 버전을 받았습니다.

오늘은 열어보고 내용이 무엇인지 살펴보고, 먼저 데이터베이스를 SQL Server 2008에 연결해 보겠습니다.


그 다음 프로젝트를 열고 crtl+F5를 실행해 웹 프로젝트를 실행하세요. 다음 그림에 나와 있습니다:




그래서 바로 데이터베이스 dt_manager 관리자 테이블을 확인했더니 관리자 계정은 관리자였지만, 비밀번호가 무엇인지 몰랐습니다. 어쨌든 저는 초보자였으니까요


1 1 1 관리자 77F992940A0EFD8025F5571B133BA6D5 28LH48 슈퍼 관리자 13800138000       123@qq.com        0 2013-12-04 01:53:36.000 1000000 0 888 12 186 NULL 0을 알려주지 않음


먼저 md5 웹사이트에 넣어 복호화하세요





무 유가 찾았고, 123456, admin, 123, admin888 등 자주 쓰는 비밀번호 몇 개를 시도해봤지만 여전히 로그인이 안 됐어요


아쉽게도 소스 코드를 확인해보 asp.net 보니 다음과 같이 암호화되어 있었습니다:


  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.         }
코드 복사


일반적으로 사용자 테이블에 사용자의 솔트 값이 있는지 먼저 판단하며, 있다면 사용자가 입력한 비밀번호와 데이터베이스에서 얻은 솔트 값을 사용합니다


DESEncrypt 암호화 완료, (저도 잘 모르겠습니다.)DESEncrypt란 무엇인가요?그다음 암호화된 비밀번호와 사용자를 DAL에 넣습니다. GetMode 메서드,


다시 판단하자면, 메서드에는 select라는 문이 있고, 코드는 다음과 같습니다:


  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.         }
코드 복사


이거 복호화 방법을 몰라서 데이터베이스에서 암호화된 비밀번호를 교체할게요! 덜컹거림


C#은 비밀번호 위치에 브레이크포인트를 설정하며, 다음 그림에서 볼 수 있습니다:




암호문이 EB51565598856A17 123456 된 후 단호하게 데이터베이스로 가서 업데이트 문으로 교체합니다




로그인 성공!




이전의:SQL Server 2008 5120 첨부 데이터베이스 오류 해결책
다음:"obj\x86\Debug\"를 "bin\Debug\"로 복사하는 데 실패했습니다. 1000밀리초 후, 첫 번째 재시도가 시작됩니다.
 집주인| 게시됨 2015. 6. 4. 오후 6:55:35 |


배경 전체 스크린샷
게시됨 2015. 6. 4. 오후 7:10:15 |
조금 까다롭고 이해하기 어려운 배우기, 배우고 배우는 것
게시됨 2015. 6. 4. 오후 7:48:25 |
지닝 라오다오, 2015-6-4 19:10에 게시됨
조금 까다롭고 이해하기 어려운 배우기, 배우고 배우는 것

다오 형, 이건 위챗 공개 마케팅 플랫폼이야, 위챗 스테이션을 묶음으로 구축할 수 있어!!
게시됨 2015. 6. 5. 오전 12:14:39 |
게시됨 2018. 7. 29. 오후 4:42:44 |
프롬프트:작가가 차단되거나 삭제되면 콘텐츠가 자동으로 차단됩니다
게시됨 2018. 9. 16. 오후 12:05:10 |
프롬프트:작가가 차단되거나 삭제되면 콘텐츠가 자동으로 차단됩니다
게시됨 2019. 7. 27. 오후 3:22:15 |
이제는 모르겠어요, 모든 걸 잊어버렸고, 이해할 수가 없어요
게시됨 2022. 6. 9. 오후 6:40:15 |
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com