然后我们继续跟进此处的路由检测。 跟进route类中的 check 方法。 在检查完路由后会返回 url类,这个类是继承dispatch类,然后会执行这个对象的init()方法。 然后又会实例化Module类并执行init()方法返回,init() 返回值是当前实例化的对象。 所以我们在一开始的路由检测后 $dispatch值是 实例化的Molude对象。 继续...
首先把$url中的/替换为|,由于这里用的是默认配置,所以会直接跳转到return行,这里的返回值实例化了一个UrlDispatch类,并传入了几个参数,这里定位到UrlDispatch定义处,可以发现这是一个路由别名,use think\route\dispatch\Url as UrlDispatch; 路由解析 接下来就是路由解析的过程 调用到autoload函数来自动加载该类,并...
route:路由配置目录 三、ThinkPHP框架最基本的架构 thinkphp是基于MVC模式开发的,业务逻辑、数据、界面显示分离,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。 1、入口文件 用户发起的请求都会经过应用的入口文件,通常是 public/index.php文件。入口文件的内容如下: ...
ThinkPHP5 SQL注入漏洞 && PDO真/伪预处理分析 似乎是一个不允许子查询的SQL注入点。 漏洞上下文如下: 代码语言:javascript 代码运行次数:0 Cloud Studio代码运行 <?php namespace app\index\controller;use app\index\model\User;classIndex{publicfunctionindex(){$ids=input('ids/a');$t=newUser();$result...
ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企 业应用开发而诞生的。ThinkPHP从诞生的12年间一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码 的同时,也注重易用性。目前ThinkPHP框架是国内使用量最大的框架之一,国内用户量众多。近日,360企业安全 集团...
5.0.7<=thinkphp<=5.0.22 5.1.x 漏洞分析 直接在入口文件处下断点 一路跟到run()方法里面的路由检测部分 跟进routeCheck()方法 public function routeCheck(){$path = $this->request->path();$depr = $this->config('app.pathinfo_depr');// 路由检测$files = scandir($this->routePath);foreach (...
thinkphp<6.0.12 环境搭建 这里装tp6.0.x composer create-project topthink/think=6.0.x tp6.0.9 删lock文件改comoser.json为6.0.9然后重新安装 composer install 修改入口Index:/app/controller/index.php <?phpnamespaceapp\controller;classIndex{publicfunctionindex($input=''){echo$input;unserialize($input...
另外thinkphp5.1有一个反序列化漏洞,但全局搜索后未调用unserialize()函数,因此并不能利用这个漏洞。至此,整个审计流程结束(流程本应包含对命令执行函数,文件包含等代码的审计,但由于过程中没有收获,这里就不放出来)。
这个框架是需要二次开发,并且实现反序列化才能够进行利用,所以需要手写一个利用点。就写在controller里。 <?phpnamespaceapp\index\controller;classIndex{publicfunctionindex(){echo"Welcome thinkphp 5.0.24";unserialize(base64_decode($_GET['a']));//下面部分是自带的。return'*{ padding: 0; margin: 0;...
Thinkphp3.2.3 首先开启调试 在 /Application/Home/Conf/config.php加上 'SHOW_PAGE_TRACE' => true, 并且添加数据库配置 //数据库配置信息'DB_TYPE' => 'mysql', // 数据库类型'DB_HOST' => 'localhost', // 服务器地址'DB_NAME' => 'thinkphp', // 数据库名'DB_USER' => 'root', // 用...