Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

06.06.2008, 17:24
|
|
Участник форума
Регистрация: 09.03.2008
Сообщений: 193
Провел на форуме: 2140897
Репутация:
267
|
|
Проблема c реггером
Решил написать регеер,но для начала решил потренироваться на локалхосте.
Скачать двиг phpfusion,наколбасил скрипт:
PHP код:
<?php
if($_GET['do']=="register"){
echo "<img src=testxak.php?do=1>";
echo "<form method=GET>";
echo "Капча";
echo "<input type=text name=cap>";
echo "<input type=submit value=go>";
}
$host="www.test1.ru";
$path="/phpfusion/register.php";
//Грузим страницу
function get($host,$path)
{
$res="";
$sock=fsockopen($host, 80, $errno, $errstr, 30);
if(!$sock){
echo $errstr($errno);
}else{
$headers = "GET $path HTTP/1.0\r\n";
$headers .="Host: $host\r\n";
$headers .="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14\r\n";
$headers .="Accept-Language: ru,ru-RU;q=0.9,en;q=0.8\r\n";
$headers .="Connection: Close\r\n\r\n";
}
fwrite($sock, $headers);
while(!feof($sock)){
$res .=fgets($sock, 1024);
}
return $res;
}
//Отделяем куки
function get_ret_cookie($res)
{
preg_match_all('/Set-Cookie: (.+);/iUs',$res,$cook);
if(!isset($cook[1])) return '';
$cookies=implode('; ',array_unique($cook[1]));
return $cookies;
}
//Грузим url
function url($res)
{
$preg=preg_match("/value='[0-9a-z]{32,}/",$res,$reg);
$code=$reg[0];
$code=str_replace("value='","",$code);
return $code;
}
//Грузим капчу
function get_image($host,$code,$cookies)
{
$fp=fsockopen($host,80,$errnum,$errtxt,30);
$header ="GET /phpfusion/includes/captcha_include.php?captcha_code=$code HTTP/1.0\r\n";
$header.="Host: test1.ru\r\n";
$header.="Connection: close\r\n";
$header.="Referer: http://www.test1.ru/phpfusion/register.php\r\n";
$header.="Cookie: $cookies\r\n";
$header.="\r\n";
fputs($fp,$header.$vars);
while(!feof($fp))
{
$ret.=fgets($fp, 128);
}
$ret=substr($ret,strpos($ret,"\r\n\r\n")+4); //убираем заголовки сервера
header('Content-type: image/png');
return($ret);
}
if($_GET['do']==1)
{
$res=get($host,$path);
$cookies=get_ret_cookie($res);
$code=url($res);
$image=get_image($host,$code,$cookies);
echo $image;
}
//Отпровляем заголовки
function post($host,$captha,$cookies,$code)
{
$fp1=fsockopen($host,80,$errnum,$errtxt,30);
$zapros="username=Shadow&password1=123456789&password2=123456789&email=br1an%40xaker.ru&user_hide_email=0&captcha_encode=$code&captcha_code=$captha&user_location=RU®ister=%D0%E5%E3%E8%F1%F2%F0%E0%F6%E8%FF";
$browsers = array ("MSIE 6.0", "Mozilla/4.0", "Mozilla/5.0", "Opera/9.23", "MSIE 7.0");
$send = "POST /phpfusion/register.php HTTP/1.0\r\n";
$send .= "Host: www.test1.ru\r\n";
$send .= "User-Agent: ".$browsers[rand(0,4)]."\r\n";
$send .= "Referer: http://www.test1.ru/phpfusion/register.php\r\n";
$send .= "Cookie: $cookies\r\n";
$send .= "Pragma: no-cache\r\n";
$send .= "Content-Type: application/x-www-form-urlencoded\r\n";
$send .= "Content-Length: ".strlen($zapros)."\r\n";
$send .= "Connection: Close\r\n\r\n";
$send .= "$zapros";
fputs($fp1,$send);
while(!feof($fp1)){
$respons=fgets($fp1, 1024);
echo $respons;
}
return $respons;
}
if($_GET['cap'])
{
$captha=$_GET['cap'];
echo post($host,$captha,$cookies,$code);
}
?>
НО в ответ получаю:
Код:
Регистрация не завершена по следующим причинам:
Неверный проверочный код.
В чём ошибка?
|
|
|

06.06.2008, 18:19
|
|
Участник форума
Регистрация: 09.03.2008
Сообщений: 193
Провел на форуме: 2140897
Репутация:
267
|
|
Блин,ну помогите please!
|
|
|

06.06.2008, 18:26
|
|
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме: 10046345
Репутация:
4589
|
|
Если не ошибаюсь, то капча юзает в свих грязных целях сессии ...
|
|
|

07.06.2008, 11:51
|
|
Участник форума
Регистрация: 09.03.2008
Сообщений: 193
Провел на форуме: 2140897
Репутация:
267
|
|
Если кому интересно то моя проблема решилась так:
Правильный код.
PHP код:
<?php
if($_GET['do']=="reg")
{
echo "<img src=testxak.php?do=1>";
echo "<form method=GET>";
echo "Капча";
echo "<input type=text name=cap>";
echo "<input type=submit value=go>";
}
$host="www.test1.ru";
$path="/phpfusion/register.php";
//Грузим страницу
function get($host,$path)
{
$res="";
$sock=fsockopen($host, 80, $errno, $errstr, 30);
if(!$sock){
echo $errstr($errno);
}else{
$headers = "GET $path HTTP/1.0\r\n";
$headers .="Host: $host\r\n";
$headers .="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14\r\n";
$headers .="Accept-Language: ru,ru-RU;q=0.9,en;q=0.8\r\n";
$headers .="Connection: Close\r\n\r\n";
}
fwrite($sock, $headers);
while(!feof($sock)){
$res .=fgets($sock, 1024);
}
return $res;
}
//Отделяем куки
function get_ret_cookie($res)
{
preg_match_all('/Set-Cookie: (.+);/iUs',$res,$cook);
if(!isset($cook[1])) return '';
$cookies=implode('; ',array_unique($cook[1]));
return $cookies;
}
//Грузим url
function url($res)
{
$preg=preg_match("/value='[0-9a-z]{32,}/",$res,$reg);
$code=$reg[0];
$code=str_replace("value='","",$code);
$handle=fopen("code.txt","wb");
fwrite($handle,$code);
return $code;
}
//Грузим капчу
function get_image($host,$code,$cookies)
{
$fp=fsockopen($host,80,$errnum,$errtxt,30);
$header ="GET /phpfusion/includes/captcha_include.php?captcha_code=$code HTTP/1.0\r\n";
$header.="Host: www.test1.ru\r\n";
$header.="Connection: close\r\n";
$header.="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14\r\n";
$header.="Referer: http://www.test1.ru/phpfusion/register.php\r\n";
$header.="Cookie: $cookies\r\n";
$header.="\r\n";
fputs($fp,$header.$vars);
while(!feof($fp))
{
$ret.=fgets($fp, 128);
}
$ret=substr($ret,strpos($ret,"\r\n\r\n")+4); //убираем заголовки сервера
header('Content-type: image/png');
return($ret);
}
if($_GET['do']==1)
{
$res=get($host,$path);
$cookies=get_ret_cookie($res);
$code=url($res);
$image=get_image($host,$code,$cookies);
echo $image;
}
//Отпровляем заголовки
function post($host,$captha,$cookies,$file)
{
$name=rand(0,9991413);
$mail=rand(0,783131);
$fp1=fsockopen($host,80,$errnum,$errtxt,30);
$zapros="username=$name&password1=89133486688&password2=89133486688&email=$mail%40mail.ru&user_hide_email=0&captcha_encode=$file&captcha_code=$captha&user_location=BH®ister=%D0%E5%E3%E8%F1%F2%F0%E0%F6%E8%FF";
$send = "POST /phpfusion/register.php HTTP/1.0\r\n";
$send .= "Host: www.test1.ru\r\n";
$send .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14\r\n";
$send .= "Referer: http://www.test1.ru/phpfusion/register.php\r\n";
$send .= "Cookie: $cookies\r\n";
$send .= "Pragma: no-cache\r\n";
$send .= "Content-Type: application/x-www-form-urlencoded\r\n";
$send .= "Content-Length: ".strlen($zapros)."\r\n";
$send .= "Connection: Close\r\n\r\n";
$send .= $zapros;
fputs($fp1,$send);
while(!feof($fp1)){
$respons=fgets($fp1, 1024);
echo $respons;
}
return $respons;
}
if($_GET['cap'])
{
$file=file_get_contents("code.txt");
$file=trim($file);
$captha=$_GET['cap'];
echo post($host,$captha,$cookies,$file);
}
?>
Проблема была в том что финкции post не передовался параметр $code.
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|