Files
codeql/python/ql/test/query-tests/Security/CWE-943-NoSqlInjection/flask_mongoengine_bad.py
Rasmus Lerchedahl Petersen bf8bfd91cd Python: Add inline query test
2023-09-07 10:22:30 +02:00

34 lines
777 B
Python

from flask import Flask, request
from flask_mongoengine import MongoEngine
import json
app = Flask(__name__)
app.config.from_pyfile('the-config.cfg')
db = MongoEngine(app)
class Movie(db.Document):
title = db.StringField(required=True)
Movie(title='test').save()
@app.route("/subclass_objects")
def subclass_objects():
unsafe_search = request.args['search']
json_search = json.loads(unsafe_search)
return Movie.objects(__raw__=json_search) #$ result=BAD
@app.route("/get_db_find")
def get_db_find():
unsafe_search = request.args['search']
json_search = json.loads(unsafe_search)
retrieved_db = db.get_db()
return retrieved_db["Movie"].find({'name': json_search}) #$ result=BAD
# if __name__ == "__main__":
# app.run(debug=True)