Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Болталка (https://forum.antichat.xyz/forumdisplay.php?f=46)
-   -   Hack-конкурс (https://forum.antichat.xyz/showthread.php?t=16476)

~Fenix~ 25.03.2006 00:54

Hack-конкурс
 
Объединенный Открытый Проект проводит конкурс на взлом системы управлением сайта на базе форума Intellect Board. Цель конкурса - обнаружить в Intellect Board критические уязвимости, взломать с их использованием официальный сайт http://intboard.ru и прислать на адрес подробное описание уязвимости и совершенного взлома. Фактом взлома считается вписывание в нижнюю строку copyright-сообщения логина на форуме или адреса Email пользователя, осуществившего взлом (подсказка: данная строка хранится в файле config/iboard.php и может быть изменена из Центра Администрирования).

Письма с описанием взлома следует посылать на адрес http://intboard.ru/images/support.gif.

Призы конкурса выплачиваются только через платежные системы WebMoney и Яндекс-Деньги (по выбору победителя конкрурса). Величина приза составляет 10 WMZ при выплате через WebMoney или 300 рублей при выплате через Яндекс-Деньги.

Дата начала конкурса - 1 марта 2006 года. Конкурс проводится в несколько туров. При обнаружении очередной уязвимости конкурс приостанавливается до того момента,когда будет исправлена уязвимость, после чего начинается следующий тур. Признаком того, что в данный момент проводится очередной тур конкурса, является наличие в copyright-сообщении строки "Если вы читаете это, то конкурс продолжается". О завершении конкурса будет объявлено отдельно в новостях проекта Intellect Board.

В том случае если до объявления о завершении очередного тура конкурса было произведено несколько взломов, то выплата призов следующим образом: если для взлома использовались различные уязвимости, то каждому из победителей конкурса выплачивается призовой фонд в полном объеме. Если использовалась одна и та же уязвимость или аналогичные уязвимости (уязвимости одного типа, находящиеся в пределах одной функции), то выигрыш делится поровну между тем, кто первым осуществил взлом, и тем, кто прислал наиболее технически грамотное и подробное описание совершенного взлома (степень грамотности и подробности определяется участниками Объединенного Открытого Проекта). Всвязи с этим настоятельно рекомендуется указывать в письме точное время взлома и IP-адрес, с которого он был совершен.
В конфликтных ситуациях разрешение споров о приоритете взлома определяется по логам Intellect Board и логам Web-сервера для сайта intboard.ru. При несоответствии предоставленных данных об IP и времени взлома данным из логов форума и сервера участник снимается к конкурса.

В выплате призов может быть отказано в следующих случаях:

1. Взлом был осуществлен не через уязвимость в скриптах Intellect Board, а иными способами (включая, но не ограничиваясь подобором пароля для пользователей System и XXXX Pro, захватом почтового ящика XXXX Pro и последующим извлечением пароля на этот ящик, использованием уязвимостей хостинга).
2. Если в результате взлома была нарушена работоспособность форума или произошла потеря данных или был нанесен материальный ущерб Объединенному Открытому Проекту или третьим лицам.
3. При использовании при взломе сайтов, расположенных в доменах 3-ьего уровня зоны intboard.ru (например, тестового форума Intellect Board - http://test.intboard.ru)
4. При отказе сообщить сведения о совершенном взломе и найденной уязвимости.
5. При обнаружении попыток внедрения после взлома вредоносного кода или создания пользователей с повышенными правами, не указанных в описании совершенного взлома.

http://intboard.ru/index.php?f=95

censored! 25.03.2006 03:20

Цитата:

Величина приза составляет 10 WMZ при выплате через WebMoney или 300 рублей при выплате через Яндекс-Деньги
Ради таких денег народ ломать не будет. Точнее - может и будет учавствовать, то точно не ради денег.

Хм... Получилось случайно: вот исходник файла file.php
PHP код:

<? /*

XXXX Pro's Application PHP Programming Interface (XAPhPI) for Intellect Board 2

(c) 2005, XXXX Pro, United Open Project
Visit us online: http://openproj.ru
*/

function &getvar($name) {
  if ((
strpos($name,"_text")!==false && $name!="pv_text" && $name!="pm_text") || $name=="f_rules") {
      if (isset(
$_GET[$name])) $tmp $_GET[$name];
      elseif (isset(
$_POST[$name])) $tmp$_POST[$name];
  }
  else {
      if (isset(
$_GET[$name])) $tmp htmlspecialchars($_GET[$name]);
      elseif (isset(
$_POST[$name])) $tmphtmlspecialchars($_POST[$name]);
  }
  
$tmp=db_slashes($tmp);
  return 
$tmp;
}

function &
build_select($sql,$value="") {
    
$res db_query($sql,$GLOBALS['link']);
    
$tmp "";
    while (
$tmpdata=db_fetch_row($res)) {
        if (
$tmpdata[0]==$value$tmp.="<option value=\"".$tmpdata[0]."\" selected>".$tmpdata[1];
        else 
$tmp.="<option value=\"".$tmpdata[0]."\">".$tmpdata[1];
    }
    
db_free_result($res);
    return 
$tmp;
}

function &
build_sql($prefix) {
  
$tmp "";
  
$prefixlen strlen($prefix);
  foreach (
$_POST as $name=>$value) {
      if (
substr($name,0,$prefixlen)==$prefix && strpos($name,"__")===false && $name!=$prefix."_id") {
           if (
strpos($name,"_text")===false$value=db_slashes(htmlspecialchars($value));
           else 
$value=db_slashes($value);
         if (
$tmp$tmp.=", ";
           
$tmp .= "$name=\"".$value."\"";
         }
  }
  return 
$tmp;
}

function &
build_sql_all($prefix) {
  
$tmp "";
  
$prefixlen strlen($prefix);
  foreach (
$_POST as $name=>$value) {
      if (
substr($name,0,$prefixlen)==$prefix) {
         if (
$tmp$tmp.=", ";
         
$tmp .= "$name=\"".db_slashes($value)."\"";
      }
  }
  return 
$tmp;
}

function 
check($expr) {
    if (
$expr>0) echo "checked";
}

function &
set_select($select,$value) {
    
$select=preg_replace("/selected\s+>/is","",$select);
    
$select=preg_replace("/<option\s+value=\"?$value\"?\.*?>/is","<option value=\"$value\" selected>",$select);
    echo 
$select;
}

function &
build_pages($count,$start,$perpage,$ref) {
    
$reflen strlen($ref);
    if (
$ref[$reflen-1]!="?" && $ref[$reflen-1]!="&") {
        if (!
strpos($ref,"?")) $ref.="?";
        else 
$ref.="&";
    }
    if (!
$perpage$perpage=10;
    
$numpages ceil($count/$perpage);
    
$asterisk floor($start/$perpage)*$perpage;
    if (
$numpages>|| $start>0) {
        
$pages MSG_pages;
        
$number=0;
        for (
$i=1$i<=$numpages$i++) {
          if (
$number!=$start || $start=="all") {
              
$pages.="<a href=\"$ref"."st=".$number."\">$i</a> ";
              if (
$asterisk==$number && $start!="all"$pages.=" * ";              
            } 
            else 
$pages.="$i ";
            
$number+=$perpage;
      }
      if (
$start=="all"$pages.="#";
      else 
$pages.="<a href=\"$ref"."st=all\">#</a> ";
  }
  return 
$pages;
}

function &
getip() {
    
$ip;
    if     (
$_SERVER["HTTP_CLIENT_IP"])       $ip $_SERVER["HTTP_CLIENT_IP"];
    elseif (
$_SERVER["HTTP_X_FORWARDED_FOR"]) $ip $_SERVER["HTTP_X_FORWARDED_FOR"];
    elseif (
$_SERVER["HTTP_FORWARDED_FOR"])   $ip $_SERVER["HTTP_FORWARDED_FOR"];
    else   
$ip $_SERVER["REMOTE_ADDR"];
    
$ip str_replace(";",",",$ip);
    if (
strpos($ip,",")!==false$ip=substr($ip,0,strpos($ip,",")-1);
    return 
$ip;
}

function &
untransliterate($text) {
  
$text str_replace("["," [",$text);
  
$text str_replace("]","] ",$text);
  
$text str_replace("<"," <",$text);
  
$text str_replace(">","> ",$text);
  
$words explode(" ",$text);
  
$skip=0;
  
$skiptag=0;
  foreach (
$words as $curword) {
   if (
strpos($curword,"[url")!==false || strpos($curword,"[code]")!==false || strpos($curword,"[email")!==false ||
       
strpos($curword,"<a")!==false || strpos($curword,"[_")!==false || $skiptag) { $skiptag=1; }
   else {
    if (
strpos($curword,"[")!==false || strpos($curword,"<")!==false || $skip) { $skip 1; }
    elseif (!
array_key_exists($curword,$GLOBALS['smiles'])) {
      
$curword str_replace("ya","я",$curword);
      
$curword str_replace("yo","ё",$curword);
      
$curword str_replace("yu","ю",$curword);
      
$curword str_replace("ay","ай",$curword);
      
$curword str_replace("oy","ой",$curword);
      
$curword str_replace("iy","ий",$curword);
      
$curword str_replace("yy","ый",$curword);
      
$curword str_replace("uy","уй",$curword);
      
$curword str_replace("ey","ей",$curword);
      
$curword str_replace("sch","щ",$curword);
      
$curword str_replace("sh","ш",$curword);
      
$curword str_replace("ch","ч",$curword);
      
$curword str_replace("zh","ж",$curword);
      
$curword str_replace("\'","ь",$curword);
      
$curword str_replace("\"","ъ",$curword);
      
$curword str_replace("`e","э",$curword);
      
$curword str_replace("`i","й",$curword);

      
$curword str_replace("Ya","Я",$curword);
      
$curword str_replace("Yo","Ё",$curword);
      
$curword str_replace("Yu","Ю",$curword);
      
$curword str_replace("Ay","Ай",$curword);
      
$curword str_replace("Oy","Ой",$curword);
      
$curword str_replace("Iy","Ий",$curword);
      
$curword str_replace("Yy","Ый",$curword);
      
$curword str_replace("Uy","Уй",$curword);
      
$curword str_replace("Ey","Ей",$curword);
      
$curword str_replace("Sch","Щ",$curword);
      
$curword str_replace("Sh","Ш",$curword);
      
$curword str_replace("Ch","Ч",$curword);
      
$curword str_replace("Zh","Ж",$curword);

      
$curword str_replace("YA","Я",$curword);
      
$curword str_replace("YO","Ё",$curword);
      
$curword str_replace("YU","Ю",$curword);
      
$curword str_replace("AY","АЙ",$curword);
      
$curword str_replace("OY","ОЙ",$curword);
      
$curword str_replace("IY","ИЙ",$curword);
      
$curword str_replace("YY","ЫЙ",$curword);
      
$curword str_replace("UY","УЙ",$curword);
      
$curword str_replace("EY","ЕЙ",$curword);
      
$curword str_replace("SCH","Щ",$curword);
      
$curword str_replace("SH","Ш",$curword);
      
$curword str_replace("CH","Ч",$curword);
      
$curword str_replace("ZH","Ж",$curword);
      
$curword str_replace("`E","Э",$curword);
      
$curword str_replace("`I","Й",$curword);

      
$lo_lat=array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","r","s","t","u","v","y","z");
      
$lo_rus=array("а","б","ц","д","е","ф","г","х","и","ж","к","л","м","н","о","п","р","с","т","у","в","ы","з");

      
$up_lat=array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","U","V","Y","Z");
      
$up_rus=array("А","Б","Ц","Д","Е","Ф","Г","Х","И","Ж","К","Л","М","Н","О","П","Р","С","Т","У","В","Ы","З");

      
$curword =str_replace($lo_lat,$lo_rus,$curword);
      
$curword =str_replace($up_lat,$up_rus,$curword);
    }
    if (
strpos($curword,"]")!==false$skip=0;
   }
   if (
strpos($curword,"[/url]")!==false || strpos($curword,"[/code]")!==false || strpos($curword,"[/email]")!==false
       
|| strpos($curword,"_]")!==false) { $skiptag=0$skip=0; }
   
$untrans .= $curword." ";
  }
  
$untrans str_replace(" [","[",$untrans);
  
$untrans str_replace("] ","]",$untrans);
  
$untrans str_replace(" <","<",$untrans);
  
$untrans str_replace("> ",">",$untrans);
  return 
$untrans;
}

function 
transliterate($text) {
  
$up_rus=array("А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ь","Ы","Ъ","Э","Ю","Я");
  
$up_lat=array("A","B","V","G","D","E","Yo","J","Z","I","I","K","L","M","N","O","P","R","S","T","U","F","H","C","Ch","Sh","Sch","","Y","","E","Yu","Ya");
  
$lo_rus=array("а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ь","ы","ъ","э","ю","я");
  
$lo_lat=array("a","b","v","g","d","e","yo","j","z","i","i","k","l","m","n","o","p","r","s","t","u","f","h","c","ch","sh","sch","","y","","e","yu","ya");
  
$text=str_replace($up_rus,$up_lat,$text);
  
$text=str_replace($lo_rus,$lo_lat,$text);
  return 
$text;
}

function &
build_date_field($field,$time) {
    
$tmp "<input type=text name=".$field."_day size=2 maxlength=2 value=\"".date("d",$time)."\">.";
    
$tmp .= "<input type=text name=".$field."_mon size=2 maxlength=2 value=\"".date("n",$time)."\">.";
    
$tmp .= "<input type=text name=".$field."_year size=4 maxlength=4 value=\"".date("Y",$time)."\">";
    return 
$tmp;
}

function &
get_date_field($field) {
    
$tmp mktime(0,0,0,getvar($field."_mon"),getvar($field."_day"),getvar($field."_year"));
    return 
$tmp;
}

function &
iptonum($ip) {
    
$ipdata=explode(".",$ip);
    
$num=0;
    for(
$i=0;$i<4;$i++) $num=$num 256+floatval($ipdata[$i]);
    return 
$num;
}

function &
numtoip($num) {
    
$str=floor($num/(256*256*256)).".";
    
$num = ($num/(256*256*256)-floor($num/(256*256*256)))*256*256*256;
    
$str.=floor($num/(256*256)).".";
    
$num $num % (256*256);
    
$str.=floor($num /256).".";
    
$num $num % (256);
    
$str.=$num;
    return 
$str;
}

function 
textarea($text) {
    
$text=str_replace("<","&lt;",$text);
    
$text=str_replace(">","&gt;",$text);
    return 
$text;
}

function 
strips(&$el) { 
  if (
is_array($el)) foreach($el as $k=>$vstrips($el[$k]); 
  else 
$el stripslashes($el); 
}

Еще хреновина какая-то вылазит: http://intboard.ru/index.php?o=users...le&a=listusers

~Fenix~ 25.03.2006 07:41

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

Error404 29.03.2006 10:53

Было же уже...


Время: 12:34