mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-19 04:59:28 +00:00
25 lines
912 B
Python
25 lines
912 B
Python
# Provenance: erev0s/VAmPI get_user (vuln).
|
|||
|
|
# repo: erev0s/VAmPI
|
||
|
|
# commit: 1713b54b601ad29582581eeda4b31fceb1319874
|
||
|
|
# parent: 1713b54b601ad29582581eeda4b31fceb1319874
|
||
|
|
# commit_url: https://github.com/erev0s/VAmPI/blob/1713b54b601ad29582581eeda4b31fceb1319874/models/user_model.py#L72
|
||
|
|
# cve:
|
||
|
|
# license: MIT
|
||
|
|
# function: get_user
|
||
|
|
# relpath: models/user_model.py
|
||
|
|
# provenance: human
|
||
|
|
# mechanism: source_reaches_sink
|
||
|
|
|
||
|
|
def get_user(username):
|
||
|
|
if vuln: # SQLi Injection
|
||
|
|
user_query = f"SELECT * FROM users WHERE username = '{username}'"
|
||
|
|
query = db.session.execute(text(user_query))
|
||
|
|
ret = query.fetchone()
|
||
|
|
if ret:
|
||
|
|
fin_query = '{"username": "%s", "email": "%s"}' % (ret[1], ret[3])
|
||
|
|
else:
|
||
|
|
fin_query = None
|
||
|
|
else:
|
||
|
|
fin_query = User.query.filter_by(username=username).first()
|
||
|
|
return fin_query
|