Any questions about previous content?
Server-side exploitation
Remote Code Execution
Injection attacks occur when an attacker injects malicious data that is then used to control program behaviour
Structured Query Language
WHERE
LIKE
UNION …
what?
Why?
SELECT a FROM b WHERE a = '$userInput'
vvvvvvvvvvvvv SELECT a FROM b WHERE a = '' OR '1' = '1' ^^^^^^^^^^^^^
What can you do with SQLi?
You should be asking:
what tables exist, what do they look like?
information_schema.[tables|columns]sqlite_[master|schema]SHOW TABLES; DESCRIBE <table_name>Server side template injection
In the backend:
output = template.render(name=request.args.get('name'))
Attacker requests:
http://vulnerable-website.com/?name={{bad-stuff}}
bad-stuff could be code to execute
Local File (Inclusion|Disclosure)
http://vulnerable_host/preview.php?file=../../../../etc/passwd
https://php-lfd.quoccacorp.com/?page=../../../../../../password.txt
[more info]
Server-side request forgery
Utilising functionalities of a server to access resources