# frozen_string_literal: true12module WPScan3module Finders4module Passwords5# Password attack against the wp-login.php6class WpLogin < CMSScanner::Finders::Finder7include CMSScanner::Finders::Finder::BreadthFirstDictionaryAttack89def login_request(username, password)10target.login_request(username, password)11end1213def valid_credentials?(response)14response.code == 302 &&15Array(response.headers['Set-Cookie'])&.any? { |cookie| cookie =~ /wordpress_logged_in_/i }16end1718def errored_response?(response)19response.code != 200 && response.body !~ /login_error/i20end21end22end23end24end252627