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

Нужно написать простенький парсер/чекер плачу 150$

Couley Erma

ripper
КИДАЛА
Регистрация
24.05.2022
Сообщения
519
Реакции
139
Гарант сделки
3
Депозит
0.001
Пожалуйста, обратите внимание, что пользователь заблокирован
Задача следующая. Из массива логов нужно вытащить по маске url лог и пасс в формате
url:log:pass
Так же по ходу чека нужно,сортировать строки по гео лога.
 
Решение
Python:
import re

logs = [
    "[URL]https://example.com/login.php[/URL] username:test password:123456 geo:USA",
    "[URL]https://example.com/login.php[/URL] username:test2 password:qwerty geo:Canada",
    "[URL]https://example.com/login.php[/URL] username:test3 password:abc123 geo:USA",
    "[URL]https://example.com/login.php[/URL] username:test4 password:password geo:Germany"
]

pattern = re.compile(r"(https?://\S+)\s+username:(\S+)\s+password:(\S+)\s+geo:(\S+)")
results = []

for log in logs:
    match = pattern.search(log)
    if match:
        url, username, password, geo = match.groups()
        results.append(f"{url}:{username}:{password}:{geo}")

results = sorted(results, key=lambda x: x.split(":")[-1])

for result in results:
    print(result)...
Python:
import re

# Пример массива логов
logs = [
    "[URL]https://example.com/login.php[/URL] username:test password:123456 geo:USA",
    "[URL]https://example.com/login.php[/URL] username:test2 password:qwerty geo:Canada",
    "[URL]https://example.com/login.php[/URL] username:test3 password:abc123 geo:USA",
    "[URL]https://example.com/login.php[/URL] username:test4 password:password geo:Germany"
]

# Регулярное выражение для извлечения url, логина и пароля из строки лога
pattern = r"(https?://\S+)\s+username:(\S+)\s+password:(\S+)\s+geo:(\S+)"

# Список для хранения результатов
results = []

# Извлечение данных из логов и добавление их в список результатов
for log in logs:
    match = re.match(pattern, log)
    if match:
        url, username, password, geo = match.groups()
        results.append(f"{url}:{username}:{password}:{geo}")

# Сортировка результатов по гео-логу
results = sorted(results, key=lambda x: x.split(":")[-1])

# Вывод результатов
for result in results:
    print(result)
 
import re

# Пример массива логов
logs = [
"https://example.com/login.php username:test password:123456 geo:USA",
"https://example.com/login.php username:test2 password:qwerty geo:Canada",
"https://example.com/login.php username:test3 password:abc123 geo:USA",
"https://example.com/login.php username:test4 password:password geo:Germany"
]

# Регулярное выражение для извлечения url, логина и пароля из строки лога
pattern = r"(https?://\S+)\s+username:(\S+)\s+password:(\S+)\s+geo:(\S+)"

# Список для хранения результатов
results = []

# Извлечение данных из логов и добавление их в список результатов
for log in logs:
match = re.match(pattern, log)
if match:
url, username, password, geo = match.groups()
results.append(f"{url}:{username}:{password}:{geo}")

# Сортировка результатов по гео-логу
results = sorted(results, key=lambda x: x.split(":")[-1])

# Вывод результатов
for result in results:
print(result)
1677191024650.png

Используйте форматирование "Код".
 
Накидал на коленке, так что учтите это, но возможности неплохие, вот только гео дату не нашел в примерах, поэтому её нет в коде
Сканирует все txt файлы в папке со скриптом, так что имейте ввиду - лучше в отдельной папке запускайте.

Python:
import os
import re

regex_array = [
    r'(https?://\S+/login\.php\?user=(\w+)&(pass|password)=(\w+))',
    r'(https?://\S+\?user=(\w+)&password=(\d+))',
    r'(https?://\S+/login\.php\?user=(\w+)&pass=(\w+))',
    r'(https?://\S+/login\.php\?pass=(\w+)&user=(\w+))',
    r'URL: (\S+)\nLogin: (\S+)\nPassword: (\S+)',
    r'Url: (\S+)\nLogin: (\S+)\nPass: (\S+)'
]

# Define the root directory to start searching
root_directory = "./"

# Iterate over all files and subdirectories in the root directory
for root, dirs, files in os.walk(root_directory):
    # Iterate over all files in the current directory
    for file_name in files:
        # Skip non-text files
        if not file_name.endswith(".txt"):
            continue
        # Build the full path to the file
        file_path = os.path.join(root, file_name)
        # Open the file and read its contents
        with open(file_path, 'r', encoding='iso-8859-1') as f:
                data = f.read()
                for regex in regex_array:
                    matches = re.findall(regex, data)
                    for match in matches:
                        url = match[0]
                        login = match[1]
                        password = match[3] if len(match) > 3 else match[2] if len(match) == 3 else ''
                        if login and password:
                            print(f"{url}:{login}:{password}")
 
Python:
import re

# Пример массива логов
logs = [
    "[URL]https://example.com/login.php[/URL] username:test password:123456 geo:USA",
    "[URL]https://example.com/login.php[/URL] username:test2 password:qwerty geo:Canada",
    "[URL]https://example.com/login.php[/URL] username:test3 password:abc123 geo:USA",
    "[URL]https://example.com/login.php[/URL] username:test4 password:password geo:Germany"
]

# Регулярное выражение для извлечения url, логина и пароля из строки лога
pattern = r"(https?://\S+)\s+username:(\S+)\s+password:(\S+)\s+geo:(\S+)"

# Список для хранения результатов
results = []

# Извлечение данных из логов и добавление их в список результатов
for log in logs:
    match = re.match(pattern, log)
    if match:
        url, username, password, geo = match.groups()
        results.append(f"{url}:{username}:{password}:{geo}")

# Сортировка результатов по гео-логу
results = sorted(results, key=lambda x: x.split(":")[-1])

# Вывод результатов
for result in results:
    print(result)
Молодец, проебал $150
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Основной вопрос - как все же сортировать по гео? Гео есть либо в названии папки с логом, либо в файле info/system. Без этого все теряет смысл.
 
Ну если тс сочтет нужным и не пиздобол то сделает то что предлагал )))
Ну одно дело писать клиенту и выполнять софт по его ТЗ за то получить оплату, а другое дело просто бросить в паблик решение задачи.
Во втором случае это изначально подразумевается как бесплатная помощь, а не проверка на пиздабола и ожидание оплаты потом.
 
Ну одно дело писать клиенту и выполнять софт по его ТЗ за то получить оплату, а другое дело просто бросить в паблик решение задачи.
Во втором случае это изначально подразумевается как бесплатная помощь, а не проверка на пиздабола и ожидание оплаты потом.
Ну я кинул просто пример )
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Ну одно дело писать клиенту и выполнять софт по его ТЗ за то получить оплату, а другое дело просто бросить в паблик решение задачи.
Во втором случае это изначально подразумевается как бесплатная помощь, а не проверка на пиздабола и ожидание оплаты потом.
Черт) Хотелось бы просто файлик(скрипт например) который я могу запустить и он выполнит работу, я совсем не кодер,и на самом деле сейчас не понимаю,как же все таки он будет по гео сортировать)
 
Python:
import re

# Пример массива логов
logs = [
    "[URL]https://example.com/login.php[/URL] username:test password:123456 geo:USA",
    "[URL]https://example.com/login.php[/URL] username:test2 password:qwerty geo:Canada",
    "[URL]https://example.com/login.php[/URL] username:test3 password:abc123 geo:USA",
    "[URL]https://example.com/login.php[/URL] username:test4 password:password geo:Germany"
]

# Регулярное выражение для извлечения url, логина и пароля из строки лога
pattern = r"(https?://\S+)\s+username:(\S+)\s+password:(\S+)\s+geo:(\S+)"

# Список для хранения результатов
results = []

# Извлечение данных из логов и добавление их в список результатов
for log in logs:
    match = re.match(pattern, log)
    if match:
        url, username, password, geo = match.groups()
        results.append(f"{url}:{username}:{password}:{geo}")

# Сортировка результатов по гео-логу
results = sorted(results, key=lambda x: x.split(":")[-1])

# Вывод результатов
for result in results:
    print(result)
Python:
import re

logs = [
    "[URL]https://example.com/login.php[/URL] username:test password:123456 geo:USA",
    "[URL]https://example.com/login.php[/URL] username:test2 password:qwerty geo:Canada",
    "[URL]https://example.com/login.php[/URL] username:test3 password:abc123 geo:USA",
    "[URL]https://example.com/login.php[/URL] username:test4 password:password geo:Germany"
]

pattern = re.compile(r"(https?://\S+)\s+username:(\S+)\s+password:(\S+)\s+geo:(\S+)")
results = []

for log in logs:
    match = pattern.search(log)
    if match:
        url, username, password, geo = match.groups()
        results.append(f"{url}:{username}:{password}:{geo}")

results = sorted(results, key=lambda x: x.split(":")[-1])

for result in results:
    print(result)
Накидал на коленке, так что учтите это, но возможности неплохие, вот только гео дату не нашел в примерах, поэтому её нет в коде
Сканирует все txt файлы в папке со скриптом, так что имейте ввиду - лучше в отдельной папке запускайте.

Python:
import os
import re

regex_array = [
    r'(https?://\S+/login\.php\?user=(\w+)&(pass|password)=(\w+))',
    r'(https?://\S+\?user=(\w+)&password=(\d+))',
    r'(https?://\S+/login\.php\?user=(\w+)&pass=(\w+))',
    r'(https?://\S+/login\.php\?pass=(\w+)&user=(\w+))',
    r'URL: (\S+)\nLogin: (\S+)\nPassword: (\S+)',
    r'Url: (\S+)\nLogin: (\S+)\nPass: (\S+)'
]

# Define the root directory to start searching
root_directory = "./"

# Iterate over all files and subdirectories in the root directory
for root, dirs, files in os.walk(root_directory):
    # Iterate over all files in the current directory
    for file_name in files:
        # Skip non-text files
        if not file_name.endswith(".txt"):
            continue
        # Build the full path to the file
        file_path = os.path.join(root, file_name)
        # Open the file and read its contents
        with open(file_path, 'r', encoding='iso-8859-1') as f:
                data = f.read()
                for regex in regex_array:
                    matches = re.findall(regex, data)
                    for match in matches:
                        url = match[0]
                        login = match[1]
                        password = match[3] if len(match) > 3 else match[2] if len(match) == 3 else ''
                        if login and password:
                            print(f"{url}:{login}:{password}")
Python:
import os
import re

regex_array = [
    re.compile(r'(https?://\S+/login\.php\?user=(\w+)&(pass|password)=(\w+))'),
    re.compile(r'(https?://\S+\?user=(\w+)&password=(\d+))'),
    re.compile(r'(https?://\S+/login\.php\?user=(\w+)&pass=(\w+))'),
    re.compile(r'(https?://\S+/login\.php\?pass=(\w+)&user=(\w+))'),
    re.compile(r'URL: (\S+)\nLogin: (\S+)\nPassword: (\S+)'),
    re.compile(r'Url: (\S+)\nLogin: (\S+)\nPass: (\S+)')
]

root_directory = "./"

for root, dirs, files in os.walk(root_directory):
    for file_name in files:
        if not file_name.endswith(".txt"):
            continue
        file_path = os.path.join(root, file_name)
        with open(file_path, 'r', encoding='iso-8859-1') as f:
            data = f.read()
            for regex in regex_array:
                matches = regex.findall(data)
                if matches:
                    print(f"Matches found in {file_path}:")
                    for url, login, password in matches:
                        if login and password:
                            print(f"{url}:{login}:{password}")

Незначительные изменения внес.
 
Черт) Хотелось бы просто файлик(скрипт например) который я могу запустить и он выполнит работу, я совсем не кодер,и на самом деле сейчас не понимаю,как же все таки он будет по гео сортировать)
Я тебе такой скрипт и скинул, только без сортировки, но её легко добавить.
Не могу файлом скидывать, сайт не позволяет мне, но собрать скрипт в файл довольно просто, уже ответил в лс как это сделать.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
сделайте уже хоть кто-нибудь,чтобы я просто добавил свою маску поиска-запустил,и вуаля все работает)))
Го на басе напишу, если интересно. Напиши в тг @mystery_xss
 
Молодец, проебал $150
Вы режете меня сейчас без ножа. Мы - не коммерческо-барыжнический форум, а тематический, в первую очередь. Как только мы докатимся до того, что начнем требовать или платить деньги за советы и justforfun помощь - нам пора закрываться и расходиться.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Задача следующая. Из массива логов нужно вытащить по маске url лог и пасс в формате
url:log:pass
Так же по ходу чека нужно,сортировать строки по гео лога.
Тоже есть готовый напиши в ЛС
 
Python:
import re

logs = [
    "[URL]https://example.com/login.php[/URL] username:test password:123456 geo:USA",
    "[URL]https://example.com/login.php[/URL] username:test2 password:qwerty geo:Canada",
    "[URL]https://example.com/login.php[/URL] username:test3 password:abc123 geo:USA",
    "[URL]https://example.com/login.php[/URL] username:test4 password:password geo:Germany"
]

pattern = re.compile(r"(https?://\S+)\s+username:(\S+)\s+password:(\S+)\s+geo:(\S+)")
results = []

for log in logs:
    match = pattern.search(log)
    if match:
        url, username, password, geo = match.groups()
        results.append(f"{url}:{username}:{password}:{geo}")

results = sorted(results, key=lambda x: x.split(":")[-1])

for result in results:
    print(result)

Python:
import os
import re

regex_array = [
    re.compile(r'(https?://\S+/login\.php\?user=(\w+)&(pass|password)=(\w+))'),
    re.compile(r'(https?://\S+\?user=(\w+)&password=(\d+))'),
    re.compile(r'(https?://\S+/login\.php\?user=(\w+)&pass=(\w+))'),
    re.compile(r'(https?://\S+/login\.php\?pass=(\w+)&user=(\w+))'),
    re.compile(r'URL: (\S+)\nLogin: (\S+)\nPassword: (\S+)'),
    re.compile(r'Url: (\S+)\nLogin: (\S+)\nPass: (\S+)')
]

root_directory = "./"

for root, dirs, files in os.walk(root_directory):
    for file_name in files:
        if not file_name.endswith(".txt"):
            continue
        file_path = os.path.join(root, file_name)
        with open(file_path, 'r', encoding='iso-8859-1') as f:
            data = f.read()
            for regex in regex_array:
                matches = regex.findall(data)
                if matches:
                    print(f"Matches found in {file_path}:")
                    for url, login, password in matches:
                        if login and password:
                            print(f"{url}:{login}:{password}")

Незначительные изменения внес.
Python:
import os
import re

regex_array = [
    re.compile(r'(https?://\S+/login\.php\?user=(\w+)&(pass|password)=(\w+))'),
    re.compile(r'(https?://\S+\?user=(\w+)&password=(\d+))'),
    re.compile(r'(https?://\S+/login\.php\?user=(\w+)&pass=(\w+))'),
    re.compile(r'(https?://\S+/login\.php\?pass=(\w+)&user=(\w+))'),
    re.compile(r'URL: (\S+)\nLogin: (\S+)\nPassword: (\S+)'),
    re.compile(r'Url: (\S+)\nLogin: (\S+)\nPass: (\S+)')
]

root_directory = "./"

results = []

for root, dirs, files in os.walk(root_directory):
    for file_name in files:
        if not file_name.endswith(".txt"):
            continue
        file_path = os.path.join(root, file_name)
        with open(file_path, 'r', encoding='iso-8859-1') as f:
            data = f.read()
            for regex in regex_array:
                matches = regex.findall(data)
                if matches:
                    for url, login, password in matches:
                        if login and password:
                            result = f"{url}:{login}:{password}"
                            results.append((file_path, result))

# Sort the results by geo-log
results.sort()

# Print the sorted results
for file_path, result in results:
    print(f"{file_path}: {result}")

Добавил извлечение логов, сортировку по гео с указанием пути к файлу перед каждым результатом. В формате как запросил ТС.


Чтобы создать сценарий запуска этого кода одним щелчком мыши как ты хочешь - можно создать сценарий оболочки.
1. Открой текстовый редактор и скопируй код в новый файл.
2. Сохрани файл с именем, заканчивающимся на .sh (например, password_finder.sh), где удобно на ПК.
3. Добавь строку shebang в верхней части файла, чтобы указать используемую оболочку. Например, если ты хочешь использовать оболочку Bash(самое легкое), добавь следующую строку в начало файла:
Код:
#!/bin/bash
4. Сделай скрипт исполняемым с помощью следующей команды:
Код:
chmod +x /path/to/password_finder.sh
5. Замени "/path/to/password_finder.sh" на фактический путь к файлу скрипта.
6. Теперь ты можешь запустить скрипт, дважды щелкнув по нему в ПК или выполнив следующую команду в терминале:
Код:
/path/to/password_finder.sh
7. Если ты хочешь перенаправить вывод в файл, то ты можешь добавить следующую строку в конце скрипта:
Код:
 > output.txt
Это перенаправит вывод в файл с именем output.txt в том же каталоге, что и скрипт.


Вроде бы все по полкам разложил.
 
Решение


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