ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Принимать Set-Cookie средствами пхп
  #1  
Старый 17.04.2007, 23:35
Аватар для beerbear
beerbear
Новичок
Регистрация: 15.04.2007
Сообщений: 23
Провел на форуме:
208347

Репутация: 4
По умолчанию Принимать Set-Cookie средствами пхп

Отправляю POST запрос на сервер. Он мне пытается вставить куки:

Set-Cookie:блаблабла1
Set-Cookie:блаблабла2
Set-Cookie:блаблабла3


Каким образом при помощи пхп перехватить эти куки , чтобы потом их юзать при следующем запросе?

Сорри, если вопрос ламерский - я в пхп нуб пока.

Спасибо!
 
Ответить с цитированием

  #2  
Старый 17.04.2007, 23:55
Аватар для beerbear
beerbear
Новичок
Регистрация: 15.04.2007
Сообщений: 23
Провел на форуме:
208347

Репутация: 4
По умолчанию

Короче, попытаюсь написать поподробнее...

При помощи Inetcrack отправляю:

Код:
POST http://site.com/login HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
Referer: http://site.com
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: site.com
Content-Length: 47
Pragma: no-cache
Cookie: PHPSESSID=2f83a67a61ef83594528c117c25a7da3

username=usver&password=123456&processlogin=1

Получаю ответ:

Код:
HTTP/1.0 302 Found
Date: Tue, 17 Apr 2007 18:23:23 GMT
Server: Apache
X-Powered-By: PHP/5.2.0-8
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: private
Pragma: no-cache
Set-Cookie: PHPSESSID=dbad9cfe26fa3aa839312951e7053c4d; path=/; domain=.site.com
Set-Cookie: loginname=usver; path=/; domain=.site.com
Set-Cookie: id_hash=bca49e192dce15ec725dce475e59d1a0; path=/; domain=.site.com
location: http://site.com/authloggedin
Content-Length: 0
nnCoection: close
Content-Type: text/html; charset=UTF-8
RemovedHdr: Keep-Alive

И потом снова отправляю:

Код:
GET http://site.com/ HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
Referer: http://site.com/login
Accept-Language: ru
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: site.com
Pragma: no-cache
Cookie: PHPSESSID=dbad9cfe26fa3aa839312951e7053c4d; loginname=usver; id_hash=bca49e192dce15ec725dce475e59d1a0

И все...

Как реализовать все это на пхп?
Если можно - приведите код.. Битый час пытаюсь написать этот скрипт, но нифига не фурычит... По-моему, я где-то туплю..
 
Ответить с цитированием

  #3  
Старый 17.04.2007, 23:55
Аватар для nc.STRIEM
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

открываеш сокет, отправляеш http заголовок, потом читаеш ответ,в нем будут твои куки! Ты их просто выдираеш оттуда и юзаеш!
 
Ответить с цитированием

  #4  
Старый 17.04.2007, 23:58
Аватар для beerbear
beerbear
Новичок
Регистрация: 15.04.2007
Сообщений: 23
Провел на форуме:
208347

Репутация: 4
По умолчанию

Цитата:
Сообщение от nc.STRIEM  
открываеш сокет, отправляеш http заголовок, потом читаеш ответ,в нем будут твои куки! Ты их просто выдираеш оттуда и юзаеш!
Необходимо, чтобы скрипт самостоятельно выдирал куки, а потом юзал их при Get запросе.
 
Ответить с цитированием

  #5  
Старый 18.04.2007, 00:12
Аватар для AkyHa_MaTaTa
AkyHa_MaTaTa
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме:
3152874

Репутация: 1020


Отправить сообщение для AkyHa_MaTaTa с помощью ICQ
По умолчанию

Цитата:
Сообщение от beerbear  
Необходимо, чтобы скрипт самостоятельно выдирал куки, а потом юзал их при Get запросе.
сохраняешшь состояние сокета в переменую, потом парсишь эту переменую например с помощью регулярки(регулярного выражения) Cookie: PHPSESSID=2f83a67a61ef83594528c117c25a7da3 потом вставляешь в переменую и опять отсылаещь.
Как я понял ты хочешь че то брутануть, зделай все в цикле, условием остановки которого будет удачный ответ.

Последний раз редактировалось AkyHa_MaTaTa; 18.04.2007 в 00:18..
 
Ответить с цитированием

  #6  
Старый 18.04.2007, 01:45
Аватар для mR_LiNK[deface_0nl
mR_LiNK[deface_0nl
Участник форума
Регистрация: 12.12.2006
Сообщений: 158
Провел на форуме:
1364740

Репутация: 114
По умолчанию

2beerbear
вот примерный вариант шаблона, который тебе нужен. Если че-то не понятно, тогда помочь могут только маны пХп (работа с сокетами, http протокол, ессии, ну и парсинг строковыми функциями)
PHP код:
<?
//соединяемся с сервером
$fp fsockopen($hostname80$errno$errstr30);
if(!
$fp
//проверяем успешность соединения
  
echo "$errstr ($errno)<br />\n";
} else {
        
//пишешь заголовки, к примеру
        
$header 'POST http://site.com/login HTTP/1.0';
        
$header .= //подставляешь нужные заголовки...
        
        
for(){ //кол-во вложенных циклов зависит от кол-ва переменных для брута
// если логин и пароль, то 2-а цикла
                
$header .= //дописываешь нужные переменные
        //отправляем запрос
       
fputs($fp$header); 
        
//построчно считываешь соединение    
        //и парсишь
         
for($i=0;$i<count($answer);$i++) {
$answer[]=fgets($socket);
          if(
strpos($answer[$i], 'базис сравнения')!==false//... даллее действие при совпадении
          
fclose($sock);
                                         }
               }
?>

Последний раз редактировалось mR_LiNK[deface_0nl; 18.04.2007 в 01:58..
 
Ответить с цитированием

  #7  
Старый 18.04.2007, 03:38
Аватар для beerbear
beerbear
Новичок
Регистрация: 15.04.2007
Сообщений: 23
Провел на форуме:
208347

Репутация: 4
По умолчанию

Спасибо, конечно, за ответы всем.. Вот только вы меня не так поняли.. =) Брутить я никого не собираюсь..
Просто мне надо повторить описанные выше запросы при помощи скрипта на пхп.

Т.е. скрипт должен отправлять POST запрос на site.com/login, чтобы получить куки:

Set-Cookie: PHPSESSID=dbad9cfe26fa3aa839312951e7053c4d; path=/; domain=.site.com
Set-Cookie: loginname=usver; path=/; domain=.site.com
Set-Cookie: id_hash=bca49e192dce15ec725dce475e59d1a0; path=/; domain=.site.com

сохранить эти куки в переменную, а потом в GET запросе выставить эти куки.

Я просто не знаю, как это реализовать.

Получается скрипт после ответа сервера получает куки и идентификатор сессии и GET запросом переходит на нужную мне страницу www.site.com/dir/dir2.

Список логинов.паролей юзеров у меня есть.
Основная трудность, как подставить куки, полученные в ответе сервера в GET запрос?

Спасибо!
 
Ответить с цитированием

  #8  
Старый 18.04.2007, 09:21
Аватар для _Great_
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

Цитата:
Т.е. скрипт должен отправлять POST запрос на site.com/login, чтобы получить куки:

Set-Cookie: PHPSESSID=dbad9cfe26fa3aa839312951e7053c4d; path=/; domain=.site.com
Set-Cookie: loginname=usver; path=/; domain=.site.com
Set-Cookie: id_hash=bca49e192dce15ec725dce475e59d1a0; path=/; domain=.site.com

сохранить эти куки в переменную, а потом в GET запросе выставить эти куки.

Я просто не знаю, как это реализовать.
Получаешь весь хидер в буфер, а потом выдираешь все Set-Cookie регуляркой, например, preg_match( )
 
Ответить с цитированием

  #9  
Старый 18.04.2007, 12:08
Аватар для AkyHa_MaTaTa
AkyHa_MaTaTa
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме:
3152874

Репутация: 1020


Отправить сообщение для AkyHa_MaTaTa с помощью ICQ
По умолчанию

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

http://slil.ru/24253456
 
Ответить с цитированием

  #10  
Старый 18.04.2007, 22:51
Аватар для hidden
hidden
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме:
5887054

Репутация: 1292


По умолчанию

МДА, ещё с первого поста можно было понять, что сокетом он уже умеет пользовапться и ему не нужно учиться им пользоваться второй раз, ему нужно пропарсить куки.
Код:
<?

$a_cookie = array();

ParseCookie('HTTP/1.0 302 Found
Date: Tue, 17 Apr 2007 18:23:23 GMT
Server: Apache
X-Powered-By: PHP/5.2.0-8
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: private
Pragma: no-cache
Set-Cookie: PHPSESSID=dbad9cfe26fa3aa839312951e7053c4d; path=/; domain=.site.com
Set-Cookie: loginname=usver; path=/; domain=.site.com
Set-Cookie: id_hash=bca49e192dce15ec725dce475e59d1a0; path=/; domain=.site.com
location: http://site.com/authloggedin
Content-Length: 0
nnCoection: close
Content-Type: text/html; charset=UTF-8
RemovedHdr: Keep-Alive', $a_cookie);

ParseCookie('HTTP/1.0 302 Found
Date: Tue, 17 Apr 2007 18:23:23 GMT
Server: Apache
X-Powered-By: PHP/5.2.0-8
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: private
Pragma: no-cache
Set-Cookie: PHPSESSID=2f83a67a61ef83594528c117c25a7da3
Content-Length: 0
nnCoection: close
Content-Type: text/html; charset=UTF-8
RemovedHdr: Keep-Alive', $a_cookie);

$cookie = array();

foreach($a_cookie as $param => $value)
{ 
  $cookie[] = "$param=$value";
}

echo '<pre>Cookie: '.implode('; ', $cookie).'</pre>';


# *************************************************
function ParseCookie($text, &$cookie)
{
  preg_match_all('/Set-Cookie:\s*(\S[^\r\n]*)\s*[\r\n]/sU', $text, $matches, PREG_SET_ORDER);
  foreach($matches as $cur)
  {
    $elements = preg_split('/\s*;\s*/', $cur[1]);
    foreach($elements as $element)
    {
      list($param, $value) = preg_split('/\s*=\s*/', $element);      
      $cookie[$param] = $value;
    }
  }
}

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


[Great:] ОМФГ, Ну и форматирование=\\\

Последний раз редактировалось _Great_; 18.04.2007 в 23:13..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фальсификация cookie k00p3r Чужие Статьи 6 11.04.2010 19:36
Команды Irc. И его сервисы! XDoG Статьи 12 24.06.2009 08:21
Настройка бота вида eggdrop MicRO *nix 0 11.12.2006 03:26
Взлом через cookie k00p3r Чужие Статьи 0 13.06.2005 13:56
Cookies Болталка 9 11.01.2004 03:43



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ