menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right LerxCMS 6.5 后台ssrf getshell chevron_right LerxCMS 6.5 后台ssrf getshell.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    LerxCMS 6.5 后台ssrf getshell.md
    2.94 KB / 2021-07-15 19:56:00
        LerxCMS 6.5 后台ssrf getshell
    =============================
    
    一、漏洞简介
    ------------
    
    LerxCMS 6.5
    版本后台在加载模板时存在SSRF漏洞,通过深入利用该漏洞可以通过远程加载指定的模板文件来Getshell\~
    
    二、漏洞影响
    ------------
    
    LerxCMS 6.5
    
    三、复现过程
    ------------
    
    ### 漏洞分析
    
    文件位置:`lerx_v6.3.0\WebContent\WEB-INF\views\jsp\templet\portal\remote.jsp`
    
    漏洞描述:下载时未对来源做检查,只要URL非空即可,故而存在SSRF:
    
    ![1.png](./resource/LerxCMS6.5后台ssrfgetshell/media/rId25.png)
    
    `lerx_v6.3.0\src\com\lerx\handlers\TempletMainPortalHandler.java`
    
    之后初始化相关设置,并连接提供的URL下载文件,此处的template的路径被初始化为:templates/portal
    
    ![2.png](./resource/LerxCMS6.5后台ssrfgetshell/media/rId26.png)
    
    之后对zip压缩包进行解压,并通过for循环遍历读取zip中的文件并赋值到templetPortalDir目录下,也就是templates/portal目录,之后还会进行一次可读权限赋予操作:
    
    ![3.png](./resource/LerxCMS6.5后台ssrfgetshell/media/rId27.png)
    
    在以上整个过程中,未对url的请求源做安全检查存在SSRF,同时由于模板如果是zip文件则会对其进行一次解压缩操作,故而攻击者可以伪造模板下载服务,之后下载存在shell.jsp文件的压缩包并解压到templates/portal目录,从而成功写入shell到目标站点\~
    
    ### 漏洞复现
    
    首先,在本地将冰蝎提供的shell.jsp打包为zip文件,同时使用python开启一个simpleHTTP服务,来模拟攻击者远程主机提供模板下载服务:
    
    ![4.png](./resource/LerxCMS6.5后台ssrfgetshell/media/rId29.png)
    
    之后使用管理账号lerx/ilovelerx登陆后台,进入到模板页面,选择模板加载:
    
    ![5.png](./resource/LerxCMS6.5后台ssrfgetshell/media/rId30.png)
    
    之后选择默认模板
    
    ![6.png](./resource/LerxCMS6.5后台ssrfgetshell/media/rId31.png)
    
    之后点击获取,同时使用burpsuite抓包:
    
    ![7.png](./resource/LerxCMS6.5后台ssrfgetshell/media/rId32.png)
    
    之后修改url为攻击者主机提供的下载服务对应的地址:
    
    ![8.png](./resource/LerxCMS6.5后台ssrfgetshell/media/rId33.png)
    
    之后释放请求数据包,在攻击者提供的下载服务端成功接受到请求,可见存在SSRF:
    
    ![9.png](./resource/LerxCMS6.5后台ssrfgetshell/media/rId34.png)
    
    之后在服务器端成功上载shell.jsp文件(我们的模板为shell.zip,上载过程中会进行解压缩操作将我们的shell.jsp木马文件解压到templates/portal目录目录下面):
    
    ![10.png](./resource/LerxCMS6.5后台ssrfgetshell/media/rId35.png)
    
    之后使用冰蝎进行连接:
    
    ![11.png](./resource/LerxCMS6.5后台ssrfgetshell/media/rId36.png)
    
    连接成功:
    
    ![12.png](./resource/LerxCMS6.5后台ssrfgetshell/media/rId37.png)
    
    执行命令:
    
    ![13.png](./resource/LerxCMS6.5后台ssrfgetshell/media/rId38.png)
    
    参考链接
    --------
    
    > https://xz.aliyun.com/t/8179\#toc-2
    
    
    links
    file_download