# 漏洞总结 ## 漏洞概述 - **漏洞类型**:跨站脚本攻击(XSS) - **漏洞描述**:在 `maxi-blocks` 插件中,`sc_string` 函数未对用户输入进行适当的转义处理,导致攻击者可以通过构造恶意输入执行任意 JavaScript 代码。 ## 影响范围 - **受影响文件**: - `core/class-maxi-api.php` - `core/class-maxi-style-cards.php` - **受影响版本**:2.1.10 及之前版本 ## 修复方案 - **修复文件**: - `core/class-maxi-api.php` - `core/class-maxi-style-cards.php` - **修复内容**: - 在 `sc_string` 函数中,对 `$data['sc_styles']` 和 `$data['sc_variables']` 进行转义处理,防止 XSS 攻击。 - 具体修复代码如下: ```php // core/class-maxi-api.php // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles_preview'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles_preview'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] = wp_strip_all_tags($data['sc_styles']); // 修复前 $new_style_card['maxi_blocks_style_card_styles'] = $data['sc_styles']; // 修复后 $new_style_card['maxi_blocks_style_card_styles'] =