easySNS极简社区1.6版存在任意远程文件本地化漏洞

全局搜索getImage,getPic,下载等等关键字

EasySNS 审计

根据注释进行分析,通过getImage函数进行远程图片保存到本地,首先获取到远程文件地址,判断url是否为空,为空直接返回,不为空就判断是否登录获取uid。

判断会否传递地址参数,没有就使用$save_dir='./uploads/picture/cache/'.$uid.'/'; 构造的地址。

EasySNS 审计

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

EasySNS 审计

通过两个方式下载远程文件:curl_init和readfile

跟踪getImage函数发现通过函数getImageLocal进行调用。

EasySNS 审计

全局定位函数getImageLocal

EasySNS 审计

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

webconfig读取后台配置

EasySNS 审计

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

1.放置一个远程的恶意脚本1.php

EasySNS 审计
EasySNS 审计

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-05
  • 2021-05-17
  • 2021-06-16
  • 2021-05-29
  • 2021-11-09
  • 2021-07-20
猜你喜欢
  • 2021-12-24
  • 2021-10-03
  • 2021-11-10
  • 2022-12-23
  • 2021-12-21
  • 2022-02-03
相关资源
相似解决方案