OSSN任意文件读取漏洞(CVE-2020-10560)

## 【漏洞详情】

– 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
1
“`

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AaxDKi0o-1586504452408)(./images/0.png)]](/static/baige/03-产品漏洞/OSSN/OSSN任意文件读取漏洞(CVE-2020-10560)/20200410163252247.png)

– 2.然后使用docker-compose编译启动OSSN环境。
注意:如果这里编译时,提示api版本不匹配,建议卸载安装旧版本docker。

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H1akYXOa-1586504452412)(./images/0-1.png)]](/static/baige/03-产品漏洞/OSSN/OSSN任意文件读取漏洞(CVE-2020-10560)/20200410163733774.png)

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

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aL9o7XHB-1586504452414)(./images/0-2.png)]](/static/baige/03-产品漏洞/OSSN/OSSN任意文件读取漏洞(CVE-2020-10560)/20200410163741293.png)

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

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2jQu4RrH-1586504452416)(./images/1.png)]](/static/baige/03-产品漏洞/OSSN/OSSN任意文件读取漏洞(CVE-2020-10560)/20200410164810782.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MlM54vtJ-1586504452417)(./images/1-1.png)]](/static/baige/03-产品漏洞/OSSN/OSSN任意文件读取漏洞(CVE-2020-10560)/2020041016482081.png)

– 5.点击下一步。

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XBOCEftD-1586504452418)(./images/2.png)]](/static/baige/03-产品漏洞/OSSN/OSSN任意文件读取漏洞(CVE-2020-10560)/2020041016553183.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oOTHrbty-1586504452422)(./images/2-1.png)]](/static/baige/03-产品漏洞/OSSN/OSSN任意文件读取漏洞(CVE-2020-10560)/20200410165538585.png)

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

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

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i94kb9rc-1586504452425)(./images/3.png)]](/static/baige/03-产品漏洞/OSSN/OSSN任意文件读取漏洞(CVE-2020-10560)/20200410165549282.png)

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

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iITRurDd-1586504452426)(./images/5.png)]](/static/baige/03-产品漏洞/OSSN/OSSN任意文件读取漏洞(CVE-2020-10560)/20200410170609550.png)

– 8.环境搭建完成。

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k5rlhpMh-1586504452433)(./images/6.png)]](/static/baige/03-产品漏洞/OSSN/OSSN任意文件读取漏洞(CVE-2020-10560)/20200410170617191.png)

## 【验证详情】

– ### 验证条件

– 首先需要获取site_key的值,在实际环境中可以通过脚本爆破的方式来获取,site_key爆破脚本参考链接:
https://github.com/LucidUnicorn/CVE-2020-10560-Key-Recovery/releases

– 因为这里我们是在本地使用docker搭建的复现环境,我们直接取数据库查询site_key值即可。

– 1.可以看到这里有一个mysql的主机,使用mysql用户名和密码连接数据库(ossn/ossn)。

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CjriiAMV-1586504452435)(./images/7.png)]](/static/baige/03-产品漏洞/OSSN/OSSN任意文件读取漏洞(CVE-2020-10560)/20200410170625966.png)

– 2.查询数据库中的表ossn_ site_settings,找到site_key的值。

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i5y4RPqa-1586504452436)(./images/8.png)]](/static/baige/03-产品漏洞/OSSN/OSSN任意文件读取漏洞(CVE-2020-10560)/20200410172845396.png)

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xIS7E5WI-1586504452439)(./images/9.png)]](/static/baige/03-产品漏洞/OSSN/OSSN任意文件读取漏洞(CVE-2020-10560)/20200410172853620.png)

– ### 验证过程

– 1.复制刚才我们从github上下载的poc进行漏洞利用。

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aYVSXNUA-1586504452441)(./images/9-1.png)]](/static/baige/03-产品漏洞/OSSN/OSSN任意文件读取漏洞(CVE-2020-10560)/20200410172902676.png)

– 2.然后使用python3执行脚本,依次填写site_key,读取的文件,目标网站地址,可以看到成功读取到了目标系统的passwd文件内容。

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pqVfO4GB-1586504452443)(images/10.png)]](/static/baige/03-产品漏洞/OSSN/OSSN任意文件读取漏洞(CVE-2020-10560)/20200410172909952.png)

## 【防御方式】

– 目前厂商已发布升级补丁以修复漏洞,详情请关注厂商主页:
https://www.opensource-socialnetwork.org/

## 【参考资料】

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

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容