この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 34384|答える: 8

[パキッ] ウェブサイトのバックグラウンドパスワードを手動で解読するためのグラフィックチュートリアル

[リンクをコピー]
掲載地 2015/06/04 18:47:12 | | |
昨日、友人から送られてきたWeChatの公開プラットフォームのソースコードの 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 0


まずmd5のウェブサイトに入力して復号化します





Mu Youは見つけて、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/06/04 18:55:35 |


背景の完全なスクリーンショット
掲載地 2015/06/04 19:10:15 |
少し難しく、理解しづらい、学び続けている
掲載地 2015/06/04 19:48:25 |
ジニン・ラオ・ダオ 2015-6-4 19:10 投稿
少し難しく、理解しづらい、学び続けている

ダオ兄さん、これはWeChatの公開マーケティングプラットフォームで、WeChatのステーションをまとめて構築できます!!
掲載地 2015/06/05 0:14:39 |
掲載地 2018/07/29 16:42:44 |
プロンプト:著者はBANされたり削除されたりすると、コンテンツは自動的にブロックされます
掲載地 2018/09/16 12:05:10 |
プロンプト:著者はBANされたり削除されたりすると、コンテンツは自動的にブロックされます
掲載地 2019/07/27 15:22:15 |
今はもうわからず、すべてを忘れてしまい、理解できません
掲載地 2022/06/09 18:40:15 |
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com