反序列化调用不到类

希望调用ws.php中CLI\Agent类的析构函数,但是传入new CLI\Agent()的序列化字符串后并未触发die标记,通过动态调试发现该框架此时会去寻找lib/cli/agent.php(但实际上是Agent类与WS类一起写在了ws.php中)

解决方法是生成序列化字符串时,通过数组array(new CLI\WS(), new CLI\Agent())将两个类对象按顺序一同传入。这样虽然autoload包含agent.php同样会失败,但能够包含到ws.php也就能成功反序列化里面的Agent类。
- 也看到了通过
new \CLI\WS(new \CLI\Agent())的形式解决的
函数无参数RCE
1 |
|
链中的函数参数对应不上
通过PHP编写的一些自定义函数,如果一些非关键参数缺失或者多余其实影响不大。但是PHP的内置函数可能是因为由C实现的原因,兼容性就没那么高。