1.题目分析
看到new $sys($xsx)格式的字样。说明这是一道php原生类利用的题目。
2.解题思路
这道题是文件读取类:SplFileObject。
`SplFileObject` 中的 `__toString()` 魔术方法只有在尝试将对象转换为字符串时才会被自动调用。通常,这是在使用 `echo` 或 `print` 函数时发生的,或者在将对象与字符串连接时发生。但是,`SplFileObject` 不是一个直接支持 `__toString()` 的类。
SplFileObject类,只能读取文件的第一行内容,如果想要全部读取就需要用到foreach函数,但若题目中没有给出foreach函数的话,就要用伪协议读取文件的内容。
例如:?a=SplFileObject&b=php://filter/read=convert.base64-encode/resource=flag
3.构造payload
?sys=SplFileObject&xsx=php://filter/convert.base64-encode/resource=flag.php