供应商主页:https://wpschoolpress.com/
软件链接:https://wpschoolpress.com/free-download/
版本:最高 2.1.17(不包括在内)
测试:Ubuntu 20.04 over WordPress 5.8 和 apache2
CVE:CVE-2021-24664
该插件使用名为 sanitize_text_field() 的 wordpress 内置函数清理某些字段,但在输出属性之前没有正确转义它们,导致存储跨站点脚本问题。 函数 wp_sanitize_text_field() 转义 < 和 > 但不会转义像 " 这样的字符,允许攻击者破坏 HTML 输入标签并注入任意 javascript。
概念验证:
作为管理员
- 添加新的教师出勤 (/wp-admin/admin.php?page=sch-teacherattendance),勾选缺席框并将以下有效负载放入原因:“style=animation-name:rotation onanimationstart=alert(/XSS /)// 通过单击“添加”按钮添加其他教师出勤时将触发 XSS - 添加一个新的学生出勤 (/wp-admin/admin.php?page=sch-attendance),勾选缺席框并将以下有效负载放入原因:" style=animation-name:rotation onanimationstart=alert(/XSS /)// 通过单击“添加/更新”按钮添加另一个出勤时将触发 XSS
- 添加一个新的主题标记字段 (/wp-admin/admin.php?page=sch-settings&sc=subField) 并将以下有效负载放入“字段”:“ autofocus onfocus=alert(/XSS/)// 编辑创建的主题标记时会触发 XSS(即 /admin.php?page=sch-settings&sc=subField&ac=edit&sid=3)
- 创建一个新的主题 (/wp-admin/admin.php?page=sch-subject),在主题名称字段中包含以下有效负载:“ autofocus onfocus=alert(/XSS/)// 编辑主题时会触发 XSS
- 在考试名称字段中使用以下有效负载创建一个新考试 (/wp-admin/admin.php?page=sch-exams):“ autofocus onfocus=alert(/XSS/)// 编辑 Exam=20 时会触发 XSS
请注意,其中一些 XSS 问题可以由教师(中等特权用户)执行,但由于 wordpress 使用 HTTPonly cookie,因此不可能窃取 cookie。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。