ThinkPHP

最近也是边挖src边审计代码,总结下最近的php代码审计的一些思路,我一般按照顺序往下做,限于能力水平,可能会有不对或者欠缺的地方,希望各位师傅能够指导。
查看版本的更新日志发现修正了 sessionid 检查的一处隐患,相关内容,修复代码中主要多了 ctype_alnum($id),只允许 $id 由字母和数字构成。
TP框架入口文件为{安装目录}/public/index.php,使用apache部署后访问入口文件显示TP欢迎界面即安装成功。
在 Home\Controller\IndexController 下的index中传入了一个可控参数,跟进调试看一下。
2020网鼎杯半决赛的一道web题,网上大部分WP都没有给出这道题越权的挖掘视角,这里给出我的一种分析角度,还提供了另外一种最近在很多比赛也经常见到的phar反序列化的解法,写得不好,还请大佬们批评指正。
目前ThinkPHP在国内中小型开发场景非常流行,但由于漏洞频发,主要集中在SQL注入、信息泄露(debug模式打开)、越权等漏洞,使得业务安全性受到不小的挑战。
本文将会根据自己挖掘的思路来写,尽量把调用流程展示清楚,把坑点说明下。并补充些审计时的思考。
2020年5月份的时候看到先知有一篇文章,这个漏洞非常非常简单,经典插配置文件getshell,而且使用了<?=phpinfo();?>这种标签风格以应对代码对<?php的过滤。xyhcms后续的修复方案当然是把<?也拉黑,但这种修复方案是非常消极的。
前两天看到 ThinkPHP6.0 的一个漏洞: 【安全风险通告】ThinkPHP 6.0 “任意”文件创建漏洞安全风险通告 。由于没有漏洞细节,只能通过这些描述及官方 commit 记录来还原一下漏洞细节。
之前分析了thinkphp 5.1,5.2,6.0的反序列化pop链,觉得师傅们实在是太厉害了,也没有想着再去自己挖掘,但是最近偶然间看到有师傅发了一条新的tp6.0的利用链出来,我也就寻思着能不能自己挖一挖,于是有了这篇文章。