Files
T

28 lines
1.1 KiB
Python
Raw Normal View History

# Provenance: dolevf/Damn-Vulnerable-GraphQL-Application mutate (vuln).
# repo: dolevf/Damn-Vulnerable-GraphQL-Application
# commit: a961308c02d1fb462b192681c336b0739e432da7
# parent: a961308c02d1fb462b192681c336b0739e432da7
# commit_url: https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application/blob/a961308c02d1fb462b192681c336b0739e432da7/core/views.py#L211
# cve:
# license: MIT
# function: mutate
# relpath: core/views.py
# provenance: human
# mechanism: source_reaches_sink
def mutate(self, info, host='pastebin.com', port=443, path='/', scheme="http"):
url = security.strip_dangerous_characters(f"{scheme}://{host}:{port}{path}")
cmd = helpers.run_cmd(f'curl --insecure {url}')
owner = Owner.query.filter_by(name='DVGAUser').first()
Paste.create_paste(
title='Imported Paste from URL - {}'.format(helpers.generate_uuid()),
content=cmd, public=False, burn=False,
owner_id=owner.id, owner=owner, ip_addr=request.remote_addr,
user_agent=request.headers.get('User-Agent', '')
)
Audit.create_audit_entry(info)
return ImportPaste(result=cmd)