That's true. My opinion is, if you want something generic, go an step a head and make a generic http_form_login brute forcer :)

On the other hand I dont think it is going to work in a lot of devices because of the signature you're matching to detect valid logins.

```
if response.body =~ /\<META\ HTTP\-EQUIV\=Refresh\ CONTENT\=\'0\;\ url\=index.php\'\>/
```

And the request you're doing to login:

```
      response = send_request_cgi({
        'uri' => @uri,
        'method' => 'POST',
        'vars_post' => {
          "ACTION_POST" => "LOGIN",
          "LOGIN_USER" => user,
          "LOGIN_PASSWD" => pass,
          "login" => "+Log+In+"
        }
      })

```

As far as I understand I guess you can try to do something dlink specific at least.

In my opinion, the actual module isnt generic because it's doing very specific login requests and "login ok" signature matching, but isn't specific neither because it tries to brute auth even if it isn't a dlink device. Because of that I dont like this solution at all. Not sure if there are more opinions about the topic :)