「技术视界」Web网站还原技术研究

news/2024/5/9 11:07:17/文章来源:https://blog.csdn.net/xlysoft_net/article/details/108075853

导读

现在计算机大多都是以服务器和客户端的形式为用户提供服务,而在这种服务模式中,网站服务(B/S)以其绝对的优势被大多数企业和个人所采用。在对网站服务进行取证时,我们不仅需要获取到网站的数据与代码,更需要通过数据和代码对网站服务进行还原,以帮助我们快速了解网站服务的业务流程和内容,发现核心内容,快速准确获取证据。本文详细概述网站还原相关的基础知识,并通过案例展示网站还原的全过程,希望对你有参考价值!

一、网站结构

「技术视界」Web网站还原技术研究

 

网站的基本结构和流程

任何网站的变化都离不开操作系统,服务器容器,数据库和其他数据文件。

网站设计模式和架构

01.MVC模型

网站的常用设计模式有MVC(Model+View+Controller)。Model是模型,表示存储数据对象。View是视图,表示数据可视化,也就是网页部分。Controller是控制器,用户模型和视图上,控制数据流向模型,并在数据变化时更新视图。

常见的MVC模型Web框架有:PHP的ThinkPHP,Yii,Laravel;Java的Spring,struts,Hibernate;python的Flask和Django等。

「技术视界」Web网站还原技术研究

MVC网站模型

绝大多数Web应用框架都是以MVC模型进行开发的,熟悉基于MVC开发的Web框架,有利于我们了解网站流程进行网站重建。

02.网站的演变过程

随着网站用户和网站数据的不断增加,原有单独的服务器往往存在性能慢、可用性低、不安全等问题。于是网站从单一的服务器逐渐演变为站库、文件分离模式以及到后面形成的集群服务。

「技术视界」Web网站还原技术研究

常见的网站模式

Web网站组合方式

在Web开发的过程中开发者通常有固定的组合,因此在进行网站还原时,我们可以基于这种组合推断网站组成的方式,帮助我们了解网站的基本流程,同时可以快速找到各种应用配置文件、数据。当然Web网站的基本组合方式不是一成不变的。主要包含以下几种:

  • LAMP/WAMP/LNMPlinux+apache+mysql+phpwindows+apache+mysql+phplinux+Nginx+mysql+php
  • WISAwindows+IIS+sqlserver+asp
  • JTMjsp+Tomcat+mysql

二、Web服务器

IIS

Internet信息服务(IIS全称为Internet Information Server)是Microsoft创建的可扩展Web服务器软件。发行于1995年5月,是Windows环境下默认的Web服务。

01.管理方式

在windows中,可以通过【启用或关闭windows功能】启用IIS服务。

「技术视界」Web网站还原技术研究

 

在计算机管理的【服务和应用程序】中管理IIS服务。

「技术视界」Web网站还原技术研究

 

Apache

Apache HTTP服务器项目主要致力于为现代操作系统(包括UNIX和Windows)开发和维护开源的HTTP服务器,提供一个安全、高效且可扩展的服务器,该服务器提供与当前HTTP标准同步的HTTP服务。

Apache HTTP Server(httpd)于1995年推出,自1996年4月以来一直是互联网上最受欢迎的Web服务器之一。

01.目录结构

「技术视界」Web网站还原技术研究

 

bin目录包含apache可执行文件和管理工具:

cgi-bin: CGI(公共网关接口[Common Gateway Interface])定义了网站服务器与外部内容协商程序之间交互的方法,是在网站上实现动态页面的最简单而常用的方法

conf目录下的httpd.conf为apache的主配置文件,在网站还原中需要关注以下配置内容:

ServerName:站点名称(网站域名)

ServerRoot:apache站点目录即apache所在目录

Listen:监听端口

DocumentRoot:网站代码存储位置,默认是htdocs目录

Directory:网站目录的访问控制

02.安装方式

windows: 在bin目录下使用命令行执行

httpd -k install (-n name name为Apache服务名称)安装apache服务

httpd -k start 启用apache服务

httpd -k stop 关闭apache服务

httpd -k uninstall (-n name name为Apache服务名称)删除apache服务

03.Linux下以centos为例

sudo yum install httpd 安装apache

sudo systemctl enable httpd 设置自启动

sudo systemctl start httpd 启用apache

Tomcat

Apache Tomcat(简称Tomcat)是Java Servlet,JavaServer Pages,Java Expression Language和WebSocket技术的开源实现。轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是大多数个人或企业的首选,初始发行于1999年。

01.目录结构

「技术视界」Web网站还原技术研究

 

02.配置内容

在Tomcat配置文件conf/server.xml中需要关注以下配置内容:

<Service></Service>标签中<Connector/>带有protocol =“HTTP/1.1”的部分。port监听端口默认8080;

「技术视界」Web网站还原技术研究

 

<Host></Host>标签中的站点名称默认为localhost,网站所在的位置目录为webapps;

「技术视界」Web网站还原技术研究

 

bin目录startup.bat在windows环境启动Tomcat,startup.sh在Linux环境启用Tomcat。

Nginx

Nginx 是一种网络服务器,可以被用作反向代理、负载均衡器、邮件代理和HTTP缓存。该软件由Igor Sysoev创建,并于2004年首次公开发布, Nginx是免费的开源软件。

01.目录结构

「技术视界」Web网站还原技术研究

 

02.配置内容

conf/nginx.conf需要关注配置文件server中的内容

「技术视界」Web网站还原技术研究

 

listen 监听的端口默认80

server_name 域名

location中root指的是网站代码所在的目录,index表示支持的html页面格式

直接运行nginx.exe就可以启动nginx

03.Linux下以centos为例

sudo yum install epel-release 添加Nginx存储库

sudo yum install nginx 安装nginx

sudo systemctl start nginx 启用nginx

sudo systemctl enable nginx 设置开机自启动

三、数据库

MySQL

MySQL是开源关系型关系数据库管理系统(RDBMS),发行于1995年5月,是最受欢迎的数据库之一,许多公司与个人使用MySQL。MySQL有两个主要版本MySQL5和MySQL8版本,两个版本互相之间不兼容,MySQL5向下兼容。

01.目录结构

「技术视界」Web网站还原技术研究

 

02.配置内容

在MySQL官方网站下载的压缩包默认是没有配置文件,需要手动添加my.ini并添加配置内容。

「技术视界」Web网站还原技术研究

 

port 监听端口

basedir MySQL程序目录

datadir MySQL数据存放目录

default-character-set 字符编码

bind-address 设置可以访问数据库的IP

在mysql/bin 目录下执行:

mysqld -install安装MySQL

net start mysql 启用MySQL

mysqladmin –uroot –p password 修改MySQL密码

net stop mysql 停止MySQL

mysqld -remove 删除MySQL

03.Linux下以centos7为例

wget

https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

sudo yum localinstall mysql57-community-release-el7-11.noarch.rpm

sudo yum repolist enabled | grep "mysql.*-community.*"

sudo yum install mysql-community-server

sudo yum-config-manager --enable mysql57-community

/etc/my.cnf 配置文件(按照前面配置文件内容)

sudo systemctl start mysqld 启用MySQL

mysql -u root -p 登录MySQL

在MySQL中执行

set password for 'root'@'localhost'=password('newpasswod'),修改密码

sudo yum remove mysql mysql-server 删除MySQL

SQL server

SQL server全称Microsoft SQL Server,是微软开发的关系数据库管理系统。SQL server 2017支持Linux。SQL server 1.0于1989年发行用于OS/2操作系统的16位服务器的第一版本。

SQL server通过图形化可以直接进行安装,网上有很多教程这里不再详述。

Oracle

Oracle数据库通常称为oracle RDBMS简称Oracle,是多模型数据库管理系统,第一个商业化Oracle v2 发行于1979年。Oracle8.0.3开始支持Linux。

01.常见的各种Oracle版本

Oracle 8、oracle 8i:i表示internet,1CD(1CD=650M)

Oracle 9i:oracle8i的稳定版,3CD

Oracle 10g:oracle基于网格计算,1CD

Oracle 11g:oracle 10g稳定版,2G

Oracle 12C:C表示云计算

Oracle在Windows下同样支持图形化安装,有专用的Oracle Linux发行版

四、网站数据

在网站还原中,我们可以从原始数据里查找到使用的操作系统,开发语言,服务器类型,数据库类型,服务器中配置文件位置,网站源代码或其他与网站相关的文件。

常见服务器源代码在Linux中默认目录

Apache:/var/www/html

Nginx:/usr/share/nginx/html

Tomcat:/usr/loca/tomcat/webapps

windows中的Web服务器一般都在C盘内

数据库默认目录和数据文件类型

mysql:/var/lib/mysql/datadir/;.frm 表结构文件,.ibd数据文件,.myi索引文件

SQL server:C:\Program Files\Microsoft SQL Server\;.mdf主数据文件,.ndf次数据文件,.ldf日志文件

Oracle:.dbf文件,.dmp文件

.sql文件是数据库脚本文件,是用于数据库中的标准数据查询语言。在实际的网站还原通常会遇到该类型的数据文件。

在Windows系统中,通过搜索文件后缀名就可以查询数据文件。在Linux中,可以通过find和locate命令查询。

find / -name *.xxx(xxx是文件后缀名)

updatedb 更新locate数据库,locate *.xxx(xxx是文件后缀名)

五、Web网站还原流程

常用的网站还原流程,在给定数据中找到Web服务器和数据库类型,通过Web服务器和数据的配置文件找到网站代码、相关插件和数据库文件所在位置。

将网站数据放在本地Web服务器中,修改数据库连接信息并将数据库数据导入本地数据库,在本地Web服务器中查看网站信息,通过报错来一步步去添加插件和依赖或通过阅读源代码来添加或修改网站源码,直到还原成功。在Tomcat服务器中的网站代码,一般是比较完整打包好的服务器代码,只需要修改数据库连接信息即可。

 

网站还原的常见流程

「技术视界」Web网站还原技术研究

网站还原流程

实操案例:PHP网站还原

网站源代码如下:

「技术视界」Web网站还原技术研究

 

在数据库目录中发现1603huzhu(2).sql 文件记录了php版本信息;

「技术视界」Web网站还原技术研究

 

在include目录下发现了config_global.php记录了数据库连接信息;

「技术视界」Web网站还原技术研究

 

在include目录中conn.php查看到使用mysql_query 来设置数据库的编码信息;

「技术视界」Web网站还原技术研究

 

较老版本的PHP网站通常是PHP+Apache+MySQL的组合,而我们拿到的是网站源码,此时需要通过推断MySQL和Apache版本。

根据数据库文件的时间来判断数据库为MySQL5版本,MySQL5是向下兼容的,因此我们可以下载较新的MySQL5版本,然而我们并不能推断Apache的版本信息,我们可以通过搜索引擎来帮我们了解与PHP版本对应的Apache的常用版本。

「技术视界」Web网站还原技术研究

 

网站还原:搭建PHP+Apache+MySQL环境

01.安装MySQL服务

「技术视界」Web网站还原技术研究

创建数据库

「技术视界」Web网站还原技术研究

 

导入数据库文件。通常使用命令导入数据报错的几率比较小,使用工具可能存在报错,因此建议使用命令导入数据库。

「技术视界」Web网站还原技术研究

 

在开始搭建Apache和PHP服务时,通常需要注意它们的平台(x86或x64)版本是否一致,在这里我们下载httpd-2.2.34-win32.zip,php-5.2.17-Win32-VC6-x86.zip,解压之后修改配置文件进行安装。

02.Apache配置文件修改

配置Apache应用所在目录;

「技术视界」Web网站还原技术研究

 

配置Apache监听端口为80;

「技术视界」Web网站还原技术研究

 

配置网站目录;

「技术视界」Web网站还原技术研究

 

配置修改为网站目录

「技术视界」Web网站还原技术研究

 

配置scriptalias修改为Apache /cgi-bin/目录;

「技术视界」Web网站还原技术研究

 

「技术视界」Web网站还原技术研究

 

在Apache\bin执行下面命令安装Apache;

「技术视界」Web网站还原技术研究

 

启动Apache服务;

「技术视界」Web网站还原技术研究

 

在浏览器中输入localhost看到下面内容表示安装成功。

「技术视界」Web网站还原技术研究

 

03.安装PHP

进入PHP目录将php.ini-prc复制一份并重命名为php.ini,php.ini为PHP的配置文件;

修改php.ini中的extension_dir 为ext的绝对路径,相对路径可能不会成功导入ext文件夹内PHP的扩展文件;

「技术视界」Web网站还原技术研究

 

去除extension前面的分号以启用PHP扩展;

「技术视界」Web网站还原技术研究

 

PHP5.2版本需要修改doc_root为网站的根目录;

「技术视界」Web网站还原技术研究

 

配置Apache以启用PHP;

「技术视界」Web网站还原技术研究

 

让Apache支持php,并在加入index.php使apache识别以php结尾的文件;

「技术视界」Web网站还原技术研究

 

重新启动apache,如果不成功表示Apache配置出错;

「技术视界」Web网站还原技术研究

 

在Apache网站根目录添加一个查看PHP信息的PHP文件来查看PHP配置是否生效;

「技术视界」Web网站还原技术研究

 

在浏览器中访问localhost/index.php查看PHP信息;

「技术视界」Web网站还原技术研究

 

查看PHP的扩展开启状况,这里开启了mysql、mysqli等扩展。

「技术视界」Web网站还原技术研究

 

网站还原:用户登录

配置环境成功后我们将网站代码复制到Apache网站根目录下;

「技术视界」Web网站还原技术研究

 

在浏览器中访问localhost/huzhu/查看到网站登录页面;

「技术视界」Web网站还原技术研究

 

到这里网站已经基本还原成功,但这并不表示网站功能已经还原成功,接着在数据库中我们知道了登录的用户名和密码;

「技术视界」Web网站还原技术研究

 

发现用户密码被MD5加密,利用MD5解密工具得到登录密码;

「技术视界」Web网站还原技术研究

 

使用用户名和密码,成功完成登录;

「技术视界」Web网站还原技术研究

 

到此,从环境搭建入门到网站还原成功已经全部实现。

在网站还原的过程中一定会存在很多错误:服务无法启动、配置报错、网站查询报错等,我们需要了解错误内容,分析原因和定位错误并修改错误,利用好搜索引擎来帮助我们成功还原网站。我们也可以使用集成环境来加快对网站的还原过程,但通过手动配置还原更能让我们熟悉网站的基本组成和原理,对遇到不常见的网站结构能够快速识别和判断。

如对文中的操作、描述有任何疑问,或者有相关案件需要协助,欢迎拨打热线电话028-85211099或直接在微信公众号后台给我们留言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_720301.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开发一个网站的总体流程

一般流程&#xff1a;&#xff08;以一个登录页面为例&#xff09; 1、美工 用photoshop设计每个页面的效果图&#xff0c;一般文件格式为PSD。 以下就是一个设计好的效果模版图&#xff1a; 2、切图得素材 对美工得到的效果图进行相应的裁剪&#xff0c;最终作为网页开发时…

小学生搞了自己学校的网站!

整理&#xff1a;编程技术宇宙今天这篇文章来源于知乎上一个叫Ret2Rttr的分享&#xff0c;作者自称是一名六年级的小学生。文章主要记录的是他针对自己学校网站的一次渗透测试&#xff0c;过程非常有趣&#xff0c;所以分享给各位读者朋友。上周三&#xff0c;闲着无聊&#xf…

路边「诈骗案」,程序员自建停车缴费网站牟暴利!

程序员的成长之路互联网/程序员/技术/资料共享 关注阅读本文大概需要 2.4 分钟。来自&#xff1a;广西法制日报&#xff1b;记者&#xff1a;刘康 &#xff1b;通讯员&#xff1a;杨李现如今&#xff0c;无人收费停车场已十分普及&#xff0c;自助扫码缴费成为当下车主生活的常…

Visual Studio 2010 将网站直接发布到远程站点

原文:Visual Studio 2010 将网站直接发布到远程站点这次说下如何将web应用程序直接发布到IIS服务器站点&#xff01;&#xff01;&#xff01; 问题的由来 本人每天要发布更新的程序&#xff0c;所以每次更新的时候要做的工作&#xff1a;获取最新源码&#xff0c;编译程序&…

黑客是如何攻破一个网站的?

程序员的成长之路互联网/程序员/技术/资料共享 关注阅读本文大概需要 5 分钟。来自&#xff1a;https://resources.infosecinstitute.com/topic/hacking-a-wordpress-site/一篇科普文&#xff0c;很适合小白&#xff0c;长文请静下心看。通过本文你将了解黑客常用的入手思路和技…

永别了,91网站!宣布永久关闭

程序员的成长之路互联网/程序员/技术/资料共享 关注阅读本文大概需要 2.8 分钟。5月17日晚&#xff0c;“百度手机助手开发者”公众号发布了一篇《关于91和安卓市场渠道的下线通知》。宣布将不再支持91和安卓市场渠道的渠道包上传和管理等功能&#xff0c;同时&#xff0c;百度…

php企业网站带模块,DouPHP模块化企业网站管理v1.6系统含小程序/公众号源码

DouPHP是一款轻量级企业网站管理系统&#xff0c;基于PHPMYSQL架构的&#xff0c;包含“手机版”、“公众号管理模块”、“小程序”&#xff0c;可以使用它快速搭建一个企业网站。功能性模块&#xff1a;防伪查询模块、投票模块、自定义表单模块、工单模块等、会员模块、订单模…

京东一面:Nginx 禁止国外 IP 访问网站!

点击上方蓝色字体&#xff0c;选择“标星公众号”优质文章&#xff0c;第一时间送达来源&#xff1a;toutiao.com/i6860736292339057156先来说说为啥要写这篇文章&#xff0c;之前小编看了下nginx 的访问日志&#xff0c;发现每天有好多国外的IP地址来访问我的网站&#xff0c;…

织梦配置html,织梦网站后台的基本设置

网站搭建完成之后&#xff0c;后台的一些基本设置必不可少&#xff0c;同时还要考虑到一些SEO方面的设置&#xff0c;这也是基础优化的开始。1、站点设置点击左侧的【系统】→【系统基本参数】站点根网址为&#xff1a;http://127.0.0.1文档HTML默认保存路径的/a&#xff0c;去…

描述标签(meta description)的规范讲解 - 谷歌SEO基础

每个项目产品都会让你加埋点&#xff0c;你是愿意花几天一个个加&#xff0c;还是愿意几分钟一个小时加完去喝茶聊天&#xff1f;来试试这520web工具, 高效加埋点&#xff0c;目前我们公司100号前端都在用&#xff0c;因为很好用&#xff0c;所以很自然普及开来了&#xff0c;推…

python官网上不去了_学习Python你不去8个网站?逗我呢!

作为一个现时代的程序员初学者&#xff0c;除了看书之外&#xff0c;互联网的学习手段也是断不能少的&#xff01; 以下这些网站&#xff0c;虽说不上全方位的满足你的需求&#xff0c;但是大部分也都能&#xff01; ​0.国外的大神GitHub &#xff1a; ​学习Python必去的8个网…

更新网站 图片缓存_助你网站加速的十个小技巧

网页的响应速度和性能对用户体验非常重要。如果你的网站太慢&#xff0c;你不仅会失去访问者&#xff0c;还会失去潜在的客户。像谷歌这样的搜索引擎在搜索排名中将网站的速度考虑在内&#xff0c;所以当优化你的网站速度时&#xff0c;你应该把一切都考虑进去。每一毫秒都很重…

图片网站源码_轻量必应每日一图HTML源码

源码介绍: 众所周知&#xff0c;必应搜索官网每天会更新一张高质量的背景图。许多同学想在接口中调用它们&#xff0c;但必应的服务器在国内不算特别稳定(>500ms)。Bing-upyun 可以把每天的必应图片上传至又拍云&#xff0c;提供支持图片处理、回溯的接口(又拍云直链&#x…

注入岛国网站,技术菜鸟第一次....

程序员的成长之路互联网/程序员/技术/资料共享 关注阅读本文大概需要 2.8 分钟。作者&#xff1a;panda原文地址&#xff1a;https://forum.90sec.com/t/topic/13161.打开了谷歌hack 数据库2.在谷歌中漫步&#xff0c;看到几个?idXXX结尾的网址&#xff0c;加’ 出现报错&…

这个小学生,竟然把学校的网站搞了!

程序员的成长之路互联网/程序员/技术/资料共享 关注阅读本文大概需要 4 分钟。来自&#xff1a;编程技术宇宙今天这篇文章来源于知乎上一个叫Ret2Rttr的分享&#xff0c;作者自称是一名六年级的小学生。文章主要记录的是他针对自己学校网站的一次渗透测试&#xff0c;过程非常有…

利用 Github Pages 和 Hugo 快速搭建免费的个人网站

点击上方“程序猿技术大咖”&#xff0c;关注并选择“设为星标”回复“加群”获取入群讨论资格&#xff01;你有个人网站吗&#xff1f;在自媒体时代&#xff0c;人人都在不断向互联网等不同媒介输出内容&#xff0c;如&#xff1a;博客、微博以及抖音等&#xff0c;并在特定领…

强力推荐,SpringBoot + Vue + MyBatis 音乐网站项目

程序员的成长之路互联网/程序员/技术/资料共享 关注阅读本文大概需要 2.8 分钟。来自&#xff1a;网络项目说明本音乐网站的客户端和管理端使用 VUE 框架来实现&#xff0c;服务端使用 Spring Boot MyBatis 来实现&#xff0c;数据库使用了 MySQL。项目功能音乐播放用户登录注…

京东一面,面试官问我如何用 Nginx 禁止国外 IP 访问网站,我直接凉凉!

程序员的成长之路互联网/程序员/技术/资料共享 关注阅读本文大概需要 4 分钟。来自&#xff1a;toutiao.com/i6860736292339057156/之前看了下 Nginx 的访问日志&#xff0c;发现每天有好多国外的 IP 地址来访问我的网站&#xff0c;并且访问的内容基本上都是恶意的。因此我决定…

因致力于保护用户隐私,曾经最好用的浏览器正在被大批网站抛弃

程序员的成长之路互联网/程序员/技术/资料共享 关注阅读本文大概需要 5.5 分钟。来自&#xff1a;电脑报一直以来&#xff0c;Chrome浏览器都是世界上公认的最受欢迎的浏览器&#xff0c;而火狐 Firefox 作为和Chrome、Edge&#xff08;IE&#xff09;相提并论的三大浏览器之一…