1. Bitcoin адрес для пожертвований: 1dapfB97R98wg8J3hknWpMDJ7P61CWjNn
    Скрыть объявление
  2. Участникам форума доступны: Skype, WhatsApp и Telegram конференции. Присоединяйтесь!
  3. Наши основные группы и каналы: VK, Twitter. Подписывайтесь!
  4. Мы открыли музыкальный клуб! Заходи и ставь свое музло!
  5. Скрыть объявление

kak zashitit sait ot razboinikov?

Тема в разделе "Архив", создана пользователем vaxov, 13 май 2008.

Статус темы:
Закрыта.
  1. vaxov

    vaxov Новичок

    Репутация

    0 / 0


    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 ...

  2. Злой заяц

    Злой заяц Новичок

    Репутация

    24 / 7


    Скрытый текст:
    Для просмотра скрытого текста Вы должны отключить AdBlock, либо другой блокировщик рекламы.

  3. Firerain

    Firerain Новичок

    Репутация

    0 / 0


    Ну практически все скрипты игр, доступные для свободного скачивания имеют дырки и зачастую это не ошибки программиста, а бэкдор. Нужно самому перекапывать все файлы и смотреть код.

     
  4. vaxov

    vaxov Новичок

    Репутация

    0 / 0


    Код (Text):
    1. <?php
    2. //if(!defined("INSIDE")){ die("attemp hacking");}
    3. $admin_login="admin";   ###### Логин админа  ######
    4. $admin_pass="111111";    ###### Пароль админа ######
    5.  
    6. $img_server="http://img.test2";
    7. $now = time();
    8.  
    9. $link=mysql_connect("localhost","","");
    10. mysql_select_db("",$link) or die ("Ошибка соединения с БД!");
    11. mysql_query("SET CHARSET cp1251");
    12.  
    13. $uri=GetEnv("REQUEST_URI");
    14. $uri=explode("test2",$uri);
    15.  
    16. $ips=GetEnv("REMOTE_ADDR");
    17.  
    18. $ip=explode(".",$ips);
    19.  
    20.  
    21. if (($ip[0] == 62 && $ip[1] == 183 && $ip[2] == 53) || $ips=="80.66.247.94" || $ips=="80.66.253.60") {
    22.         echo"You are died;) Go back;)";
    23.         exit;
    24. }
    25. ?>
    $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


     
  5. CormHolio

    CormHolio Новичок

    Репутация

    0 / 0


    ппц. читать нереально.....
    Банальный логин с паролём =)
    не думал сменить лог и пас и спрятать файл ? =)

     
  6. rednemez

    rednemez Новичок

    Репутация

    0 / 0



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

     
  7. vaxov

    vaxov Новичок

    Репутация

    0 / 0


    Dik pomogi pojalusta

     
  8. meydan

    meydan Старейшина

    Репутация

    0 / 8


  9. airdimka

    airdimka Новичок

    Репутация

    0 / 0


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

     
  10. CormHolio

    CormHolio Новичок

    Репутация

    0 / 0


    всего-то двойное :) если шифровать то сразу пропусканием через чикл из 100 запросов с md5(); =)

     
  11. Splo1teR

    Splo1teR Команда форума Модератор

    Репутация

    45 / 6


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

     
  12. DarkSoul

    DarkSoul Старейшина

    Репутация

    0 / 0


    Достатьчно написать фильтрацию всех SQL запросов.. У меня работает, и ни кто ещё не сломал.

     
  13. bob4k

    bob4k Новичок

    Репутация

    0 / 0


    Splo1teR был бы тебе благодарен если ты напишешь статью по исправлению или состав самих ошибок или подкинь ресурс где всё это написанно ! Буду очень благодарен !

     
  14. Splo1teR

    Splo1teR Команда форума Модератор

    Репутация

    45 / 6


    google.com - держи :)

     
  15. meydan

    meydan Старейшина

    Репутация

    0 / 8


    Зашита от XSS аттак!!!

    Код (Text):
    1. <?
    2. function RemoveXSS(&$val)
    3. {
    4.    // remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed
    5.    // this prevents some character re-spacing such as <java\0script>
    6.    // note that you have to handle splits with \n, \r, and \t later since they *are* allowed in some inputs
    7.    $val = preg_replace('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/', '', $val);
    8.     
    9.    // straight replacements, the user should never need these since they're normal characters
    10.    // 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>
    11.    $search = 'abcdefghijklmnopqrstuvwxyz';
    12.    $search .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    13.    $search .= '1234567890!@#$%^&*()';
    14.    $search .= '~`";:?+/={}[]-_|\'\\';
    15.    for ($i = 0; $i < strlen($search); $i++)
    16.    {
    17.       //;? matches the;, which is optional
    18.       // 0{0,7} matches any padded zeros, which are optional and go up to 8 chars
    19.     
    20.       // &#x0040 @ search for the hex values
    21.       $val = preg_replace('/(&#[xX]0{0,8}'.dechex(ord($search[$i])).';?)/i', $search[$i], $val); // with a;
    22.       // &#00064 @ 0{0,7} matches '0' zero to seven times
    23.       $val = preg_replace('/(&#0{0,8}'.ord($search[$i]).';?)/', $search[$i], $val); // with a;
    24.    }
    25.     
    26.    // now the only remaining whitespace attacks are \t, \n, and \r
    27.    $ra1 = Array('javascript', 'vbscript', 'expression', 'applet',  'xml', 'blink', 'link', 'style', 'script', 'embed', 'object', 'iframe', 'frame', 'frameset', 'ilayer', 'layer', 'bgsound', 'title', 'base');
    28.    $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');
    29.    $ra = array_merge($ra1, $ra2);
    30.     
    31.    $found = true; // keep replacing as long as the previous round replaced something
    32.    while ($found == true)
    33.    {
    34.       $val_before = $val;
    35.       for ($i = 0; $i < sizeof($ra); $i++)
    36.       {
    37.          $pattern = '/';
    38.          for ($j = 0; $j < strlen($ra[$i]); $j++)
    39.          {
    40.             if ($j > 0)
    41.             {
    42.                $pattern .= '(';
    43.                $pattern .= '(&#[xX]0{0,8}([9ab]);)';
    44.                $pattern .= '|';
    45.                $pattern .= '|(&#0{0,8}([9|10|13]);)';
    46.                $pattern .= ')*';
    47.             }
    48.             $pattern .= $ra[$i][$j];
    49.          }
    50.          $pattern .= '/i';
    51.          $replacement = substr($ra[$i], 0, 2).'<x>'.substr($ra[$i], 2); // add in <> to nerf the tag
    52.          $val = preg_replace($pattern, $replacement, $val); // filter out the hex tags
    53.          if ($val_before == $val)
    54.          {
    55.             // no replacements were made, so exit the loop
    56.             $found = false;
    57.          }
    58.       }
    59.    }
    60.    return $val;
    61. }
    62. ?>

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


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

    После...

    Код (Text):
    1. array_walk($_REQUEST,"format_string");
    2. array_walk($_POST,"format_string");
    3. array_walk($_GET,"format_string");
    4.  
    5. array_walk($_REQUEST,"RemoveXSS");
    6. array_walk($_POST,"RemoveXSS");
    7. array_walk($_GET,"RemoveXSS");
    + Спасибочки!!!

     
  16. DTOX

    DTOX Новичок

    Репутация

    0 / 0


    От ддоса как защититься?

     
  17. Splo1teR

    Splo1teR Команда форума Модератор

    Репутация

    45 / 6


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

     
  18. DTOX

    DTOX Новичок

    Репутация

    0 / 0


    Написал бред)) Кто на 10000 машин будет ддосить? Не тупи) :)

     
  19. Stan

    Stan StarCOM Старейшина

    Репутация

    0 / 1


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

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

     
  20. maks-0906

    maks-0906 Новичок

    Репутация

    0 / 0


    Но мелкие сайты таким способом врятли кто-то будет валить

     
  21. Splo1teR

    Splo1teR Команда форума Модератор

    Репутация

    45 / 6


    Поверь мне если комуто будешь мешать, люди не поскупятся заюзать свой ботнет...

     
Статус темы:
Закрыта.