• 1.编辑hosts文件
vi /etc/hosts
  • 2.添加以下内容
157.245.200.209        www.soluslabs.com
157.245.200.209        soluslabs.com
157.245.200.209        licensing1.soluslabs.net
157.245.200.209        licensing2.soluslabs.net
157.245.200.209        licensing3.soluslabs.net
157.245.200.209        licensing4.soluslabs.net
157.245.200.209        licensing5.soluslabs.net
157.245.200.209        licensing6.soluslabs.net
  • 3.打开SolusVM后台,打开 Configuration –> License 添加授权码并保存
SVMTL-88888-88888-88888-88888-88888-88888
提示:据说 SolusVM 的主控端还是会偷偷地往法国 OVH 的一个机器发包,非域名,IP 直连请求,可以尝试通过 tcpdump 抓取这个 IP 然后做 iptables 限制访问。
我这边是直接将94.0.0.0/8这个段全部封掉
iptables -I INPUT -s 94.0.0.0/8 -j DROP

授权访问的位置是 /clients/modules/servers/licensing/slbs_verify_license.php

slbs_verify_license.php

<?php
$lgo = new LicenseSys();
class LicenseSys
{
    private $_s_C_OOO_o01 = "ypO%_Y/y0#rY@KFi==@65%swYskCaCTk-52#*StP6HCsrwP!tB";
    private $_s_C_OOO_o02 = "MM=co=_prb+;XyuHkHfNtyWy/y@/FzcofZ9HqjQ9?XxSb96a.d";
    private $_s_C_OOO_o03 = "31m*R*Z!zmnDjdqovF8Wyq1-LZUAFohEKqn652kM.FGykJF7LT";
    private $_s_C_OOO_o04 = "UF*zssdx8E9Q7+tzZ%*Y#j2=/FFZOekUr1BXB6OANpO1-ivAOm";
    private $_s_C_OOO_o05 = 30;
    private $_s_C_OOO_o06 = "+";
    private $_s_C_OOO_o07 = 30;
    private $_s_C_OOO_o08 = "(";
    private $_s_C_OOO_o09 = "=============================== START KEY DATA =================================\n";
    private $_s_C_OOO_o10 = "\n================================ END KEY DATA ==================================";
    public function LicenseEncode($result)
    {
        $resulttraw = serialize($result);
        $resulttraw = base64_encode($resulttraw);
        $md5Hash = md5($resulttraw . $result['checkDate'] . $this->_s_C_OOO_o04);
        $data = $md5Hash . $resulttraw;
        $md5Hash = md5(strrev($data) . $this->_s_C_OOO_o03);
        $data = $md5Hash . strrev($data);
        $data = $this->LicenseEncodePart($data, $this->_s_C_OOO_o01);
        $data = strrev($data);
        $data = gzdeflate($data);
        $data = convert_uuencode($data);
        $data = strrev($data);
        $data = $this->LicenseEncodePart($data, $this->_s_C_OOO_o02);
        $data = strtoupper($data);
        $data = wordwrap($data, 18, "+", true);
        $data = wordwrap($data, 348, "(", true);
        $data = wordwrap($data, 80, "\n", true);
        $data = $this->_s_C_OOO_o09 . $data;
        $data = $data . $this->_s_C_OOO_o10;
        return $data;
    }
    private function LicenseEncodePart($string, $key)
    {
        $key = sha1($key);
        $strLen = strlen($string);
        $keyLen = strlen($key);
        $i = 0;
        $j =0;
        $hash='';
        while ($i < $strLen) {
            $ordStr = ord(substr($string, $i, 1));
            if ($j == $keyLen) {
                $j = 0;
            }
            $ordKey = ord(substr($key, $j, 1));
            $j++;
            $hash .= strrev(base_convert(dechex($ordStr + $ordKey), 16, 36));
            $i += 1;
        }
        return $hash;
    }
}


if(isset($_POST["nodes"]) && isset($_POST["licensekey"]) && isset($_POST["domain"]) && isset($_POST["ip"]) && isset($_POST["dir"])){
    $returnarray = array( 
              'registeredname' =>  '03SEC',
              'companyname' =>  '03SEC' ,
              'email' =>  '[email protected]',
              'productid' =>  '20',
              'productname' =>  'SolusVM Enterprise (RS)',
              'regdate' =>  '2018-07-05',
              'nextduedate' =>  '2999-12-31' ,
              'billingcycle' =>  'Free Account' ,
              'validip' =>  '0.0.0.0',
              'hash2' =>  'dfc82ada90d043bf32568a40ddff8ee27d908bf4e0a916c8b041d2294416ae3310b832838c721b55a79eb125c598d1dc' ,
              'hash' =>  'a0890c3cfe6bd9693afc8d0e18958cbf8bee10cc7f88eb1b0c3278dd24b452508bee10cc7f88eb1b0c3278dd24b45250',
              'status' => 'Active',
              'uuid' => '8c2ee6e2-b5e0-4422-864e-8289d2978521',
              'checkDate' =>  date("Y-M-D"),
              "configoptions" => "Slaves=99999|Mini Slaves=99999|Micro Slaves=99999"
        );
    $data = $lgo->LicenseEncode($returnarray);
    echo($data);
}else{
    echo("No input");
}

nginx 配置

server
    {
        listen 80;
        #listen [::]:80;
server_name www.soluslabs.com soluslabs.com licensing1.soluslabs.net licensing2.soluslabs.net licensing3.soluslabs.net licensing4.soluslabs.net licensing5.soluslabs.net licensing6.soluslabs.net;
        index index.html index.htm index.php default.html default.htm default.php;
        
        
        location /clients/modules/servers/licensing/slbs_verify_license.php
        {
            root  /home/wwwroot/www.soluslabs.com;
            include none.conf;
            include enable-php.conf;
        }

        location /
        {
            proxy_pass http://www.soluslabs.com/;
            proxy_set_header   Host             $host;
            proxy_set_header   Upgrade-Insecure-Requests    1;
            proxy_set_header   User-Agent    $http_user_agent;
        }

        access_log  /home/wwwlogs/www.soluslabs.com.log;
    }
最后修改:2021 年 11 月 23 日
如果觉得我的文章对你有用,请随意赞赏