CVE-2020-10560 OSSN任意文件读取漏洞复现

***********************
一觉睡到9:30,待会10:05还要上近代史哎!!
CVE-2020-10560 OSSN任意文件读取漏洞复现
网上有很多,但是自己做的时候遇到了很多问题
结合网上的自己写了一个比较全的
参考文章:https://blog.csdn.net/zzgslh/article/details/105436635
***********************

什么是OSSN呢?官网地址:https://www.opensource-socialnetwork.org/

【漏洞详情】

  • CVE-2020-10560 OSSN任意文件读取漏洞,问题出现在Open Source Social Network(OSSN)5.3及之前版本中。攻击者可通过对site_key实施暴力破解攻击来为components/OssnComments/ossn_com.php和libraries/ossn.lib.upgrade.php插入特制的URL,然后利用该漏洞读取任意文件。

【环境搭建】

  • 1.首先通过git命令从github上下载OSSN环境,这里是通过docker搭建漏洞复现环境。

    git clone https://github.com/kevthehermit/CVE-2020-10560

  • 2.然后使用docker-compose编译启动OSSN环境。

    
    注意:如果这里编译时,提示api版本不匹配,建议卸载安装旧版本docker。
    坑:docker-compose: command not found 
        先安装 pip ,检查是否已有: pip -V 
        如果报错:-bash: pip: command not found
        安装  pip :yum -y install epel-release
                    yum -y install python-pip
        如果安装pip过程中提示:The program 'yum' is currently....
        安装yum:apt install yum
        #升级:pip install --upgrade pip
        安装Docker-Compose: pip install docker-compose
        检查是是否成功:docker-compose -version
    
    
    # 如果pip install docker-compose报错可以尝试这个方法安装1.25.0 docker compose
    sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    # 添加可执行权限
    sudo chmod +x /usr/local/bin/docker-compose
    # 测试安装
    sudo docker-compose --version
    

    然后我又遇到了ERROR: Encountered errors while bringing up the project.

    
    #报错原因是端口被占用(我的是80端口被占用)
    netstat -nap | grep 80
    kill 1469
    docker-compose down
    docker-compose up
    

  • 3.编译启动完成,使用docker ps查看,表示环境启动成功。

  • 4.使用通过浏览器访问OSSN环境,需要进行安装,点击下一步。

  • 5.点击下一步。

  • 6.进行网站设置,需要填写数据库信息和网站信息(网站名称和邮箱可以随便填写),点击下一步。

    
      注意:这里的数据库信息填写如下:
      DB: ossn
      username: ossn
      password: ossn 
      host: mysqlserver
    

  • 7.创建管理账户,按要求填写即可。

  • 8.环境搭建完成。

     

  • 验证条件
  • 首先需要获取site_key的值,在实际环境中可以通过脚本爆破的方式来获取,site_key爆破脚本参考链接:
    https://github.com/LucidUnicorn/CVE-2020-10560-Key-Recovery/releases
  • 因为这里我们是在本地使用docker搭建的复现环境,我们直接取数据库查询site_key值即可。
  • 1.可以看到这里有一个mysql的主机,使用mysql用户名和密码连接数据库(ossn/ossn)。
  • 2.查询数据库中的表ossn_ site_settings,找到site_key的值。

  • 验证过程

  • 1.复制刚才我们从github上下载的poc进行漏洞利用
    (POC在哪里呢,就在咱们最开先第一步下载的OSSN环境的压缩包里面
  • https://techanarchy.net/blog/cve-2020-10560-ossn-arbitrary-file-read2.然后使用python3执行脚本,依次填写site_key,读取的文件,目标网站地址,可以看到成功读取到了目标系统的passwd文件内容。
  • 【防御方式】
    • 目前厂商已发布升级补丁以修复漏洞,详情请关注厂商主页:https://www.opensource-socialnetwork.org/

    【参考资料】

    • https://techanarchy.net/blog/cve-2020-10560-ossn-arbitrary-file-read

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注