easySNS极简社区1.6版存在任意远程文件本地化漏洞
全局搜索getImage,getPic,下载等等关键字

根据注释进行分析,通过getImage函数进行远程图片保存到本地,首先获取到远程文件地址,判断url是否为空,为空直接返回,不为空就判断是否登录获取uid。
判断会否传递地址参数,没有就使用$save_dir='./uploads/picture/cache/'.$uid.'/'; 构造的地址。

$ext=strrchr($url,'.');判断.最后一次出现的位置,也就是通过远程文件地址来获取扩展名。此处校验扩展名为gif和jpg被注释掉了

通过两个方式下载远程文件:curl_init和readfile
跟踪getImage函数发现通过函数getImageLocal进行调用。

全局定位函数getImageLocal

通过topicadd新增一个帖子,首先判断是否登录,然后判断发帖时间,$data['content'] = htmlspecialchars_decode($data['content']);解码
webconfig读取后台配置

判断$cache是否为空,为空则返回,不为空则通过查询数据库获取。所以要利用这个漏洞需要后台开启远程图片本地化的配置。
1.放置一个远程的恶意脚本1.php

