• XSS.stack #1 – первый литературный журнал от юзеров форума

парсер Парсер ссылок по заданным доркам 'GooDork'

k0priz

(L3) cache
Пользователь
Регистрация
23.10.2023
Сообщения
166
Реакции
198
Гарант сделки
4
!!!ДИСКЛЕЙМЕР ,Я НЕ ПРЕТЕНДУЮ НА ЛУЧШИЙ СОФТ ИЛИ ЧТО ТО ПОДОБНОЕ!!!
(Special for XSS forum)

Шалом всем ,сегодня хочу представить свой софт парсинга ссылок по вашим доркам.
Большая часть из нас пользуется сканерами уязвимостей в частности окунем(Acunetix) , и все мы видели что можно сделать масс скан если загружать линки в .csv формате, так вот мой софт может сделать выхлоп сразу в такой файл который вы можете загрузить в окуня.Ведь бывает очень в падлу просто копировать ссылки и вставлять в файл, так вот этот софт облегчит эту задачу.


Инструкция по пользованию:
1.Создайте файл file.txt в директории с софтом в него надо будет загрузить дорки
2.Создайте файл http.csv в директории с софтом в него загрузятся все ваши ссылки по вашему дорку(Дорки можно сделать через https://dorkgpt.com/)

Python:
#Special for XSS forum
import time

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from colorama import Fore


def gogle_parser():
    pa = '''
░██████╗░░█████╗░░█████╗░██████╗░░█████╗░██████╗░██╗░░██╗
██╔════╝░██╔══██╗██╔══██╗██╔══██╗██╔══██╗██╔══██╗██║░██╔╝
██║░░██╗░██║░░██║██║░░██║██║░░██║██║░░██║██████╔╝█████═╝░
██║░░╚██╗██║░░██║██║░░██║██║░░██║██║░░██║██╔══██╗██╔═██╗░
╚██████╔╝╚█████╔╝╚█████╔╝██████╔╝╚█████╔╝██║░░██║██║░╚██╗
░╚═════╝░░╚════╝░░╚════╝░╚═════╝░░╚════╝░╚═╝░░╚═╝╚═╝░░╚═╝ by k0priz for XSS'''

    content = []

    file1 = open("file.txt", "r")

    while True:
        # считываем строку
        line = file1.readline()
        # прерываем цикл, если строка пустая
        if not line:
            break

        content.append(line.strip())
        dork = len(content)

    print(pa)
    print(Fore.GREEN + 'Загрженно дорков', len(content))
    a = int(input(Fore.WHITE + 'Какой дорк будем использовать?: '))

    # проверяем наличие строки
    if a > dork:
        print(Fore.RED + 'Такого дорка нету, повторите попытку')
    elif a <= dork:
        print(Fore.GREEN + f'Используется дорк {content[a]}')
        query = content[a]
        # закрываем файл
        file1.close()

        # Запускаем Chrome WebDriver
        driver = webdriver.Chrome()
        # Переходим на страницу поиска Google
        driver.get("https://www.google.com")

        # Находим поле поиска и вводим запрос
        search_box = driver.find_element_by_name("q")
        search_box.send_keys(query)
        search_box.send_keys(Keys.RETURN)

        time.sleep(2)  # Даем время для загрузки страницы

        # Находим все ссылки на странице
        links = driver.find_elements_by_css_selector('a')

        # открываем файл .csv
        with open('http.csv', 'a') as csvfile:
            for i, link in enumerate(links):
                href = link.get_attribute("href")
                # Проверяем, что ссылка не пуста и начинается с "http" или "www"
                if href and (href.startswith("http") or href.startswith("www")):
                    # Проверяем, что ссылка не содержит "google.com"
                    if 'google.com' not in href:
                        csvfile.write(href + '\n')
        # Закрываем браузер
        driver.quit()
    else:
        print('Ошибка')

if __name__ == '__main__':
    gogle_parser()

Конструктивная критика принимается , и если есть пожелания что то добавить то пишите сделаю вторую версию этого софта.

Всем хорошего дня, выражаю соболезования всем семья пострадавших и погибших из-за вчерашних событий в Мск.Берегите себя.
 
Отличное решение если нужно по множеству дорок спарсить, спасибо. Сейчас полчаса безуспешно пытался вбить scrapebox и ловил деклайны потому что там блядский пейпал процессит. А потом понял что об этом можно было просто попросить чатгпт)
 
Код:
Используется дорк inurl:/forgotpw.php? staff


Traceback (most recent call last):
  File "/home/kali/Desktop/dork searcher/script.py", line 75, in <module>
    gogle_parser()
  File "/home/kali/Desktop/dork searcher/script.py", line 51, in gogle_parser
    search_box = driver.find_element_by_name("q")
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'WebDriver' object has no attribute 'find_element_by_name'

не знаешь случаем как это решить?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
не знаешь случаем как это решить?
вот так попробуй driver.find_element(By.TAG_NAME, "q'')
 
Код:
  File "c:\py\script\dork.py", line 40
    print(Fore.GREEN + f'Используется дорк {content[a]}')
SyntaxError: invalid syntax
Синтаксической ошибки в этой строке нет, попробуете установить:
Bash:
pip install colorama

Но вот логическая ошибка присутствует. К примеру у меня в текстовике 1 строка с дорком. Вопрос возникает на этих строках, по факту тут смещение +1 от элемента, так как индекс элементов списка в питоне начинается с 0 (если я в данном случае выберу 1, получу ошибку от интерпретатора "IndexError: list index out of range"):
1725339314757.png

Python:
    elif a <= dork:
        print(Fore.GREEN + f'Используется дорк {content[a]}')
        query = content[a]

В данном случае надо сделать как-то так:
Python:
    elif a <= dork:
        print(Fore.GREEN + f'Используется дорк {content[a - 1]}')
        query = content[a - 1]
 
Последнее редактирование:
У меня пай 3.4.2, какая версия библиотеки нужна?
Не знаю, в чем смысл использовать версию из времен динозавров? Поставь хотя-бы 3.10
вот так попробуй driver.find_element(By.TAG_NAME, "q'')
Не совсем правильно, так не обратится к строке поиска, да и вообще это бессмысленно (возможно я чего-то не понимаю?), зачем искать через Selenium, когда строку поиска можно передать сразу в ссылке? Но если кому-то надо как у ТС:
Python:
from selenium.webdriver.common.by import By
search_box = driver.find_element(By.NAME, 'q')

P.S. Чуть-чуть переделал под актуальную версию селениума (проверил, отрабатывает, версия Python 3.12, Selenium 4.24.0), также у автора парсер скрейпил только первую страницу выдачи, я добавил цикл в котором делается обход по первым 10 страницам выдачи поисковика:
Python:
#Special for XSS forum
import time

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from colorama import Fore


def gogle_parser():
    pa = '''
░██████╗░░█████╗░░█████╗░██████╗░░█████╗░██████╗░██╗░░██╗
██╔════╝░██╔══██╗██╔══██╗██╔══██╗██╔══██╗██╔══██╗██║░██╔╝
██║░░██╗░██║░░██║██║░░██║██║░░██║██║░░██║██████╔╝█████═╝░
██║░░╚██╗██║░░██║██║░░██║██║░░██║██║░░██║██╔══██╗██╔═██╗░
╚██████╔╝╚█████╔╝╚█████╔╝██████╔╝╚█████╔╝██║░░██║██║░╚██╗
░╚═════╝░░╚════╝░░╚════╝░╚═════╝░░╚════╝░╚═╝░░╚═╝╚═╝░░╚═╝ by k0priz for XSS'''

    content = []

    file1 = open("file.txt", "r")

    while True:
        # считываем строку
        line = file1.readline()
        # прерываем цикл, если строка пустая
        if not line:
            break

        content.append(line.strip())
        dork = len(content)

    print(pa)
    print(Fore.GREEN + 'Загружено дорков', len(content))
    a = int(input(Fore.WHITE + 'Какой дорк будем использовать?: '))

    # проверяем наличие строки
    if a > dork:
        print(Fore.RED + 'Такого дорка нету, повторите попытку')
    elif a <= dork:
        print(Fore.GREEN + f'Используется дорк {content[a - 1]}')
        query = content[a - 1]
        # закрываем файл
        file1.close()

        # Запускаем Chrome WebDriver
        driver = webdriver.Chrome()
        # Переходим на страницу поиска Google
        for j in range(0, 100, 10):
            driver.get(f"https://www.google.com/search?q={query}&start={j}")

            # Находим поле поиска и вводим запрос
            #search_box = driver.find_element(By.NAME, 'q')
            #search_box.send_keys(query)
            #search_box.send_keys(Keys.RETURN)

            time.sleep(2)  # Даем время для загрузки страницы

            # Находим все ссылки на странице
            links = driver.find_elements(By.CSS_SELECTOR, "div.g")
            # открываем файл .csv
            with open('http.csv', 'a') as csvfile:
                for i, link in enumerate(links):
                    link_element = link.find_element(By.CSS_SELECTOR, "a")
                    href = link_element.get_attribute("href")
                    # Проверяем, что ссылка не пуста и начинается с "http" или "www"
                    if href and (href.startswith("http") or href.startswith("www")):
                        # Проверяем, что ссылка не содержит "google.com"
                        if 'google.com' not in href:
                            csvfile.write(href + '\n')
        driver.quit()
    else:
        print('Ошибка')

if __name__ == '__main__':
    gogle_parser()
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх