架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 31267|回复: 8

[破解] 图文教程手动破解网站后台密码

[复制链接]
发表于 2015-6-4 18:47:12 | 显示全部楼层 |阅读模式
昨天收到了一个朋友给我发的asp.net版的微信公众平台源码,

今天想打开看一下,里面都是有啥,先把数据库附加到sql server2008上面去了,


然后打开项目,运行crtl+F5运行web项目,如下图:


QQ截图20150604183509.jpg

于是,我立马查看数据库的管理员表dt_manager,发现管理员帐号是admin,但是密码不知道是什么加密的,毕竟我是初学者嘛


1        1        1        admin        77F992940A0EFD8025F5571B133BA6D5        28LH48        超级管理员        13800138000        123@qq.com        0        2013-12-04 01:53:36.000        1000000        0                888        12        186        不告诉你                NULL        0
QQ截图20150604183108.jpg

先丢进md5网站去解密下


QQ截图20150604184205.jpg


木有找到,试了几个常用的密码,例如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.         }
复制代码


大体是先判断用户表中有木有该用户的salt值,如果有的话,把用户输入的密码和从数据库里面得到的salt的值再用


DESEncrypt进行加密的吧,(我也不知道DESEncrypt是个啥玩意)然后,把加密后的密码password和用户丢进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#在password地方设置断点,如下图:


QQ截图20150604184539.jpg

嘎嘎,得到123456加密后的密文是EB51565598856A17,果断去数据库进行update语句进行替换


QQ截图20150604184829.jpg

登录成功!




上一篇:sql server2008在附件数据库出现5120错误的解决办法
下一篇:未能将“obj\x86\Debug\”复制到“bin\Debug\”。1000 毫秒后将开始第 1 次重试。
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2015-6-4 18:55:35 | 显示全部楼层
QQ截图20150604185625.jpg

后台完整截图
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2015-6-4 19:10:15 | 显示全部楼层
略刁,看不懂,学习学习
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2015-6-4 19:48:25 | 显示全部楼层
济宁老道 发表于 2015-6-4 19:10
略刁,看不懂,学习学习

道哥,这个就是微信公众营销平台,可以批量建微信站偶!!!
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2015-6-5 00:14:39 | 显示全部楼层

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2018-7-29 16:42:44 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2018-9-16 12:05:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2019-7-27 15:22:15 | 显示全部楼层
现在已经都不会了,什么都忘了,看不懂了
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2022-6-9 18:40:15 | 显示全部楼层
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-6-16 10:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表