# frozen_string_literal: true12module WPScan3module Finders4module Passwords5# Password attack against the XMLRPC interface6class XMLRPC < CMSScanner::Finders::Finder7include CMSScanner::Finders::Finder::BreadthFirstDictionaryAttack89def login_request(username, password)10target.method_call('wp.getUsersBlogs', [username, password], cache_ttl: 0)11end1213def valid_credentials?(response)14response.code == 200 && response.body.include?('blogName')15end1617def errored_response?(response)18response.code != 200 && response.body !~ /Incorrect username or password/i19end20end21end22end23end242526