ssnepenthe/soter

检查您的 WordPress 网站是否存在 WPScan 安全漏洞数据库 API 的漏洞。

安装: 217

依赖: 0

建议: 0

安全: 0

星星: 0

关注者: 4

分支: 1

公开问题: 15

类型:wordpress-plugin

0.5.1 2017-10-19 23:00 UTC

This package is auto-updated.

Last update: 2024-09-09 12:53:51 UTC


README

此插件会检查您的网站是否存在针对 WPScan 漏洞数据库 API 的安全漏洞。

最初受到 Sensio Labs 安全检查器PHP 朋友安全警报 的启发,遗憾的是它们没有跟踪 WordPress 漏洞。

WPScan 漏洞扫描器 相比,这是一个更不侵入的替代方案。

注意:此插件不会验证服务器上文件的完整性 - 它仅通过名称/版本检查已安装的包与 WPScan API 提供的已知漏洞列表进行匹配。

要求

WordPress 4.7 或更高版本,PHP 5.4 或更高版本和 Composer。

安装

$ composer require ssnepenthe/soter

使用方法

一旦激活,此插件将每天两次对您的网站进行检查,并在发现漏洞时通知您。

您可以通过访问 wp-admin 中的 设置 > soter 来配置插件。

  • 通知频率:选择是否在每次扫描发现漏洞后接收通知,或者仅在您的网站状态改变时接收通知。
  • 忽略插件和主题:选择不应与 WPScan API 进行检查的任何包。这适用于不受 API 跟踪的定制包,因此可能会生成不必要的 HTTP 请求或可能的误报。
  • 发送电子邮件通知:启用/禁用电子邮件通知。
  • 电子邮件地址:提供其他电子邮件地址以进行通知,而不是网站管理员的电子邮件地址。
  • 电子邮件类型:选择您是否更喜欢 HTML 或纯文本电子邮件。
  • 发送 Slack 通知:启用/禁用 Slack 通知。
  • Slack WebHook URL:如果您希望接收 Slack 通知,请提供 Slack "Incoming WebHook" 集成的 URL。

扩展

有两种简单的方法可以轻松扩展此插件的功能。

通过 Pimple

使用 Pimple extend() 方法修改插件服务。

例如,要添加新的通知器,可以扩展 notifier_manager

这是添加新通知器的首选方法,因为它将自动遵守站点管理员配置的频率设置。

class Sms_Notifier implements Soter\Notifier_Interface {
    public function is_enabled() {
        // Return boolean indicating whether this notifier is currently enabled.
    }

    public function notify( Soter_Core\Vulnerabilities $vulnerabilities ) {
        // Build and send the message.
    }
}

_soter_instance()->extend( 'notifier_manager', function( Soter\Notifier_Manager $manager, Pimple\Container $container ) {
    $manager->add( new Sms_Notifier );

    return $manager;
} );

通过 WordPress 钩子

在扫描网站的过程中,每个包都将单独与 WPScan API 进行检查。

每个包检查完成后,将触发 soter_package_check_complete 动作。

add_action( 'soter_package_check_complete', function( Soter_Core\Vulnerabilities $vulnerabilities, Soter_Core\Response $response ) {
    switch ( $response->get_package()->get_type() ) {
        case Soter_Core\Package::TYPE_PLUGIN:
            // ...
        case Soter_Core\Package::TYPE_THEME:
            // ...
        case Soter_Core\Package::TYPE_WORDPRESS:
            // ...
    }
}, 10, 2 );

所有包检查完成后,将触发 soter_site_check_complete 动作。

add_action( 'soter_site_check_complete', function( Soter_Core\Vulnerabilities $vulnerabilities ) {
    foreach ( $vulnerabilities as $vulnerability ) {
        // ...
    }
} );

致谢

没有 WPScan 团队 和他们令人惊叹的 WPScan 漏洞数据库,这个插件是不可能实现的。

此插件的电子邮件模板是从 Postmark 交易电子邮件模板 生成的,这些模板在 MIT 许可下发布。

WP-CLI

如果您觉得从命令行检查您的网站更合适,那么您很幸运!Soter Command 是 WP-CLI 的配套包,允许您这样做。

GitHub上也有至少两个类似的命令包可用