介绍
,,节>
,,,节> <节>
,,,节>
,,,节>
,,,
,,,节>
构造位置:tp60控制器\ app \ \ index . php ,,,节>
,,,节> <>节开启会话且写入的会话可控 ,,,节> <节>/tp6/应用/中间件。php文件开启会话 ,,,节> <>节去掉注释会话的//,,,节> <节>
,,,
这期内容当中小编将会给大家带来有关ThinkPHP6.0任意文件如何创建Getshell复现,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
<节> <节> <节> <节> <节> <强> 0 x01简介强> ,,节> <>节ThinkPHP框架是MVC结构的开源PHP框架,遵循输入开源协议发布,是为了敏捷网络应用开发和简化企业应用开发而诞生的。该漏洞源于ThinkPHP 6.0的某个逻辑漏洞,成功利用此漏洞的攻击者可以实现“任意”文件创建,在特殊场景下可能会导致GetShell。 ,,, ,,节>
,,节>
2020年1月10日,ThinkPHP团队发布一个补丁更新,修复了一处由不安全的SessionId导致的任意文件操作漏洞。该漏洞允许攻击者在目标环境启用会话的条件下创建任意文件以及删除任意文件,在特定情况下还可以getshell。
<强> 0 x03影响版本强>
ThinkPHP 6.0.0-6.0.1
<强> 0 x04环境搭建强>
<节> <节> <强> 1,安装作曲家强> ,,,节> <>部分下载Composer-Setup.exe ,,,,,,节> <节>
https://getcomposer.org/download/,,,节>
,,,节>
,,,节>
,,,<节> <>以前composer config -g repo.packagist composer https://packagist.phpcomposer.com ,,,节>
<强> 2,安装thinkphp 强>
<节>composer create-project topthink/think tp6 (tp6自定义),,,节> <节>
,,,节>
出现报错可参考:
http://www.jrnw.net/index.php/2019/05/30/thinkphp6%E6%A1%86%E6%9E%B6%E6%BA%90%E7%A0%81%E7%9A%84%E4%B8%8B%E8%BD%BD%E4%B8%8E%E5%AE%89%E8%A3%85%E8%AF%A6%E7%BB%86%E6%95%99%E7%A8%8B/,,,节>
<强> 3版本选择强>
将tp6/作曲家。json文件的“topthink/framework":“^ 6.0.0"改成0版本,并执行更新命令
,,,<节> <>之前进入tp6目录cd tp6composer 更新 ,,,节>
<代码>,,,
代码>
<>强PS: 强>
- <李>
如果是linux就再执行启动环境:。/想运行——主机=0.0.0.0——端口=8000
如果不能拉取到环境,公众号内回复”tp60环境”获取
<强> 0 x05漏洞利用强>
构造位置:tp60控制器\ app \ \ index . php ,,,节>
需要增加构造的内容:
,,,<节> <>以前use 认为\外观\会话,会话:设置(& # 39;用户# 39;$ _GET[& # 39;用户名# 39;]); ,,,节>
<代码>,,,
代码>
<节>
,,,节> <>节开启会话且写入的会话可控 ,,,节> <节>/tp6/应用/中间件。php文件开启会话 ,,,节> <>节去掉注释会话的//,,,节> <节>
,,,
<强> 0 x06坑点强>
1,本地测试localhost失败
问题: