PHP原生类利用
摘要
PHP原生类利用
1 |
|
1.题目分析
发现echo new $sys($$xsx)。说明这是一道原生类利用的题。
php中内置很多原生的类,在CTF中常以echo new $a($b);
这种形式出现,当看到这种关键字眼时,就要考虑本题是不是需要原生类利用了。
2.解题思路
这道题是文件读取类:SplFileObject。
当用文件目录遍历到了敏感文件时,可以用SplFileObject
类,同样通过echo触发SplFileObject
中的__toString()
方法。(该类不支持通配符,所以必须先获取到完整文件名称才行)
除此之外其实SplFileObject
类,只能读取文件的第一行内容,如果想要全部读取就需要用到foreach函数,但若题目中没有给出foreach函数的话,就要用伪协议读取文件的内容。
例如:SplFileObject&b=php://filter/read=convert.base64-encode/resource=flag
3.构造payload
1 | ?sys=SplFileObject&xsx=php://filter/convert.base64-encode/resource=flag.php |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 事在人为!
评论