aboutsummaryrefslogtreecommitdiff
path: root/modules/haveibeenpwned.py
blob: 62566823ad38e555e39f663d0cca64c2c80931ac (about) (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from src import ModuleManager, Utils

URL_HAVEIBEENPWNEDAPI = "https://haveibeenpwned.com/api/v2/breachedaccount/%s"
URL_HAVEIBEENPWNED = "https://haveibeenpwned.com/"

class Module(ModuleManager.BaseModule):
    @Utils.hook("received.command.beenpwned", min_args=1)
    def beenpwned(self, event):
        """
        :help: Find out if a username, email or similar has appeared in any
            hacked databases
        :usage: <username/email>
        """
        page = Utils.get_url(URL_HAVEIBEENPWNEDAPI % event["args"], json=True,
            code=True)
        if page:
            code, page = page
            if code == 200:
                event["stdout"].write(
                    "It seems '%s' has been pwned. check on %s." % (event["args"],
                    URL_HAVEIBEENPWNED))
            else:
                event["stdout"].write("It seems '%s' has not been pwned" % (
                    event["args"]))
        else:
            event["stderr"].write("Failed to load results")