深刻 unserialize() 函数之RCE漏洞身份验证绕过及注入

文章源自-投稿后端

做者-挽梦雪舞微信

扫描下方二维码进入社区app

继续咱们上次的讨论,咱们聊到了PHP的反序列化如何致使漏洞,以及攻击者如何利用POP链来实现RCE攻击。
编辑器

 

今天咱们接着讨论攻击者利用unserialize() 漏洞的其余骚操做。那么即便没法进行RCE攻击,攻击者仍可使用该漏洞来实现身份验证绕过和SQL注入。函数

1、先来谈谈身份验证绕过:flex

除了RCE攻击,unserialize() 一般还被用于绕过应用程序的身份验证控制。目前我了解到的
this

有两种方法能够作到这一点:spa

 

1.经过控制用做访问控制的对象属性。.net

2.利用类型混淆问题来欺骗应用程序。3d

 

可是要注意这两种方法都取决于最终用户能够控制传递给unserialize()的对象的状况。

2、经过控制对象属性来绕过身份验证

其中,攻击者利用反序列化漏洞中最简单最多见的方法之一是控制对象属性来绕过身份验证,示例代码以下:

咱们假设应用程序在注册过程当中调用了一个名为User的类来传递用户数据,用户来填写一个表格,数据将经过序列化后的User对象传递给后端。

 

最终用户控制User对象,而后能够像下面这样简单地操做对象,并注册为admin。

3、使用类型变戏法(type juggling)绕过身份验证

这里继续介绍攻击者利用反序列化漏洞实现身份验证绕过的另外一种方法:利用PHP的类型处理功能。

 

因为攻击者能够彻底控制传递到应用程序中的对象,所以他还能够控制对象属性的变量类型。而后控制属性的变量类型来控制PHP输入变量,从而绕过访问控制。

 

例如这是应用程序用于登陆admin的代码:

那么对于上面的代码,攻击者能够提交以下的POST,以admin身份登陆:

此时,当 (0 == “Admin_Password”) 在PHP中计算为True时,开始执行。而当PHP用于比较不一样类型的变量时,它将尝试将它们转换为通用变量类型。在这种状况下, “Admin_Password” 将转换为整数0,此时 (0 == “Admin_Password”)与 (0 == 0) 等价。

4、SQL注入

若是条件容许,unserialize() 漏洞也可能致使SQL注入。下面是一个如何利用它的示例。

> 相关详细文献参考文末连接

 

这里具体谈下使用POP链实现SQL注入,假设某个应用程序在代码中的某处执行了此操做:

 

它定义了Example3类,而且从POST参数数据中反序列化了未经处理的用户输入

__toString() 是一个 magic 函数,对于它的用法,当将一个类视为字符串时会被调用。在这种状况下,将Example3实例视为字符串时,它会返回obj属性getValue() 的结果。

 

不只如此,继续假设咱们在应用程序中某处还定义了类SQL_Row_Value。它具备一个名为getValue() 的方法,并执行一个SQL查询。具体讲,SQL查询从SQL_Row_Value实例的 _table属性获取输入。

进行到这里已经到尾声了,攻击者能够经过控制实现SQL注入 obj到Example3:

下面提供的示例代码将会建立一个Example3与obj集到SQL_Row_Value,同时用_table设置为字符串“SQL Injection”

这样,只要将攻击者的Example3实例视为字符串,就会执行$ obj的get_Value()。攻击者如今能够限制SQL的注入,由于他能够控制传递到SQL查询 “SELECT * FROM {$this->_table} WHERE id = “ . (int)$id;

References:

图源自互联网

https://owasp.org/www-community/vulnerabilities/PHP_Object_Injection

https://owasp.org/www-community/attacks/SQL_Injection

https://medium.com/@vickieli/diving-into-unserialize-pop-chains-35bc1141b69a

通知!

公众号招募文章投稿小伙伴啦!只要你有技术有想法要分享给更多的朋友,就能够参与到咱们的投稿计划当中哦~感兴趣的朋友公众号首页菜单栏点击【商务合做-我要投稿】便可。期待你们的参与~

记得扫码

关注咱们

本文分享自微信公众号 - 字节脉搏实验室(zijiemaiboshiyanshi)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索