Projects STRLCPY Maryam Commits 37e3b79d
🤬
  • ■ ■ ■ ■ ■ ■
    maryam/core/util/osint/numverify.py
    skipped 14 lines
    15 15  along with this program. If not, see <http://www.gnu.org/licenses/>.
    16 16  """
    17 17   
    18  -import re
    19  -import hashlib
    20  -import html
     18 +import random
    21 19   
    22 20  class main:
    23 21   
    24 22   def __init__(self, num):
    25 23   """ numverify search engine
    26  - num : number to search
     24 + num : number to search
     25 + country : country code
     26 +
    27 27   """
    28 28   self.framework = main.framework
    29 29   self.num = num
    30 30   self._json = ''
    31  - self._suffix = ''
    32  - self.numverify = 'https://numverify.com'
    33  - 
    34  - def forge_secret(self):
    35  - # Numverify uses AJAX with an insecure hash to verify its requests
    36  - # A secret value from a tag is appended to the phone number and md5'd
    37  - return hashlib.md5((self.num+self._suffix).encode()).hexdigest()
     31 + self.numverify = 'http://apilayer.net/api/validate'
     32 + self.keys = [
     33 + '3489ab1ab092628f8b2a63b3d94b75f3',
     34 + 'ea52c77e9877dd4fdb83bdec925d3eeb',
     35 + 'e6f3944b3724f836871a4f9dcc546eb6',
     36 + '3796398e6c96912c29a56ec0177b8d6b',
     37 + '95f0bc6561937986c3386b1ffcd36ae9',
     38 + 'd49245f8853efbff4dfd245387531727',
     39 + '62552e99ed3cb92159be4153242b7eea',
     40 + '1322a4a256acd589e2e3ce73e65fdd3f',
     41 + '3fcf94548f2177e781eff270d43790f6',
     42 + '7778341260206c06fac4a2727a27955f',
     43 + 'a0bfc16589d513fc472832935c9c6528',
     44 + '3618d844c1b6802106a6309c92c71ac2',
     45 + '376bbc8ef5ee4a9d8f6a81a7ddd9f4cd',
     46 + 'd4e8383a4f2efec6e523faad8797c4d1',
     47 + '0a45e3f8273a7f929f4ec237e4f24d10',
     48 + '64edafd9cc5d839d8d9bac9ac0837851',
     49 + '5165b0fec39bb03e42f43d4cc5513dcb',
     50 + 'e2a851b9b76a579c0fef4304969546e7',
     51 + '9a39c3058615ec330c7223a596f62934',
     52 + '2a06b63cb88a13ebeea7e5f83f01f8d7',
     53 + '1ed52249226585cdb176926e34d75aa5',
     54 + '8a6cb00cac3c904dd1c82b29ab5061d0',
     55 + 'fe11bd5cfea457f9fda5ed3fecc8fc54'
     56 + ]
    38 57   
    39 58   def run_crawl(self):
    40  - from bs4 import BeautifulSoup as bs
    41  - 
    42 59   self.framework.verbose('Searching...')
    43  - self.num = re.sub(r'\+|\s', '', self.num);
    44 60   try:
    45  - req = self.framework.request(url=self.numverify)
    46  - soup = bs(req.text,'html.parser')
    47  - 
    48  - self._suffix = soup.find('input', {'name': 'scl_request_secret'})['value']
    49  - secret = self.forge_secret()
    50  - url = ''.join([f'{self.numverify}/php_helper_scripts/phone_api.php',
    51  - f'?secret_key={secret}&number={self.num}'])
    52  - 
    53  - req = self.framework.request(url=url)
     61 + payload = {
     62 + 'access_key': random.choice(self.keys),
     63 + 'number': self.num,
     64 + 'format': 1
     65 + }
     66 + req = self.framework.request(
     67 + url=self.numverify,
     68 + params=payload)
    54 69   self._json = req.json()
    55 70   except Exception as e:
    56 71   self.framework.error(f"ConnectionError {e}.", 'util/numverify', 'run_crawl')
    skipped 7 lines
  • ■ ■ ■ ■ ■ ■
    maryam/modules/osint/phone_number_search.py
    skipped 21 lines
    22 22   'description': 'A Search Engine for Phone Number Enumeration.',
    23 23   'sources': ('numverify'),
    24 24   'options': (
    25  - ('number', None, True, 'Phone number (Must include area code)', '-n', 'store', str),
     25 + ('number', None, True, 'Phone number (include area code)', '-n', 'store', str),
    26 26   ),
    27  - 'examples': ('phone_number_search -n 911234567890')
     27 + 'examples': ('phone_number_search -n +911234567890')
    28 28  }
    29 29   
    30 30  def module_api(self):
    skipped 15 lines
Please wait...
Page is in error, reload to recover