ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

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

  #11  
Старый 29.10.2008, 01:45
gisTy
Постоянный
Регистрация: 24.05.2008
Сообщений: 589
Провел на форуме:
3629857

Репутация: 504


По умолчанию

хм.. статья вроде называется "Пишем спам-бот/авторассыльщик/брутфорс на Php + cURL" вот только что то я не увидел тут ни спам бота, ни авторассыльщика, ни брутфорсера... имхо, просто ман по курлу...
 
Ответить с цитированием

  #12  
Старый 06.11.2008, 23:10
3me9I
Новичок
Регистрация: 27.10.2008
Сообщений: 14
Провел на форуме:
13381

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

Еще вопросик 1.
Код:
HTTP/1.1 200 OK
Date: Thu, 06 Nov 2008 19:05:51 GMT
Server: Apache
Set-Cookie: wongsession=3d356bc2c9511305c17d0ad40d654b97; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: user_name=bobpbI; expires=Fri, 06-Nov-2009 19:05:51 GMT; path=/
Set-Cookie: user_hash=072bebc157b072ce7d075be7ea5f9608; expires=Fri, 06-Nov-2009 19:05:51 GMT; path=/
Set-Cookie: key_id=Ym9icGJJ; expires=Fri, 06-Nov-2009 19:05:51 GMT; path=/
Set-Cookie: user_name=bobpbI; expires=Fri, 06-Nov-2009 19:05:51 GMT; path=/
Set-Cookie: user_hash=072bebc157b072ce7d075be7ea5f9608; expires=Fri, 06-Nov-2009 19:05:51 GMT; path=/
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
вот такой заголовок возвращает, когда автарезировался

Код:
Set-Cookie: user_name=bobpbI; expires=Fri, 06-Nov-2009 19:05:51 GMT; path=/
Set-Cookie: user_hash=072bebc157b072ce7d075be7ea5f9608; expires=Fri, 06-Nov-2009 19:05:51 GMT; path=/
Set-Cookie: key_id=Ym9icGJJ; expires=Fri, 06-Nov-2009 19:05:51 GMT; path=/
Set-Cookie: user_name=bobpbI; expires=Fri, 06-Nov-2009 19:05:51 GMT; path=/
Set-Cookie: user_hash=072bebc157b072ce7d075be7ea5f9608; expires=Fri, 06-Nov-2009 19:05:51 GMT; path=/
Надо все куки выдергивать?Или только эту?
PHP код:
$sess_cookie=substr($resultstrpos($result"wongsession=")+1232); 
Потому что проблемма такая. Авторизировался, а при переходе на другую страницу пишет что сессия закончена =(

Подскажите пожалуйста.
 
Ответить с цитированием

  #13  
Старый 07.11.2008, 09:27
prescott
Участник форума
Регистрация: 28.07.2008
Сообщений: 158
Провел на форуме:
728470

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

Попробуйте поставить все куки, которые выдал сервер. Наверняка сайт ставит их не просто так.
 
Ответить с цитированием

  #14  
Старый 07.11.2008, 12:07
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме:
5321514

Репутация: 3313


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

PHP код:
function pregCookie($headers)
{
    
preg_match_all('#Set-cookie: (.*;)#UiS',$headers,$headers);
    return 
implode('',$headers['1']);

Парсер всех кук из заголовков(возвращает string). Используйте.
 
Ответить с цитированием

  #15  
Старый 07.11.2008, 13:04
3me9I
Новичок
Регистрация: 27.10.2008
Сообщений: 14
Провел на форуме:
13381

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

Спасибо, только я несовсем тогда понимаю.
Если пользоваться функцией substr, то мы вырезаем сам код
f54aac52317d9697f745548af2dabe87

а если вашей функцией пользоваться, то в таком выде
wongsession=f54aac52317d9697f745548af2dabe87;

усли я правильно понял, то использовать так надо?
curl_setopt($ch, CURLOPT_COOKIE, pregCookie($result));

В любом случае пишет что ваша сессия закончена. =(
 
Ответить с цитированием

  #16  
Старый 07.11.2008, 13:23
3me9I
Новичок
Регистрация: 27.10.2008
Сообщений: 14
Провел на форуме:
13381

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

PHP код:
 function pregCookie($headers)
{
    
preg_match_all('#Set-cookie: (.*;)#UiS',$headers,$headers);
    return 
implode('',$headers['1']);
}

$url "http://www.mister-wong.ru/index.php?action=login";
$ch curl_init();
$post="iid=&user_name=login123&user_password=123123&login=%E2%EE%E9%F2%E8";

 
curl_setopt($chCURLOPT_URL$url);
 
curl_setopt($chCURLOPT_HEADER1);
 
curl_setopt($chCURLOPT_USERAGENT$ua);
 
curl_setopt($chCURLOPT_TIMEOUT10);
 
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
 
curl_setopt($chCURLOPT_COOKIEFILE$_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
 
curl_setopt($chCURLOPT_POST1);
 
curl_setopt($chCURLOPT_POSTFIELDS$post);
 
curl_setopt($chCURLOPT_FOLLOWLOCATION1);

$result curl_exec($ch);

$hash_hidden=substr($resultstrpos($result'type="hidden" name="hash" value="')+33,32);
$recommended_bmid_hidden=substr($resultstrpos($result'type="hidden" name="recommended_bmid" id="bookmarkRecommend_bmid" value="')+33,74);
$utf8check_bmid_hidden="ö";
$check_hidden="recommend";
$post='hash=$hash_hidden&recommended_bmid=$recommended_bmid_hidden&utf8-check_bmid=$utf8check_bmid_hidden&check=$check_hidden';

$sess_cookie=pregCookie($result);

//сформировали строку пост данных состоящую из пар поле=>значение разделенных амперсандом (при необходимости строку надо url-кодировать)
 
curl_setopt($chCURLOPT_URL"http://www.mister-wong.ru/add_url/"); //адрес на который шлем запрос (выдираем значение из action нашей формы)
 
curl_setopt($chCURLOPT_HEADER1); //дальше мы все уже видели
 
curl_setopt($chCURLOPT_USERAGENT$ua);
 
curl_setopt($chCURLOPT_RETURNTRANSFER1);
//  curl_setopt($ch, CURLOPT_COOKIEFILE,$sess_cookie);
 
curl_setopt($chCURLOPT_COOKIE$sess_cookie); //а вот тут внимательнее! не забываем показать серверу наши, полученные ранее кукисы
 
curl_setopt($chCURLOPT_POST1); //говорим что у нас есть POST данные для сервера
 
curl_setopt($chCURLOPT_POSTFIELDS$post); //указываем на наши POST данные
$result curl_exec($ch); //выполняем запрос на сервер


//echo $sess_cookie;
echo $result
Может что не так делаю? Регистрация же проходит
 
Ответить с цитированием

  #17  
Старый 15.02.2009, 18:05
Tigger
Познавший АНТИЧАТ
Регистрация: 27.08.2007
Сообщений: 1,107
Провел на форуме:
5386281

Репутация: 1177


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

3me9I, так попробуй
PHP код:
curl_setopt($chCURLOPT_COOKIEFILE"./cook");   
curl_setopt($chCURLOPT_COOKIEJAR"./cook"); 
}{0TT@БЬ)Ч_68, вот тебе. Это не спам бот, а просто автореггер (стебался над теми идиотами). Спам бот работает абсалютно так же. Вот:
PHP код:
<?php
set_time_limit
(0); 
$limit 10000;

for (
$i 1$i $limit$i++){
$ua 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';   
$url 'http://traff2money.info/';   
$ch curl_init();   
    
curl_setopt($chCURLOPT_URL$url); 
    
curl_setopt($chCURLOPT_HEADER1);   
    
curl_setopt($chCURLOPT_USERAGENT$ua);   
    
curl_setopt($chCURLOPT_TIMEOUT10);   
    
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);  
    
$res curl_exec($ch);  
       
    
curl_setopt($chCURLOPT_URL"http://traff2money.info/reg.php"); 
    
curl_setopt($chCURLOPT_REFERER"http://traff2money.info/");
    
curl_setopt($chCURLOPT_HEADER1);   
    
curl_setopt($chCURLOPT_USERAGENT$ua);   
    
curl_setopt($chCURLOPT_TIMEOUT10);   
    
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);  
       
$res curl_exec($ch); 
        
curl_close($ch); 
     
       
     
preg_match('#http:\/\/(.*?)<br>#'$res$link);
$a $link[1];

$fp fopen("log.php","a");
fwrite($fp"$a\r\n");
fclose($fp);
}
?>
Только в спамерах просто еще постзапросы присутсвуют =\
 
Ответить с цитированием

  #18  
Старый 05.07.2009, 12:11
MainVoid
Новичок
Регистрация: 03.07.2009
Сообщений: 2
Провел на форуме:
552

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

Народ, спасибо всем за инфо, которую здесь прочитал.

Написал такой код (на оптимальность не претендует, еще будет оптимизироваться):

PHP код:
<?
$key 
1;
function 
geturl($url,$postdata=0,$header=0,$additional_key=0) {
    
$poststr="";
    if (
$postdata)
        while (list(
$name,$value)=each($postdata)){
            if (
strlen($poststr)>0)
                
$poststr.="&";
            
$poststr.=$name."=".urlencode($value);
            }

    
// инициализация сеанса
    
$ch curl_init();
    
curl_setopt($chCURLOPT_URL$url);

    
// Формируем заголовок
    
if ($header){
        
curl_setopt($chCURLOPT_HEADER1);
        
// Помним кукисы 
        
$user_cookie_file $_SERVER['DOCUMENT_ROOT'].'/poster/cookies.txt';
        
curl_setopt($chCURLOPT_COOKIEFILE$user_cookie_file);
        
curl_setopt($chCURLOPT_COOKIEJAR,  $user_cookie_file);
        
curl_setopt($chCURLOPT_NOBODY1);
    }else{
        
curl_setopt($chCURLOPT_HEADER0);
    }

    if (
$postdata){
        
curl_setopt($chCURLOPT_USERAGENT"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
        
$user_cookie_file $_SERVER['DOCUMENT_ROOT'].'/poster/cookies.txt';
        
curl_setopt($chCURLOPT_COOKIEFILE$user_cookie_file);
        
curl_setopt($chCURLOPT_COOKIEJAR,  $user_cookie_file);
        
curl_setopt($chCURLOPT_POST1);
        
curl_setopt($chCURLOPT_POSTFIELDS$poststr);
    }
    
curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
$res curl_exec($ch);
    if (
$additional_key){
        
        
/* Скрытое поле token для memori */
        
if( preg_match('/name=\"token\" value=\"(.+?)\"/'$res$out) ){
            
$res $out[1];
        }
    }
    
curl_close($ch);
    return 
$res;
}
if (!isset(
$_GET['go'])) {
    
// Собираем заголовок
    
$header geturl('http://memori.ru/registration/',0,1);
    
// Берем значение скрытого поля
    
$token geturl('http://memori.ru/registration/',0,0,1);
    
// Берем капчу
    
$captcha geturl('http://memori.ru/captcha/',$postdata);
    
    
$im imagecreatefromstring($captcha);
    
$pic_name time().'_'.$key.'.jpg';
    
imagejpeg($im$pic_name100);
    
    
// Сохраняем картинку у себя (подобие антикапчи)
    
$postdata = array(
        
'method'    => 'base64',
        
'key'       => $key,
        
'body'      => $pic_name,
        
'ext'     => 'png'
    
);
    
$rev geturl("http://localhost/poster/in.php",$postdata); // регистрируем капчу у себя в системе
    
if (substr($rev,0,2)=='ok'){
        
//получаем id капчи в системе
        
$anti_captcha_id substr($rev,3);
    }else{
        echo 
"Upload ERROR";
        echo 
$rev;
        exit;
    }
    echo 
'<img src="pic.php?id='.$anti_captcha_id.'">';
    
    echo 
'<br /><form method="get"><input type="hidden" name="go" value="go"><input type="hidden" name="token" value="'.$token.'">Капча:  <input type="text" name="captcha"><br />
Сессия: <input type="text" name="bobrologin" value="'
.$session.'"><br /><input type="submit" value="Ну, была не была!"></form>';
} else {
    echo 
$captcha $_GET['captcha'];
    echo 
'<br />';
    echo 
$session $_GET['session'];
    echo 
'<br />';
    echo 
$token $_GET['token'];
    echo 
'<br />';
    
$postdata = array(
        
"login" => "testerqwerty23",
        
"email" => "mainvoid3@mail.ru",
        
"inviter" => "",
        
"token" => $token,
        
"captcha" => $captcha,
        
"password" => "123456",
        
"password_confirm" => "123456",
    );
    echo 
'<pre>'print_r($postdata); echo '</pre>';
    
$recdata geturl('http://memori.ru/registration/',$postdata);    
    echo 
'<base href="http://memori.ru">';
    echo 
$recdata;
    if (
is_file('./cookies.txt')) unlink('./cookies.txt');
}
?>

на всякий случай
in.php:
<?php
//echo '<pre>'; print_r($_POST); echo '</pre>';
$filename 'user_'.$_POST['key'].'.txt';
if (
is_file($filename)) unlink($filename);

$status 'ok';

if (
$status == 'ok') {
    
$id 1;
    
$handle fopen($filename'a');
    if (
is_writable($filename)) {
        
fwrite($handle$id.'|'.$_POST['body']);
    }
    
fclose($handle);
    echo 
$status.'|'.$_POST['body'];
}

?>

pic.php:

<?
header
('Content-Type: image/jpeg');
$im imagecreatefromjpeg($_GET['id']);
imagejpeg($imNULL100);
?>


Но форма на мемори остается глухой к такому запросу, т.е. не выводится ни сообщений об ошибках, ни об удачном завершении регистрации. На некоторых других формах такой скрипт отрабатывал.

Кто нибудь может подсказать в чем дело?
 
Ответить с цитированием

  #19  
Старый 05.07.2009, 12:24
Ch3ck
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
Провел на форуме:
5301021

Репутация: 1879


По умолчанию

gisty +1. Тема ваши вопросы по php...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Что такое Php? PAPA212 Болталка 13 28.12.2007 20:44
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



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


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




ANTICHAT.XYZ