ThinkPHP框架网站取证

ThinkPHP框架基础

参考手册:https://www.thinkphp.cn/doc

网站启动方式

内置服务器--在根目录下运行php think run,此时网站自动会将public目录当做对外窗口

外置服务器(不需要输入任何启动命令依靠集成软件启动网站)

目录结构

tp6及以上版本

tp5

tp3.2,低版本一个很大的不同就是对外访问目录public没有,Public文件存放的是资源文件

MVC架构

网站应用所采用的架构模式

M:model(模型)

V:view(视图)

C:controller(控制器)

 网站日志

一般存放在Runtime目录(应用运行时产生的文件)下的log文件夹中

服务器取证

服务器基本信息

类似于渗透测试中的信息收集,关于服务器的基本信息,有操作系统版本、时区、用户信息、日志文件等等

重构网站

1、寻找有无类似宝塔之类的网站管理工具,如果有可以大大降低重构难度

 2、用浏览器访问网站,这里特别注意,我们访问网站时最好使用域名而不是服务器ip地址,因为一个web服务器上可能存在多个网站(这个好比数据库服务器,一台服务器上有一个MySQL服务,服务中可以架设好几个数据库,而一个网站一般只会用到一个数据库),对后续取证不利

可以先在本地的hosts文件中添加ip和域名的映射关系,使浏览器可以访问到web页面

3、登录后台管理页面

这步是网站重构的关键

1、寻找后台登录页面地址(这里确实需要一定的经验积累)

利用web后台目录扫描器,获得一些网站后台目录地址,可以尝试

login、admin、signin等标志性字段很有可能是后台登录页面地址

寻找web访问日志文件(宝塔面板的web日志存放在www/wwwlogs目录下),根据POST请求方法和响应状态200过滤数据

2、在数据库中寻找用户表

MySQL数据库中有general_log日志功能,开启后会记录所有的SQL语句情况

 开启方式,我们找到网站后台进行任意用户的输入,再去查看日志情况,帮助我们快速找到用户表

3、破解用户密码

网站后台登录代码逻辑

 利用vscode编辑器的搜索功能,可以快速定为至后台用户登录的代码页面

想要登录网页后台的根本条件是输入的用户名和密码与数据库中的数据一致

从三个方面考虑:

一是输入的字符去与数据库的数据匹配,可以查询数据库,一般是密文,我们试着解密后利用密码登录

二是考虑修改数据库的数据,我们将自己输入的数据地md5覆盖至数据中,利用自己的密码登录,实质起到一个修改密码的作用

这里可以使用打印字符串的方式进行密码绕过或者直接看代码逻辑,将自己的密码加密后覆盖数据库数据

三是修改controller即后台代码逻辑,后台代码逻辑是数据库和前端输入的一个桥梁,只要把控制器的逻辑进行更改,即可实现任意密码登录

这里把密码相等的逻辑改为了不等,即可实现万能密码登录!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值