首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有可能利用PHP在没有类的情况下进行非序列化?

有没有可能利用PHP在没有类的情况下进行非序列化?
EN

Security用户
提问于 2018-01-15 20:23:38
回答 1查看 3.7K关注 0票数 4

我正在为客户端评估webportal的安全性,并发现了一个漏洞。代码基本上是这样做的:

代码语言:javascript
复制
$var = unserialize($_REQUEST['something']);

我完全可以控制变量。但是服务器的代码中没有类,它没有太多可控的__destruct__wakeup等对象。

我还能用这个做点什么吗?比如设置一个$_SESSION变量?有可能吗?有RCE或BoF之类的吗?

EN

回答 1

Security用户

发布于 2018-01-15 21:10:13

这取决于您的PHP版本。使用unserialize查找应用程序中的弱点取决于具有易受攻击类的应用程序。如果它们没有任何类,那么应用程序就不会受到攻击。

然而,你可能是幸运的!实际上,我自己并不使用PHP序列化,因为在过去,它非常错误,存在来自PHP本身的严重安全漏洞&。我个人并不熟悉确切的细节,它确实取决于PHP版本(显然您不知道),但是对于执行安全审计的人来说,答案是合法的“从不将用户数据传递到unserialize”的高风险。对于错误的PHP版本,结果可能是一场严重的灾难。

您必须真正知道您在做什么来利用上述漏洞,但最终您会发现PHP解释器本身存在一个远程代码执行漏洞,这给攻击者带来了更大的好处。以下是PHP 7中漏洞的详细情况。这显然不直接适用于您,但它表明该漏洞是真实的,它不依赖于有定义类的用户:

https://blog.checkpoint.com/wp-content/uploads/2016/08/Exploiting-PHP-7-unserialize-Report-160829.pdf

还有一些非常基本的信息:

https://www.cisecurity.org/advisory/vulnerabilities-in-php-unserialize-function-could-allow-remote-code-execution/

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/177663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档