kak zashitit sait ot razboinikov?

Статус
В этой теме нельзя размещать новые ответы.

vaxov

Новичок
Репутация
0 / 7
znachit tak ... ya ustanovil igru ... bilo vse v poryadke , poka ne zashli dvoe i ne nachali delat tam vse chto xoteli , sdelali sebe klan bez pomoshi admina (menya) , pisali v chate Bold shivtom , v itoge pomogite mne sdelat tak chtob v dalneishem ne bili takie sluchai ... obyasnite pozhaluista kak zashitit sait ot vneshnix vozdistvii ?!! zaranee spasibo ...
 
Ну практически все скрипты игр, доступные для свободного скачивания имеют дырки и зачастую это не ошибки программиста, а бэкдор. Нужно самому перекапывать все файлы и смотреть код.
 
Код:
<?php
//if(!defined("INSIDE")){ die("attemp hacking");}
$admin_login="admin";   ###### Логин админа  ###### 
$admin_pass="111111";    ###### Пароль админа ###### 

$img_server="http://img.test2";
$now = time();

$link=mysql_connect("localhost","","");
mysql_select_db("",$link) or die ("Ошибка соединения с БД!");
mysql_query("SET CHARSET cp1251");

$uri=GetEnv("REQUEST_URI");
$uri=explode("test2",$uri);

$ips=GetEnv("REMOTE_ADDR");

$ip=explode(".",$ips);


if (($ip[0] == 62 && $ip[1] == 183 && $ip[2] == 53) || $ips=="80.66.247.94" || $ips=="80.66.253.60") {
        echo"You are died;) Go back;)";
        exit;
}
?>

$admin_login="admin"; ###### Логин админа ######
$admin_pass="111111"; ###### Пароль админа ######

mozhet eto tot samaya dirka ?! i kakim failom oni ispolzuyut tot paroll ? i kak , kakim failom oni zaxodyat ... esli mozhete obyasnite prashu vas ...

Пользуйся программой для Транслита, не все хотят себе глаза портить!!!! :moderator:
MsHard
 
ппц. читать нереально.....
Банальный логин с паролём =)
не думал сменить лог и пас и спрятать файл ? =)
 
ппц. читать нереально.....
Банальный логин с паролём =)
не думал сменить лог и пас и спрятать файл ? =)


Не факт, что они зашли под этим паролем, я так понял, автор темы ставил этот скрипт ни грама его не изменив, а по поводу безопасности, уже была тема, надо перелопатить все скрипты игры, переписав их под сессии, регистр глобалс офф, выставить сейф моде, фильтровать все входящие данные.
 
чего я смог сделать это сделать двойное запароливание пароля md5 с доп символами + пароль на админку , и прицендентов на взлом стало меньше , тоесть если за первые 3 месяца игры взломано было 10 человек а то и больше то после доработки за 1.5 мес ниодного
 
чего я смог сделать это сделать двойное запароливание пароля md5 с доп символами + пароль на админку , и прицендентов на взлом стало меньше , тоесть если за первые 3 месяца игры взломано было 10 человек а то и больше то после доработки за 1.5 мес ниодного

всего-то двойное :) если шифровать то сразу пропусканием через чикл из 100 запросов с md5(); =)
 
Это лишь показывает то что у кого-то был доступ к базе... А это куда страшнее чем взлом игрока. Мой совет:
1)Обязательно Safe Mode ON
2) allow url include OFF
3) Функции типа exec, system, passthru и подобные которые позволяют выполнять произвольный код OFF.
4) Естесно экранировать все кавычки и спец символы, и естессно фильтровать остальные входящие и исходящие данные.
5) Да и ещё голову на плечах и руки не из ж*пы.
Впринципе всё
 
Достатьчно написать фильтрацию всех SQL запросов.. У меня работает, и ни кто ещё не сломал.
 
Splo1teR был бы тебе благодарен если ты напишешь статью по исправлению или состав самих ошибок или подкинь ресурс где всё это написанно ! Буду очень благодарен !
 
Splo1teR был бы тебе благодарен если ты напишешь статью по исправлению или состав самих ошибок или подкинь ресурс где всё это написанно ! Буду очень благодарен !

google.com - держи :)
 
Зашита от XSS аттак!!!
Код:
<?
function RemoveXSS(&$val) 
{ 
   // remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed 
   // this prevents some character re-spacing such as <java\0script> 
   // note that you have to handle splits with \n, \r, and \t later since they *are* allowed in some inputs 
   $val = preg_replace('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/', '', $val); 
    
   // straight replacements, the user should never need these since they're normal characters 
   // this prevents like <IMG SRC=&#X40&#X61&#X76&#X61&#X73&#X63&#X72&#X69&#X70&#X74&#X3A&#X61&#X6C&#X65&#X72&#X74&#X28&#X27&#X58&#X53&#X53&#X27&#X29> 
   $search = 'abcdefghijklmnopqrstuvwxyz'; 
   $search .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; 
   $search .= '1234567890!@#$%^&*()'; 
   $search .= '~`";:?+/={}[]-_|\'\\'; 
   for ($i = 0; $i < strlen($search); $i++) 
   { 
      //;? matches the;, which is optional 
      // 0{0,7} matches any padded zeros, which are optional and go up to 8 chars 
    
      // &#x0040 @ search for the hex values 
      $val = preg_replace('/(&#[xX]0{0,8}'.dechex(ord($search[$i])).';?)/i', $search[$i], $val); // with a; 
      // &#00064 @ 0{0,7} matches '0' zero to seven times 
      $val = preg_replace('/(&#0{0,8}'.ord($search[$i]).';?)/', $search[$i], $val); // with a; 
   } 
    
   // now the only remaining whitespace attacks are \t, \n, and \r 
   $ra1 = Array('javascript', 'vbscript', 'expression', 'applet',  'xml', 'blink', 'link', 'style', 'script', 'embed', 'object', 'iframe', 'frame', 'frameset', 'ilayer', 'layer', 'bgsound', 'title', 'base'); 
   $ra2 = Array('onabort', 'onactivate', 'onafterprint', 'onafterupdate', 'onbeforeactivate', 'onbeforecopy', 'onbeforecut', 'onbeforedeactivate', 'onbeforeeditfocus', 'onbeforepaste', 'onbeforeprint', 'onbeforeunload', 'onbeforeupdate', 'onblur', 'onbounce', 'oncellchange', 'onchange', 'onclick', 'oncontextmenu', 'oncontrolselect', 'oncopy', 'oncut', 'ondataavailable', 'ondatasetchanged', 'ondatasetcomplete', 'ondblclick', 'ondeactivate', 'ondrag', 'ondragend', 'ondragenter', 'ondragleave', 'ondragover', 'ondragstart', 'ondrop', 'onerror', 'onerrorupdate', 'onfilterchange', 'onfinish', 'onfocus', 'onfocusin', 'onfocusout', 'onhelp', 'onkeydown', 'onkeypress', 'onkeyup', 'onlayoutcomplete', 'onload', 'onlosecapture', 'onmousedown', 'onmouseenter', 'onmouseleave', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onmousewheel', 'onmove', 'onmoveend', 'onmovestart', 'onpaste', 'onpropertychange', 'onreadystatechange', 'onreset', 'onresize', 'onresizeend', 'onresizestart', 'onrowenter', 'onrowexit', 'onrowsdelete', 'onrowsinserted', 'onscroll', 'onselect', 'onselectionchange', 'onselectstart', 'onstart', 'onstop', 'onsubmit', 'onunload'); 
   $ra = array_merge($ra1, $ra2); 
    
   $found = true; // keep replacing as long as the previous round replaced something 
   while ($found == true) 
   { 
      $val_before = $val; 
      for ($i = 0; $i < sizeof($ra); $i++) 
      { 
         $pattern = '/'; 
         for ($j = 0; $j < strlen($ra[$i]); $j++) 
         { 
            if ($j > 0) 
            { 
               $pattern .= '('; 
               $pattern .= '(&#[xX]0{0,8}([9ab]);)'; 
               $pattern .= '|'; 
               $pattern .= '|(&#0{0,8}([9|10|13]);)'; 
               $pattern .= ')*'; 
            } 
            $pattern .= $ra[$i][$j]; 
         } 
         $pattern .= '/i'; 
         $replacement = substr($ra[$i], 0, 2).'<x>'.substr($ra[$i], 2); // add in <> to nerf the tag 
         $val = preg_replace($pattern, $replacement, $val); // filter out the hex tags 
         if ($val_before == $val) 
         { 
            // no replacements were made, so exit the loop 
            $found = false; 
         } 
      } 
   } 
   return $val; 
}
?>


Зашита от SQL Inject!!!

Код:
<?
    function format_string(&$string)
       {
           return $string = addslashes(preg_replace(array('/\s+/','/\.+/','/,+/','/\-+/'), array(' ','.',',','-'),trim(stripcslashes($string))));
       }
       function clean_var($var) 
       { #в hidden или в input неважно (в люб html)
         $var=str_replace('&', "&#38", $var);
         $var=str_replace(array('"',"'","`","<",">",'\\'), array('&quot;',"'","`","&#60","&#62","&#92"), $var);
         return $var;
    }
?>


После...

Код:
array_walk($_REQUEST,"format_string");
array_walk($_POST,"format_string");
array_walk($_GET,"format_string"); 

array_walk($_REQUEST,"RemoveXSS");
array_walk($_POST,"RemoveXSS");
array_walk($_GET,"RemoveXSS");

+ Спасибочки!!!
 
От хорошего ддоса защититься практически не возможно ... ибо даже самый лучший и настроенный браэдмауэр и всяческие фильтры не выдержат ботнета и в 10 000 машин. Это говорю как рубящий в теме) От маленького ботнета можно защитится, отслеживая в реальном времени соединения и обрубая подозрительные и настырные и слать их в блеклист...
 
Написал бред)) Кто на 10000 машин будет ддосить? Не тупи) :)
 
Написал бред)) Кто на 10000 машин будет ддосить? Не тупи) :)

В данном случае ступил это ты.

Бот-нет это сеть компьютеров которые заражены и управляются командами... например IRC.. и т.д.. владелец посылает команду и все клиенты (зараженные) начинают ее исполнять... и таким методом можно повалить любой сай! и после таких 1-3х атак тебе просто откажут в хостинге там... или если стоит свой сервер то закроешь из за того что полетит уйма пакетов по портам или другим доступным интерфейсам твоей системы... и сляжет все у тебя... если будут досить апачи непосредственно то апач начнет поглащять ресурс оперы и виртуал кеша и выкинет все проги с памяти...
 
В данном случае ступил это ты.

Бот-нет это сеть компьютеров которые заражены и управляются командами... например IRC.. и т.д.. владелец посылает команду и все клиенты (зараженные) начинают ее исполнять... и таким методом можно повалить любой сай! и после таких 1-3х атак тебе просто откажут в хостинге там... или если стоит свой сервер то закроешь из за того что полетит уйма пакетов по портам или другим доступным интерфейсам твоей системы... и сляжет все у тебя... если будут досить апачи непосредственно то апач начнет поглащять ресурс оперы и виртуал кеша и выкинет все проги с памяти...

Но мелкие сайты таким способом врятли кто-то будет валить
 
Поверь мне если комуто будешь мешать, люди не поскупятся заюзать свой ботнет...
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху