之前提交到某平台的漏洞,现在已经修复
漏洞证明
- 前提条件
用户可以发帖 - 复现步骤
发表帖子后,访问如下链接:1
forum.php?mod=ajax&action=setthreadcover&inajax=1&fid=2&wysiwyg=1&imgurl=ftp://127.0.0.1:8089&tid=26815&pid=1
其中的imgurl是ssrf探测的地址,另外需要将tid修改为自己发表的帖子的tid值.这个值在chrome浏览器前端中搜索tid可以找到.
漏洞分析
漏洞触发的代码在source/module/forum/forum_ajax.phpforum_ajax.php文件大约211行处,调用了setthreadcover函数.
函数会根据第五个参数imgurl发起网络请求,此处imgurl刚好可控.
最终在source/class/class_image.php的init函数中发起请求
挖这个洞的思路
- 思路比较简单,在这个source/class/class_image.php中看到init函数发起网络请求,向上找调用init函数的地方挖掘漏洞.