前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WeCenter v3.3.4前台SQL注入漏洞复现

WeCenter v3.3.4前台SQL注入漏洞复现

作者头像
Jumbo
发布2020-02-18 11:13:58
1.5K0
发布2020-02-18 11:13:58
举报

本文是学习 https://xz.aliyun.com/t/7077 结果。

./system/aws_model.inc.php 有个反序列化的利用点:

遍历_shutdown_query的值带入query。

跟入query,直接拼接可造成sql注入漏洞:

现在需要的就是找个反序列化的利用点。这里提下常见的反序列化的利用:

__construct():当对象创建(new)时会自动调用。但在unserialize()时是不会自动调用的。

__destruct():当对象被销毁时会自动调用。

__wakeup() :unserialize()时会自动调用。

做个简单的反序列化利用demo。

1.php会接收传参进行反序列化,并把默认的123写入shell.php中,并做包含:

那我们构造恶意的序列化值,2.php:

提交后成功执行魔术方法:

回到WeCenter,作者并未发现unserialize可利用点,后使用了Phar反序列化。那这里再提下Phar反序列化的常规利用,在seebug文章中有提到:

我们可以简单理解为文件操作配合Phar可以进行反序列化。我们改下上面的demo。

3.php做生成phar文件,生成后后缀可随便,我改成了jpg:

4.php做触发phar反序列化操作:

访问4.php,file_get_contents触发phar反序列化,更改test内容为phpinfo:

我们再次回到WeCenter,现在我们就是找能够触发文件操作的地方。

./models/account.php

其中file_get_contents符合我们要找的东西,并$headimgurl参数可控的话,我们就可以利用phar进行反序列化。

我们再看谁调用了

associate_remote_avatar。

./app/account/ajax.php

synch_img_action方法

给入associate_remote_avatar就是上图的$wxuser['headimgurl'],$wxuser来源于:

而$wxuser['headimgurl']来源于这,也就是从users_weixin表里面取出了headimgurl的字段值:

因此我们找操作users_weixin表的地方。

./models/openid/weixin/weixin.php

bind_account方法会把接收到的$access_user['headimgurl']入库:

我们再找哪个地方调用了bind_account。

./app/m/weixin.php

binding_action方法会调用bind_account:

该方法传给bind_account中$access_user的值来源于$WXConnect['access_user']:

$WXConnect来源于这里:

也就是$WXConnect的值就是cookie中json解码后的值(前缀_WXConnect)。

那我们现在理下攻击思路:

1、生成恶意cookie - $WXConnect

2、binding_action取$WXConnect赋给bind_account

3、bind_account得到$WXConnect后,把值中的headimgurl入库

4、synch_img_action读库

5、把读库的结果赋值给associate_remote_avatar

6、associate_remote_avatar把取到的值给file_get_contents,触发phar反序列化

我们先根据一开始提到的出现的漏洞类生成恶意的phar:

我们再根据入库的字段啥的生成json格式的数据:

最后发起攻击,先给binding_action发送恶意数据,让他取到cookie后给bind_account:

bind_account得到$WXConnect后,把值中的headimgurl入库:

synch_img_action读库后赋值给associate_remote_avatar,associate_remote_avatar把取到的值给file_get_contents,触发phar反序列化:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 中国白客联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档