开发者日记 - 项目调试和加密密码巧妙破解(基于ecshop小米商城项目解说)
今天,在网上看到一个帖子,帖子大概是说买家下单买了源码,买家下载完源码解压后出现一连串问题,包括无法正常连接数据库,卖家也忘记了后台管理员密码,页面部分内容显示不全等问题。小编看了帖子后,经过对源码的一番探索,终于为买家解决问题,此篇博客也供大家参考一下。 1。首先寄存买家分享的小米商城源码(基于php语言开发的)。
2.下载源码,并解压到工程项目下。
3.启动Dreamweaver网页编辑器,建立服务器站点。
4.打开项目下的index.php,直接访问网站。 在访问页可以看出,两个问题。 ①PHP解析服务器版本过高。 ②数据库无法连接。
5.卸载并重新安装appserv,即php服务器和数据库。
6.再次访问项目目录下的index.php索引页。提示未成功连接数据库
7.找到项目目录下管控数据库用户、密码、数据库名、字符编码等信息的文件config.php。
8.我们将原有的数据库名、用户名、密码修改为自己设置的。
9.进入数据库后台管理页面,新建一个名为“xiaomi”的数据库。
10、导入源码附带的数据库文件。
11.经过一番折腾,再次访问项目下的index.php索引页,成功访问页面。
12.我们进行一次用户注册来测试前端和后端页面数据交换是否有异常。实际注册成功。
13.我们还对显示不全的页面进行代码跟踪,经过分析为代码未写完和图片路径不全导致,这些通过后期维护即可解决。
14.到访问商城后台管理页面,需要管理员账号和密码,这些也是未知的。我们这时不妨模拟一下ctf黑客攻防大赛,看能否通过自己微薄的力量拿下flag。
15.首先尝试找下数据库下存储管理员账号和密码的区块,以及项目下admin文件夹里面的代码区块进行辨识。 我们找到了数据库负责存储管理员账号和密码的信息,可以看出管理员登录名为admin,密码为一串字符串。我们尝试将用户名和密码复制到后台登录页面进行登录,实测登陆失败! 其实,我们看到密码是一连串的字符串时,大概猜想出这是经过加密后的密码,也就是密文。
16.我们在Dreamweaver网页编辑器利用代码跟踪,定位到后台页面密码输入所在的form表单提交指向操作文件。
17.打开privilege.php文件,在密码验证代码设计中,果然采用了md5加密明文的方法,我们这时对已知密文复制到解密网站下解密已经不太现实,毕竟解密需要的算法和资源十分庞大。
18.我们尝试注释密码验证区块的代码,看能否跳过密码验证直接跳转到后台管理页面。实测无跳转也无错误提示,此方法行不通。
19.看来解铃还须系铃人,再次观察密码验证区块的代码,我们既然去除验证无效,那我们能否尝试保留密码验证,仅仅去除md5加密。由于密码验证代码去除了md5加密,那么数据库管理管理员的密码那一栏也相应改为自己设置的密码。
20.再次到后台管理页面进行登录,这时的管理员账号和密码均是已知得了。成功登陆后台管理页面,顺利拿下管理员权限的flag。
感谢您的耐心观看,下期博客分享更精彩!
- 点赞
- 收藏
- 关注作者
评论(0)