MVC模式应用程序电子取证初探

Posted 信息时代的犯罪侦查

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MVC模式应用程序电子取证初探相关的知识,希望对你有一定的参考价值。

编者按当一件事情,你连套路或者模式都没搞清楚的时候,就不要妄谈其他。宋鹏捉刀的这个案例很典型,在日益高发的触网犯罪,甚至传统犯罪形态下,都有很好的启发意义。但是不得不说,模式重建、字典估算甚至代码解析会耗费太多的精力,要求也特别高。这属于典型的疑难复杂案件,能耐心读完的都能成为电子取证高手!





“高逼格”术语——MVC


MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的框架模式。它强制性的使应用程序的输入、处理和输出分开。MVC是目前大量WEB应用程序使用的一种框架模式。随着网络犯罪不断增多,查获的电子证据中使用MVC框架开发的应用程序也越来越多。下面我们以一个典型案例为对象,阐述分析MVC应用程序的方法。

MVC模式应用程序电子取证初探

MVC模式示意图


一、典型案例


2015年在汉寿县公安局侦办的一起网络传销案中,侦查人员提取了传销平台数据库和网站源代码。在公安机关的邀请下,检察机关派技术人员提前介入侦查,参与对电子证据的分析、提取。该案的主要电子证据如下:


1、MSSQL数据库备份文件1份。

2、网站C#源代码。


通过对电子证据的初步分析,我们发现该案的传销网络平台是用MVC编程模式开发的WEB应用。


在弄清楚了源代码基本框架的情况下,我们的分析思路是:首先搭建运行平台让程序运行起来,在运行中动态分析出超级管理员密码,再用超级管理员在前台提取数据,最后,在分析出业务处理逻辑的情况下编制SQL查询在后台提取数据作为补充。


二、对电子证据的分析步骤


1、WEB调试环境搭建

(1)版本的确定

在进行程序调试之前,我们需要先确定程序的版本。用记事本打开Web.config查找相关信息。如下图可以看到.Net版本为4.0。因此,我们可以安装VS2012作为调试环境。

MVC模式应用程序电子取证初探

图1


VS2012安装完毕后打开工程文件,未出现错误,说明工程文件正常打开,如下图:

MVC模式应用程序电子取证初探

图2


(2)数据库初探

尝试以调试模式运行程序,报异常,如下图:

MVC模式应用程序电子取证初探

图3


出现该异常的原因是因为没有配置数据库。为了正确配置数据库,需要先找到数据库连接信息。我们在Web.config中查找到数据库连接信息。如下图:

MVC模式应用程序电子取证初探

图4


2、对数据库备份文件的恢复

(1)、安装SQL Server 2008,打开SQL Server资源管理器,右键单击列表中“数据库”,在弹出菜单中选择“还原数据库”弹出还原数据库对话框,根据找到的数据库连接信息配置目标数据库名,见下图:

MVC模式应用程序电子取证初探

图5


(2)配置服务器登录名

根据找到的连接信息(图4)配置登录名和密码。见下图:

MVC模式应用程序电子取证初探

图6


3、测试调试环境

数据库配置完毕后,在VS2012中以调试模式再次启动程序,未出现异常,并出现WEB界面,说明环境配置成功,如下图:

MVC模式应用程序电子取证初探

图7


如果出现错误信息,说明环境配置有问题,需要根据错误提示逐一解决。不同的案例情况不同,不再赘述。


4、管理员登录密码的获取

由于应用程序的业务处理逻辑杂,在不进入应用程序业务层的情况下分析应用程序和数据库是很困难的事情,因此,获取管理员登录密码进入业务处理层对成功提取数据至关重要。以本案为例,分析管理员密码的基本步骤如下:

在数据库中找到存储管理员密码的表,如下图:

MVC模式应用程序电子取证初探

图8


我们发现,管理员用户名为admin,但密码已经进行了加密处理。

我们展开MVC工程的控制,发现有与登录有关的控制,如下图:

MVC模式应用程序电子取证初探

图9


继续分析该程序,找到判断密码对错的代码,如下图:

MVC模式应用程序电子取证初探

图10


分析该代码可以看出,EncryptUtils.AESEncrypt(model.Pwd)是加密程序,在该程序中设置断点。如下图:

MVC模式应用程序电子取证初探

图11


在登录界面输入用户名admin,密码123456,开始调试,程序停止在断点处,再逐过程运行,得到“123456”的32位加密字符串:

“A0-E0-91-34-09-2B-69-3E-3D-ED-48-AE-BD-78-5F-F8”

用该字符串替换数据库中超级管理员的字符串,如下图:

MVC模式应用程序电子取证初探

图12


用密码123456登录成功,如下图:

MVC模式应用程序电子取证初探

图13


5、数据的提取

(1)前台提取数据

超级管理员admin具有全部权限,用该用户登录可以提取到大量数据,如网络图、会员提现明细、奖金报表、奖金明细等,这些数据可以通过截图的方式提取。如下图所示。

MVC模式应用程序电子取证初探

图14会员网络图


MVC模式应用程序电子取证初探

图15会员提现明细


(2)后台提取

前台提取数据有很多局限性。以提取会员列表为例,前台查询的数据有几百页,不可能截取几百张图片。比较好的方法是通过SQL查询数库,将SQL查询语句写入电子数据分析报告,将查询结果导成电子表格,并计算校验值,作为电子证据。


要编制SQL查询提取会员列表,我们需要先找到处理会员列表的程序,从中分析出会员信息存储在哪张表中以及查询的WHERE子句有哪些限制条件。以提取全部会员信息为例(提取其它信息雷同),具体方法为:在会员管理系统界面中找到“会员列表”按钮,将鼠标移到该按钮上,在状态栏会显示出对应的视图为user/list,如下图:

MVC模式应用程序电子取证初探

图16

在工程中找到MVC视图文件,如下:

MVC模式应用程序电子取证初探

图17


继续分析,找到对应该视图的控制,如下图:

图18


单步调试运行,找到构建SQL语句的代码,如下图:

图19


分析该代码我们发现该SQL查询的表是T_user,查询条件是IsValid=1,其它条件为NULL或特定值。我们可以得出,用户数据存放在T_user表中,有效用户的IsValid字段值为1。因此可以构建SQL查询提取全部有效会员信息,SQL如下:


select*fromT_Userwhere

IsValid= 1


结果:查询出3652条记录,与前台记录一致。将结果导成EXCEL表作为电子证据取证结果,并制作MD5值。提取奖金明细、充值明细等数据的方法与上述方法一致,不再赘述。


三、总结


随着取证技术和取证意识的不断发展,在今后办理的案件中,出现完整源代码的案件将越来越多,给技术人员提出了新的挑战。对于基于WEB应用的网络犯罪案件而言,利用调试工具进行动态分析并从WEB应用程序中快速提取大量涉案信息,司法实践意义重大。


以上是关于MVC模式应用程序电子取证初探的主要内容,如果未能解决你的问题,请参考以下文章

哈希算法在电子数据取证中的应用探讨

行业 | 基于Hadoop架构电子数据取证框架研究

Android中的MVP架构初探

初探Backbone

初探Backbone

Struts2框架初探