Пример #1
0
def main():

    filename = sys.argv[0]
    parse = argparse.ArgumentParser(
        description="Usage: {} -u <URL> -o output".format(filename))
    parse.add_argument('-u',
                       "--url",
                       type=str,
                       required=True,
                       help="[+] URL to craw")
    parse.add_argument(
        '-n',
        "--name",
        type=str,
        required=True,
        help=
        "[+] Name of company ex: \n python3 jsearch.py -u https://google.com -n google"
    )
    menu = parse.parse_args()

    if len(sys.argv[1:]) == 0:
        print(parse.print_help())

    jsearch = requests_module.CoreRequests(menu.url, menu.name)
    jsearch.get_content_html()
Пример #2
0
def main():

    filename = sys.argv[0]
    parse = argparse.ArgumentParser(description="Usage: {} -u <URL> -o output".format(filename))
    parse.add_argument('-u', "--url", type=str, required=False, help="[+] URL to craw")
    parse.add_argument('-n', "--name", type=str, required=True, help="[+] Name of company ex: \n python3 jsearch.py -u https://google.com -n google")
    parse.add_argument('-d', "--directory", type=str, required=True, help="[+] Name of directory containing javascript files ex: \n python3 jsearch.py -d /tmp/javascripts")

    menu = parse.parse_args()

    if len(sys.argv[1:]) == 0:
        print(parse.print_help())
    
    if menu.url and menu.name:
       jsearch = requests_module.CoreRequests(menu.url, menu.name)
       jsearch.get_content_html()
       #code has been moded to act this way only if fed these params
    

   
    if menu.directory and menu.name:
       
       file_module_info  = file_handler.FileTracker(menu.directory,menu.name)
       
       print(menu.directory)
       print(file_module_info)
       #here take in directory and grab content from it
       directory_search = file_module_info.file_searcher()
       if file_module_info.found_hits:
          total_finds = len(file_module_info.found_hits)
          print(str(total_finds)+'\n')
          for finds in file_module_info.found_hits:
              print(json.loads(finds))
Пример #3
0
def main():

    filename = sys.argv[0]
    parse = argparse.ArgumentParser(
        description="Usage: {} -u <URL> -o output".format(filename))
    parse.add_argument('-u',
                       "--url",
                       type=str,
                       required=True,
                       help="[+] URL to craw")
    menu = parse.parse_args()

    if len(sys.argv[1:]) == 0:
        print(parse.print_help())

    jsearch = requests_module.CoreRequests(menu.url)
    jsearch.get_content_html()
Пример #4
0
    def get_content_js(self):

        test_conn = requests_module.CoreRequests(self.url_domain,
                                                 self.name_target)
        if test_conn:
            current_dir = os.getcwd()
            path_save = ""
            #parsing_dir_name
            dir_name = urlparse(self.url_domain)
            dir_name = dir_name.hostname
            #dir_name = dir_name.hostname.replace(".", "_", -1)
        else:
            print(f"{self.url_domain} maybe down :/ ?")

        try:
            os.mkdir(str(dir_name))
            print(f">> Create directory {dir_name}")
            print(f">> File will be saved at {dir_name}")
        except FileExistsError as e:
            print(f">> {e}")

        for url_src_tag in self.urls:
            arrays_match = []
            try:
                if url_src_tag[0:2] == "//":
                    url_src_tag = "http:" + url_src_tag
                print(colors.colors.fg.blue +
                      f"[INFO] Getting info from: {url_src_tag}" +
                      colors.colors.reset)
                r = requests.get(url_src_tag,
                                 verify=False,
                                 data={'User-Agent:': self.user_agent},
                                 stream=True)
                content_save = r.content
                for _, v in regex_modules.REGEX_PATT.items():
                    values_found = re.findall(v, r.text)
                    if values_found:
                        for v in values_found:
                            if v in arrays_match:
                                continue
                            else:
                                arrays_match.append(v)

                for url in arrays_match:
                    if "aws" in url:
                        print(colors.colors.fg.red + f"[AWS INFO] {url}" +
                              colors.colors.reset)
                    elif self.host in url:
                        print(colors.colors.fg.orange +
                              f"[DOMAIN INFO] {url}" + colors.colors.reset)
                    elif self.name_target in url:
                        print(colors.colors.fg.orange + f"[NAME INFO] {url}" +
                              colors.colors.reset)
                    else:
                        print(colors.colors.fg.blue + f"[INFO URL] {url}" +
                              colors.colors.reset)

            except ConnectionError as e:
                print(
                    f">> Error while save content from \n{url_src_tag} \n {e}")

            try:
                name_save_url_tag = url_src_tag.replace(".", "_")
                name_save_url_tag = name_save_url_tag.replace("//", "_")
                name_save_url_tag = name_save_url_tag.replace("/", "_")[0:10]
                path_save = current_dir + "/" + dir_name + "/" + name_save_url_tag

                with open(path_save + ".js", 'wb') as f:
                    f.write(content_save)

            except FileNotFoundError as e:
                print(f">> Error while saving JS content to parse \n {e}")