2016-02-18 3 views
0

Я проверяю приложение MongoDB. Там это приложение, установленное на моей системе, когда я вхожу одиночные кавычки (') в поле ввода она выскочит следующее сообщение об ошибке:Безопасность приложения MongoDb

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred. 
/usr/lib/cgi-bin/mongo/2.2.3/dbparse.py in() 
    41 print "</th>" 
    42 if where: 
=> 43 for record in collection.find(where): 
    44   print "<tr>" 
    45   print "<td align=\"center\">"+record["test"]+"</td>" 
record undefined, collection = Collection(Database(MongoClient('localhost', 27017), u'test_d'), u'london_garages'), collection.find = <bound method Collection.find of Collection(Data...', 27017), u'test_d'), u'l_g')>, where = {'$where': "this.test== ''--'"} 

Какой смысл ошибки? Если у вас есть другой указатель для проверки безопасности этого приложения, пожалуйста, дайте мне знать.

ответ

1

Если посмотреть на ошибки и следующая часть:

where = {'$where': "this.test== ''--'"} 

Я предполагаю, что апостроф идет к где положение (своего рода поиска), так что ваш код, вероятно, что-то вроде следующего:

where = {'$where': "this.test== '[YOUR TEXT BOX INPUT]--'"} 

Одна кавычка преждевременно прекратила свое предложение. Это хорошая демонстрация для инъекции NoSQL.

Смежные вопросы