240 likes | 253 Views
Security in Moodle plugins. the world’s open source learning platform. Marina Glancy Moodle HQ. MoodleMoot Australia 2015 #mootau15. About me. the world’s open source learning platform. Security vulnerabilities. 1 developer mistake. +. 1 hacker exploit. =. ∞ infinite damage.
E N D
Security in Moodle plugins the world’s open source learning platform Marina Glancy Moodle HQ MoodleMoot Australia 2015 #mootau15
About me the world’s open source learning platform
Security vulnerabilities 1 developer mistake + 1 hacker exploit = ∞ infinite damage the world’s open source learning platform
Typical security vulnerabilities in Moodle https://docs.moodle.org/dev/Security the world’s open source learning platform
Cross-site scripting (XSS) XSS enables attackers to inject client-side script into Web pages viewed by other users. A cross-site scripting vulnerability may be used by attackers to bypass access controls such as the same-origin policy. Example of “bad” JavaScript Example of “good” JavaScript the world’s open source learning platform
After the attack Moodle administrator Hacker Students Developer Teacher the world’s open source learning platform
Cross-site scripting (XSS) the world’s open source learning platform
Cross-site scripting (XSS) the world’s open source learning platform
Cross-site scripting (XSS) the world’s open source learning platform
Cross-site request forgery (CSRF) Cross-site request forgery, also known as a one-click attack or session riding, is a type of malicious exploit of a website whereby unauthorized commands are transmitted from a user that the website trusts. Unlike cross-site scripting, which exploits the trust a user has for a particular site, CSRF exploits the trust that a site has in a user's browser. the world’s open source learning platform
Cross-site request forgery (CSRF) the world’s open source learning platform
Cross-site request forgery (CSRF) the world’s open source learning platform
Privilege escalation the world’s open source learning platform
Information leakage the world’s open source learning platform
SQL injection $searchstring = optional_param('s', '', PARAM_NOTAGS); $DB->execute(“SELECT * from {sometable} WHERE name LIKE '%” . $searchstring . ”%'”); the world’s open source learning platform
SQL injection the world’s open source learning platform
Command-line and code injection the world’s open source learning platform
Illegal file access the world’s open source learning platform
Denial of service, buffer overflow, timeout the world’s open source learning platform
Moodle security process https://moodle.org/security/ #moodlesecurity the world’s open source learning platform
Thank you the world’s open source learning platform Marina Glancy marina@moodle.com