MySQL表引擎分为:Myisam、InnoDB。
InnoDB表引擎
重建还原数据库的时候,需要将MySQL数据库默认数据目录data进行替换。
data目录:
InnoDB表引擎特征:
Myisam表引擎:
可直接将当前数据库文件夹进行替换。
Myisam表引擎特征:
数据库 | 配置文件 | 备份文件 |
MySQL | my.cnf(linux)、my.ini(windows) | .sql |
SqlServer | 独立配置文件 | .sql .bak(自带) |
postgresql | postgresql.conf | .sql |
mongodb | mongod.conf | json格式文档 |
常见网站搭配:
WISA Windows IIS Sqlserver Asp/Asp.net
JTM jsp+Tomcat+mysql
JNM jar+nginx+mysql
Nginx的动态处理能力不如Apache。Nginx轻量化、高并发性。
jar网站运行方法:
java -jar test.jar>test.log&
& 后台运行
网站重构
信息收集
1、收集数据库的版本号
mysql 5.6
2、从网站根目录index.php文件中判断php版本
php > 5.4
3、判断应用目录,网站配置文件在里面
4、配置文件获取到数据库账号密码
数据库导入
删除原本数据库data文件,然后关闭3306数据库服务(很重要),再将网站数据库data文件zip文件上传并解压
上传网站代码
修改hosts文件。
取消掉只读标记
网站重构成功。
找后台
网站重构成功之后,就是找后台。找后台的几种方法:
1、直接看网站根目录
2、MVC架构看index.php入门文件。如:index.php/admin
3、或者看根目录下admin.php
4、robots文件
5、网站日志
重置网站后台密码:
方法一:
通过后台登录失败会产生报错信息。将明文密码的加密字符串拼接到报错信息后面,然后从前台报错信息中获取到加密字符串,用于替换掉数据库内的字符串,从而登录。
1、从数据库中得知用户为admin,密码随便输入,出现报错信息“账号密码不正确”;
2、搜索出相关代码位置。
3、通读代码,发现网站后台密码的加密代码,
4、将该代码拼接到报错信息处。
5、使用密码admin登录,从报错信息中获取到admin的加密字符串。
6、然后在数据库中替换为admin的加密字符串。
7、成功登录网站后台。
方法2:
直接读加密代码,对密码进行加密,然后再数据库内进行替换。
1、发现加密是使用encrypt方法进行加密的。
2、全文搜索发现加密方法具体函数。
3、 继续搜索AUTH_CODE
4、编写加密脚本
5、在数据库中替换掉加密字符串。
6、使用密码444444登录成功。
方法三:
如果网站有注册功能,且注册用户的加密方式和网站后台管理员密码的加密方式相同,就可以用注册一个用户,然后将注册用户的密码在数据库内替换为管理员用户的密码。
1、使用网站现有的用户注册功能注册一个普通用户 13812341234 密码Shy014
2、在数据库中找到注册用户表,找到加密密码字符串。
02acdb9750f1d1763806ca9588861a08
3、将用户加密密码字符串替换到管理员表的密码字段。
4、然后用用户密码登录。
一、jar包网站还原
1、解压jar包,用jd-gui.exe打开class文件,搜索网站配置文件获取数据库账号密码。
2、修改数据库root密码为a123456
3、将sql数据库文件导入到数据库里面去,库名是curd。
4、将jar包随意上传到虚拟机任意目录。
5、运行jar包,jar不断,网站不断。
6、访问8080端口成功。
7、查看数据库管理员密码,发现有$10明显的特征,推测是Bcrypt循环10次的编码。
7、使用在线生成器重启生成一个Bcrypt10次密码(每次生成的密文都不一样)
$2a$10$60c5tz2Jt4efu0SJ7mNp4.mJtHctbPC73iGjJqCsgL83LrvYKCv6W
8、将生成的密文,替换掉数据库中的密文。
9、使用密码,登录成功。
10、ctrl+c 关闭jar包,关闭网站。
2、tomcat
1、在宝塔中安装tomcat7服务,并成功运行。
2、将网站根目录上传到tomcat的webapps目录下
/www/server/tomcat7/webapps
3、在class文件中找到数据库账号密码
4、修改root的密码
5、将SQL文件导入到数据库内
6、访问成功。