ATutor 2.2.4 通过备份功能存在任意文件上传漏洞,可能导致远程命令执行。
首先使用讲师账户登录并选择一个课程:
然后导航到 "管理"
接着选择 备份/上传
从这里可以上传一个特制的备份 zip 文件,例如 "pwned_backup.zip",将导致远程命令执行。
PoC 任意文件可在以下位置找到: http://[atutor address]/atutor/content/1/pwned/poc.PhP
或
C:\xampp\htdocs\ATutor\content\1\pwned\poc.PhP
注意:地址中的 "1" 会根据课程编号变化,"content" 目录也可能不同。 然而默认安装要求目录名称为 "content"。此漏洞已在 Linux/Windows 安装上测试过。
包含截图,展示成功复现漏洞的确切步骤。
更新:此问题没有修复方案,ATutor 已不再维护。[2019年5月22日]
有关目录遍历的 PoC 更多信息,请查看:https://github.com/fuzzlove/ATutor-2.2.4-Language-Exploit/
CVE-2019-12170: https://github.com/fuzzlove/ATutor-Instructor-Backup-Arbitrary-File
CVE-2019-12169: https://github.com/fuzzlove/ATutor-2.2.4-Language-Exploit