ssnepenthe / soter
检查您的 WordPress 网站是否存在 WPScan 安全漏洞数据库 API 的漏洞。
Requires
- php: >=5.4
- composer/installers: ^1.0
- league/plates: ^3.3
- ssnepenthe/metis: ^0.7
- ssnepenthe/soter-core: ^0.2
- ssnepenthe/wp-requirements: ^0.1
- tijsverkoyen/css-to-inline-styles: ^2.0
Requires (Dev)
- psy/psysh: ^0.8
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上也有至少两个类似的命令包可用