PHP网站后台管理员取证思路

admin 2022年8月31日14:16:55取证分析评论9 views2129字阅读7分5秒阅读模式
PHP网站后台管理员取证思路

之前大睿给大家分享了两种网站后台管理员账号密码破解思路

【睿享】服务器取证之账号与密码寻踪(一)

【睿享】服务器取证之网站数据库、后台账号密码寻踪(二)

根据客户的反馈,给大家详细讲解一下PHP网站寻找数据库及破解管理员账号密码的常规思路。


PHP网站后台管理员取证思路

数据库账号密码

PHP网站寻找数据库及破解管理员账号密码


寻找数据库账号密码

一般来说,网站=建站程序(代码)+ 数据库,网站代码中也会有相关的数据库配置文件,以某PHP语言编写的网站为例,网站yanshisourcesystem路径下有config.inc.php的文件,打开此文件,部分内容如下:


define('IN_DBHOST', '127.0.0.1');

define('IN_DBUSER', 'yanshi');

define('IN_DBPW', '123456');

define('IN_DBNAME', 'yanshi');

define('IN_DBCHARSET', 'utf8');

define('IN_DBTABLE', 'ff_');


在PHP语言中,define()函数用来定义常量,这里的常量指的是在网站运行过程中“不变化的量”,各项含义如下:

IN_DBHOST:数据库主机127.0.0.1;

IN_DBUSER:数据库用户yanshi;

IN_DBPW:数据库密码123456;

IN_DBNAME:数据库名称yanshi;

IN_DBCHARSET:数据库编码utf8;

IN_DBTABLE:数据库表前缀ff_;

因此我们得知数据库名称:yanshi,用户名:yanshi,密码:123456。


后台管理员账号密码破解

在知道数据库的用户名和密码后,大睿顺利的登录到yanshi数据库内,通过查看数据库,我们可以得到网站后台管理员的账号和加密后的密码,但是不知道密码加密算法怎么办呢?此时需要查看网站目录中有关登录的代码文件。

以某网站login.php为例:


$action = SafeRequest("action","get");

if($action == 'login')

{

if(!submitcheck('form'))

{

ShowMessage("验证错误,无法提交!",$_SERVER['PHP_SELF'],"infotitle3",3000,0);

}

$adminname = SafeRequest("adminname","post");

$adminpassword = md5(SafeRequest("adminpassword","post"));

$code = SafeRequest("code","post");

$time = date('Y-m-d H:i:s');

$ip = getonlineip();

IN_CODEOPEN and $code !== IN_CODE and ShowMessage("认证码错误,请重试!",$_SERVER['PHP_SELF'],"infotitle3",2000,0);

if($row = $GLOBALS['db']->getrow("select * from ".tname('admin')." where in_adminname='$adminname' and in_adminpassword='$adminpassword' and in_islock=0"))


通过$adminpassword = md5(SafeRequest("adminpassword","post"))语句得知加密算法为MD5,破解办法有如下三种:

(一)CMD5网站加密密文逆推明文

PHP网站后台管理员取证思路
PHP网站后台管理员取证思路

通过数据库查询网站管理员表得知其中一个管理员的密码加密密文为“76419c58730d9f35de7ac538c2fd6737”

使用CMD5网站解密得知密码为qazwsx。

(二)修改加密算法

$adminpassword = md5(SafeRequest("adminpassword","post"))语句中MD5删除,之后将数据库中root5用户密码对应项修改为123456并保存,此时可以使用用户root5,密码123456登录。

PHP网站后台管理员取证思路

(三)修改密码验证语句

根据

select * from ".tname('admin')." where in_adminname='$adminname' and in_adminpassword='$adminpassword' and in_islock=0

此查询语句得知,输入密码后,程序执行此SQL语句查询数据库,将输入的用户名密码与数据库中的用户名密码做匹配,匹配一致则成功登录数据库。

此时可以将in_adminpassword='$adminpassword'

修改为in_adminpassword!='$adminpassword',此时输入的用户密码只要不等于数据库中的密码即可登录。

     以上就是关于服务器数据库与后台账号密码寻踪的一些技巧和思路,最后大睿想说,正确选择一款凝聚了高质量、高集成度脚本方案的取证工具,对案件侦办将有着巨大的帮助。想感受如虎添翼的办案体验吗?RH-8610云探远程服务器取证系统是您的不二之选~


原文始发于微信公众号(网络安全与取证研究):PHP网站后台管理员取证思路

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月31日14:16:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  PHP网站后台管理员取证思路 http://cn-sec.com/archives/1265882.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: