黑帽SEO
免费发布泛目录 蜘蛛池 黑帽SEO工具

MCMS后台getshell的方法

  版本:mcms<=4.6.5。

  1、漏洞接口地址

  F12发现生成静态页时,传入的参数有后缀,猜测后端处理是否有问题,搜索定位生成静态页的URL:ms/cms/generate/generateIndex.do,搜索定位到src\main\java\com\mingsoft\cms\action\GeneraterAction.java

  2、问题分析

  定位到代码154行,从前台获得url和position 两个参数,看注释为模版文件,参数包含路径+文件名,postion为生成后的路径+文件名

  

  然后以templets/站点ID/模版风格/模版路径拼接到tmpFilePath,tmpFilePath包含文件名,程序假定后缀为html文件即模板文件,而我们可以控制

  183行读取tmpFilePath路径的html模板的内容到htmlContent,如果传入恶意构造的jpg即读到的是jpg的内容

  再看position,定位到170行,未经处理直接拼接到generatePath,这个参数的问题与tmpFilePath的问题一致

  

  192行调用fileutil渲染html并输出,若为jpg文件,没有合法标签故不渲染

  

  导致写入shell

  问题的根源是没有检查url和position参数的合法性问题,用户用合法上传接口上传包含恶意代码的图片构造为url,结合position构造恶意后缀即可写入webshell。

  通过上传接口上传合法文件/upload/1//article/1590640638669.jpg(接口可见上一篇文章)burp修改url和position两个参数

  

  得到shell http://xxx/mcms_war/html/1/shell.jsp

  

未经允许不得转载:黑帽SEO-实战SEO技术培训、泛目录站群、蜘蛛池、流量技术教程 » MCMS后台getshell的方法
分享到: 更多 (0)

黑帽SEO-实战SEO技术培训、泛目录站群、蜘蛛池、流量技术教程

不做韭菜坚决不做韭菜