Ваши вопросы по уязвимостям.

Discussion in 'Уязвимости' started by darky, 4 Aug 2007.

Thread Status:
Not open for further replies.
  1. BigBear

    BigBear Escrow Service
    Staff Member Гарант - Escrow Service

    Joined:
    4 Dec 2008
    Messages:
    1,801
    Likes Received:
    920
    Reputations:
    862
    Рядом с шеллом был .htaccess ??
     
    _________________________
  2. zloy_fantom

    zloy_fantom New Member

    Joined:
    3 Dec 2012
    Messages:
    46
    Likes Received:
    0
    Reputations:
    0
    вообще-то путь к шеллу http://ххх.ххх.ххх.ххх/shell.php на самом деле длинный, я его просто сократил, возможно .htaccess должен быть не в папке с шеллом, а в корневой...
    Что-то я совсем запутался....
    Выходит, .htaccess как раз и нужен для редиректа, на ххх.ххх.ххх.ххх/ я его не нашел
     
    #21542 zloy_fantom, 9 Dec 2012
    Last edited: 9 Dec 2012
  3. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    Это сплоит для старой версии, и там достаточно заюзать конструкцию по типу ';eval($_GET[e]);//
    и сохранить конфиг
     
    _________________________
  4. HeaVeNSeR

    HeaVeNSeR Member

    Joined:
    3 Dec 2008
    Messages:
    176
    Likes Received:
    11
    Reputations:
    1
    инклуд или просто читалка?

    хелп ми,гайс...

    Url: http://site.com/index.php?thumbnail={code}
    или
    http://site.com/index.php?download={code}

    кусок кода для этих 2 параметров:
    Code:
    if ($_GET["thumbnail"]!="") {
    	GLOBAL $thumbnailHeight, $cacheThumbnails;
    	$thumbnailCacheSubdir = ".snifthumbs";
    	
    	$file = safeDirectory(urldecode($_GET["thumbnail"]));
    	doConditionalGet($_GET["thumbnail"],filemtime($file));
    
    	$thumbDir = dirname($file)."/".$thumbnailCacheSubdir;
    	$thumbFile = $thumbDir."/".basename($file);
    	if ($cacheThumbnails) {
    		if (file_exists($thumbDir)) {
    			if (!is_dir($thumbDir)) {
    				$cacheThumbnails = false;
    			}
    		} else {
    			if (@mkdir($thumbDir)) {
    				chmod($thumbDir, "0777");
    			} else {
    				$cacheThumbnails = false;
    			}
    		}
    		if (file_exists($thumbFile)) {
    			if (filemtime($thumbFile)>=filemtime($file)) {
    				Header("Location: ".dirname($_SERVER["PHP_SELF"])."/".$thumbFile);
    				die();
    			}
    		}
    	}
    	$contentType = "";
    	$extension = strtolower(substr(strrchr($file, "."), 1));
    	switch ($extension) {
    		case "gif":		$src = imagecreatefromgif($file); $contentType="image/gif"; break;
    		case "jpg":		// fall through
    		case "jpeg":	$src = imagecreatefromjpeg($file); $contentType="image/jpeg"; break;
    		case "png":		$src = imagecreatefrompng($file); $contentType="image/png"; break;
    		default:	die(); break;
    	}
    	$srcWidth = imagesx($src);
    	$srcHeight = imagesy($src);
    	$srcAspectRatio = $srcWidth / $srcHeight;
    	
    	$maxAge = 3600; // one hour
    	Header("Cache-Control: public, max-age=$maxAge, must-revalidate");
    	Header("Expires: ".createHTTPDate(time()+$maxAge));
    
    	if ($srcHeight<=$thumbnailHeight AND $srcWidth<=$thumbnailWidth) {
    		Header("Content-Type: $contentType");
    		readfile($file);
    	} else {
    		if ($srcWidth > $srcHeight) {
    			$thumbWidth = $thumbnailWidth;
    			$thumbHeight = $thumbWidth / $srcAspectRatio;
    		} else {
    			$thumbHeight = $thumbnailHeight;
    			$thumbWidth = $thumbHeight * $srcAspectRatio;
    		}
    		if (function_exists('imagecreatetruecolor')) {
    			$thumb = imagecreatetruecolor($thumbWidth, $thumbHeight);
    		} else {
    			$thumb = imagecreate($thumbWidth, $thumbHeight);
    		} 
    		imagecopyresampled($thumb, $src, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $srcWidth, $srcHeight);
    		Header("Content-Type: image/jpeg");
    		if ($cacheThumbnails) {
    			imagejpeg($thumb, $thumbFile);
    			chmod($thumbFile, "0777");
    			readfile($thumbFile);
    		} else {
    			imagejpeg($thumb);
    		}
    	}
    	die();
    }
    if ($_GET["download"]!="") {
    	$download = stripslashes($_GET["download"]);
    	$filename = safeDirectory($path.rawurldecode($download));
    	if (
    		!file_exists($filename)
    		OR fileIsHidden($filename)
    		OR (substr(strtolower($filename), -4)==".php" AND !$allowPHPDownloads)) {
    		
    		Header("HTTP/1.0 404 Not Found");
    		$displayError[] = sprintf(translate("File not found: %s"), $filename);
    	} else {
    		//doConditionalGet($filename, filemtime($filename));
    		Header("Content-Length: ".filesize($filename));
    		Header("Content-Type: application/x-download");
    		Header("Content-Disposition: attachment; filename=\"".rawurlencode($download)."\"");
    		readfile($filename);
    		die();
    	}
    }
    



    allow_url_fopen = On
    allow_url_include = Off


    file:/// - работает
    php://filter/convert.base64-encode/resource - работает
    php://input или data: - не получилось

    логи читает,однако php-код не выполняет(код виден только в исходнике страницы)

    возможен ли тут RFI или LFI?
     
  5. BigBear

    BigBear Escrow Service
    Staff Member Гарант - Escrow Service

    Joined:
    4 Dec 2008
    Messages:
    1,801
    Likes Received:
    920
    Reputations:
    862

    Code:
    if ($_GET["thumbnail"]!="") {
                               ...
                               ...
                               ...
    		if ($cacheThumbnails) {
    			imagejpeg($thumb, $thumbFile);
    			chmod($thumbFile, "0777");
    			[COLOR=Red]readfile($thumbFile);[/COLOR]
    		} else {
    			imagejpeg($thumb);
    		}
    	}
    	die();
    }
    if ($_GET["download"]!="") {
                               ...
                               ...
                               ...	
    		[COLOR=Red]readfile($filename);[/COLOR]
    		die();
    	}
    }
    
    Читалки файлов. Большего из них не выжмешь.
     
    _________________________
  6. HeaVeNSeR

    HeaVeNSeR Member

    Joined:
    3 Dec 2008
    Messages:
    176
    Likes Received:
    11
    Reputations:
    1
    BigBear,спс...
    в этой теме с readfile якобы можно получить веб-шелл...у меня так и не вышло...
    З.Ы. полный соурс этого файла в паблике есть оказывается)
    =>Линк<=
     
  7. zloy_fantom

    zloy_fantom New Member

    Joined:
    3 Dec 2012
    Messages:
    46
    Likes Received:
    0
    Reputations:
    0
    Тут я поторопился с выводом: на \\ххх.ххх.ххх.ххх\ развернут именно OpenVPN, собственно и положил я шелл на него просто через виртуальную сеть, получился путь "Сеть\\ххх.ххх.ххх.ххх\share\install\winrar\keygen\shell.php", видимо, поэтому браузер и подхватывает его через протокол "file://", если обратиться напрямую к адресу http://ххх.ххх.ххх.ххх/ (или любому подкаталогу), происходит редирект на целевой сайт http://site/, как я и писал, при этом ip целевого сайта другой. При этом я точно знаю, что админ у виртуальной сети и целевого сайта один и тот-же, но не могу быть уверенным, что они подняты на одной машине. Как можно это выяснить?
    Может, в такой ситуации, я вообще не смогу запустить шелл?
    Спасибо
     
  8. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,413
    Likes Received:
    910
    Reputations:
    863
    Изучай вниматильней мануалы;)

    P.S: у вас там файловые привилегии, раскрытие путей, есть папки для запеси, шелл отлично льется!
     
    _________________________
    #21548 winstrool, 12 Dec 2012
    Last edited: 12 Dec 2012
  9. BigBear

    BigBear Escrow Service
    Staff Member Гарант - Escrow Service

    Joined:
    4 Dec 2008
    Messages:
    1,801
    Likes Received:
    920
    Reputations:
    862
    Проблемы с кодировкой скорее всего.
     
    _________________________
  10. zloy_fantom

    zloy_fantom New Member

    Joined:
    3 Dec 2012
    Messages:
    46
    Likes Received:
    0
    Reputations:
    0
    Кто-нибудь знает, чем можно открыть файлы .MYD.MYI.frm в удобном оконном интерфейсе? Как-то неохота через командную строку работать (не зная команд mysql)
    Спасибо
     
  11. BigBear

    BigBear Escrow Service
    Staff Member Гарант - Escrow Service

    Joined:
    4 Dec 2008
    Messages:
    1,801
    Likes Received:
    920
    Reputations:
    862
    Я бы на твоём месте скормил их Denwer и через phpmyadmin просмотрел нужные мне таблицы
     
    _________________________
  12. zloy_fantom

    zloy_fantom New Member

    Joined:
    3 Dec 2012
    Messages:
    46
    Likes Received:
    0
    Reputations:
    0
    Спасибо, а можно чуть подробнее: я качаю денвер, устанавливаю его, получив локалхост, загружаю в него полученные файлы БД...
    А дальше?
    phpmyadmin - это примочка денвера? Как ее запустить?
     
  13. zloy_fantom

    zloy_fantom New Member

    Joined:
    3 Dec 2012
    Messages:
    46
    Likes Received:
    0
    Reputations:
    0
    Снимаю вопрос, нарыл инфу, то, что надо, спасибо, вечером поковыряю
     
  14. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    Здравствуйте, решил приобщиться к SQLi(первый день) и назрел такой вот вопрос:
    почему при зупросе http://bkp.bel-bkp.ru/site.php?id=165668-1%20union%20select%201%20-- ошибка, а при http://bkp.bel-bkp.ru/site.php?id=165668-1%20group%20by%201%20-- нормально все?
    Вроде ж 0 столбцов быть не может, а если бы было больше 1, то group by выдало ошибку.
    Заранее благодарен.
     
  15. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,413
    Likes Received:
    910
    Reputations:
    863
    1.Потому что с помощью group by мы подбираем количество колонок и он будт выводить тебе инфу до тех пор пока ты не превысишь этот лемит, т.е в твоем случае всего колоно 25
    и свыше этого числа уже будет выводиться ошибка.
    2. спомощью union select ты можешь вывести принтабельные поля, что облегчает нам дальнейшее проникновение,

    3. Изучите данные раздел, синтаксисы запросов, там все по полочкам расписано https://forum.antichat.ru/thread43966.html
     
    _________________________
  16. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    Спасибо за ответ, именно по этому руководству и учился. Там оказывается в пункте, посвященном group by, в объяснении первого примера ошибка.
     
  17. herfleisch

    herfleisch Elder - Старейшина

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Товарищи, прошу помощи с SQL injection.

    Сервер отвечает так:
    Цветом выделена моя инъекция.

    Я так понимаю, он не может найти таблицу `admin` потому что мой запрос попал в INNER JOIN, верно?

    Как можно обойти?
     
  18. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,413
    Likes Received:
    910
    Reputations:
    863
    Засвети урл ошибки, посмотрим на живом примере!
     
    _________________________
  19. herfleisch

    herfleisch Elder - Старейшина

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Это локальный сервер. К сожалению, нет возможности скинуть линк, ибо он получится вида http://192.168.x.x/script.php
     
  20. zloy_fantom

    zloy_fantom New Member

    Joined:
    3 Dec 2012
    Messages:
    46
    Likes Received:
    0
    Reputations:
    0
    Получилось, вижу пользователей, хеши в md5(phpbb3) и соль, но подозреваю, что соль могла не применяться, можно как-то по хешам определить, посолены они, или нет? И еще вопрос: не нашел сетевых ресурсов расшифровки именно md5(phpbb3)-хешей, может у кого есть на примете? Локально пока остановился на Extreme GPU Bruteforcer, у меня печ560, вроде-бы это лучшее решение, он может сразу обрабатывать файл с паролями и файл с хешами. Как теперь извлечь столбец с хешами из БД в текстовый файл? Там около пятисот значений, так что вручную не осилю.
    Спасибо
     
Thread Status:
Not open for further replies.