探索Tp3框架审计之旅”

前言

MVC框架是代码审计必需学习的知识,这里以TpV3.2.3框架为例,进行一次对MVC框架代码的漏洞审计,简单学一下MVC的相关知识,希望对正在学习MVC框架的师傅有所帮助。

框架

我们这里首先需要了解一下什么是MVC架构,

具体如下图

图片[1]-探索Tp3框架审计之旅”-山海云端论坛

如果想对MVC框架进行进一步了解,可以参考https://www.kancloud.cn/manual/thinkphp/1698
接下来我们需要了解一下ThinkPHP框架。

TP3

如果想了解Tp3常见的操作,可以看一下这篇文章
https://blog.csdn.net/spc007spc/article/details/103489711

目录文件

Tp3的目录如下所示

www WEB部署目录(或者子目录)
├─index.php 入口文件
├─README.md README文件
├─Application 应用目录
├─Public 资源文件目录
└─ThinkPHP 框架目录

通俗的说的话,这里的index.php就是提供一个对外的接口,Public就是存放一些公共资源的地方,ThinkPHP是我们的核心框架,其内容如下:

├─ThinkPHP 框架系统目录(可以部署在非web目录下面)
│ ├─Common 核心公共函数目录
│ ├─Conf 核心配置目录
│ ├─Lang 核心语言包目录
│ ├─Library 框架类库目录
│ │ ├─Think 核心Think类库包目录
│ │ ├─Behavior 行为类库目录
│ │ ├─Org Org类库包目录
│ │ ├─Vendor 第三方类库目录
│ │ ├─ … 更多类库目录
│ ├─Mode 框架应用模式目录
│ ├─Tpl 系统模板目录
│ ├─LICENSE.txt 框架授权协议文件
│ ├─logo.png 框架LOGO文件
│ ├─README.txt 框架README文件
│ └─ThinkPHP.php 框架入口文件

路由格式

Tp3提供了多种路由格式,这里的话对其进行简单介绍。

pathinfo模式

pathinfo 模式,是ThinkPHP的默认模式,其规范格式如下:

示例如下

图片[2]-探索Tp3框架审计之旅”-山海云端论坛

它的优点显而易见, 简化了URL地址。

普通模式

普通模式的规范格式如下

示例如下

图片[3]-探索Tp3框架审计之旅”-山海云端论坛

兼容模式

兼容模式的规范格式如下

示例如下

图片[4]-探索Tp3框架审计之旅”-山海云端论坛

而后去TP的根目录,写一个.htaccess文件,内容如下

接下来重启phpstudy

图片[5]-探索Tp3框架审计之旅”-山海云端论坛

此时就配置好了。(如若是linux环境,可参考此文https://blog.csdn.net/zhazhaji/article/details/80493513)
rewrite的规范格式如下

其实相比于默认模式就是少了个入口文件,看着更简洁了一些。
示例如下

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容