ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

19.04.2007, 01:21
|
|
Новичок
Регистрация: 15.04.2007
Сообщений: 23
Провел на форуме: 208347
Репутация:
4
|
|
Всем огромное спасибо за ответы! Хидден - мегареспект! =)
В принципе я с самого начала шел в правильном направлении, но меня смущала ошибка, от которой я так и не избавился..
Вот пхп код пост запроса на сервак:
PHP код:
<?php
$hostname = "site.com";
$path = "/login";
$page="";
$data="username=usver&password=123456&processlogin=1";
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
if (!$fp) echo "$errstr ($errno)<br />\n";
else
{
$hd = "POST $path HTTP/1.1\r\n";
$hd .="Host: $host\r\n";
$hd .="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*\r\n";
$hd .="Referer: http://site.com/login\r\n";
$hd .="Accept-Language: ru\r\n";
$hd .="Content-Type: application/x-www-form-urlencoded\r\n";
$hd .="Proxy-Connection: Keep-Alive\r\n";
$hd .="User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n";
$hd .= "Content-Length: ".strlen($data)."\r\n";
$hd .= "Pragma: no-cache\r\n";
$hd .= "Cookie: PHPSESSID=2f83a67a61ef83594528c117c25a7da3\r\n";
$hd .= "Connection: close\r\n\r\n";
$hd .= $data;
fwrite($fp, $hd);
while (!feof($fp))
{
$page .= fgets($fp, 1024);
}
fclose($fp);
}
echo $page;
?>
На денвере скрипт выдавал ошибку "Fatal error: Maximum execution time of.." на хосте работал, но оооочень медленно. Поставил set_time_limit(0); - стал работать и на денвере, но также медленно.
Я просто не понимаю одного: если отправляешь тот же самый пост запрос при помощи Inetcrack'a, то через секунду приходит ответ сервера, а если скриптом - приходится ждать 5-10 минут...
Что я делаю не так?
|
|
|

19.04.2007, 01:38
|
|
Участник форума
Регистрация: 12.12.2006
Сообщений: 158
Провел на форуме: 1364740
Репутация:
114
|
|
используй http/1.0 вместо http/1.1
т.е.:
PHP код:
//в место этого::
$hd = "POST $path HTTP/1.1\r\n";
//это::
$hd = "POST $path HTTP/1.0\r\n";
это поможет увеличить скорость в несколько раз.
|
|
|

19.04.2007, 01:40
|
|
Новичок
Регистрация: 15.04.2007
Сообщений: 23
Провел на форуме: 208347
Репутация:
4
|
|
Все. Вопрос снимается. Сам нашел.
$hd .="Proxy-Connection: Keep-Alive\r\n"; - не нужна.
2mR_LiNK[deface_0nl:
Ок. Ща попробую!
|
|
|

19.04.2007, 02:22
|
|
Новичок
Регистрация: 15.04.2007
Сообщений: 23
Провел на форуме: 208347
Репутация:
4
|
|
Млин...
Или я добью этот скрипт, или он меня...
В ответе сервера, если отправлять через инеткрэк присутствуют:
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
а если отправлять через скрипт, то только
Set-Cookie: loginname=usver; path=/; domain=.site.com
Set-Cookie: id_hash=bca49e192dce15ec725dce475e59d1a0; path=/; domain=.site.com
А без идентефикатора сессии PHPSESSID ничего сделать не получится..
Что это может быть за фигня?
|
|
|

19.04.2007, 02:27
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме: 5887054
Репутация:
1292
|
|
Возможно что ты сессию получаешь ещё до логина, потом передаёшь её во время логина, и только тогда получаешь другую сессию.
|
|
|

19.04.2007, 08:23
|
|
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме: 1469995
Репутация:
589
|
|
Это потому, что ты при первом же запросе передаешь идентификатор сессии, который ты, можно сказать, от балды выдумал, а доверчивый ПХП ведется...
И ведется, кстати не просто так, а потому, что этот PHPSESSID был им уже выдан некоторое время назад инеткрэку, запущенному с твоей машины.
Поэтому, чтобы тебе выдало новый PHPSESSID, закомментируй строчку:
PHP код:
$hd .= "Cookie: PHPSESSID=2f83a67a61ef83594528c117c25a7da3\r\n";
// зы: сиреневенький фон меня когда-нибудь убьет%(
Последний раз редактировалось Helios; 19.04.2007 в 08:25..
|
|
|

19.04.2007, 12:00
|
|
Новичок
Регистрация: 15.04.2007
Сообщений: 23
Провел на форуме: 208347
Репутация:
4
|
|
Сообщение от Helios
Это потому, что ты при первом же запросе передаешь идентификатор сессии, который ты, можно сказать, от балды выдумал, а доверчивый ПХП ведется...
И ведется, кстати не просто так, а потому, что этот PHPSESSID был им уже выдан некоторое время назад инеткрэку, запущенному с твоей машины.
Поэтому, чтобы тебе выдало новый PHPSESSID, закомментируй строчку:
PHP код:
$hd .= "Cookie: PHPSESSID=2f83a67a61ef83594528c117c25a7da3\r\n";
// зы: сиреневенький фон меня когда-нибудь убьет%(
неа.. я ее закомментил сразу же после первой неудачи.. не в этом дело..
даже не знаю, что еще можно предпринять..
|
|
|

19.04.2007, 13:14
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
нарики
PHP код:
$mda = get_headers('http://mail.ru');
foreach($mda as $v){
if(stristr($v, 'Set-Cookie')){
$s .= $v."\n";
}
}
echo $s;
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|