Kodsweb Security Team

MENU

  :::: Main
  :::: Archive
  :::: Programs
  :::: Texts
  :::: Proxies
  :::: Wordlists
  :::: E-Books
  :::: Rfc
  :::: Our Projects
  :::: About
  :::: Forum
  :::: Exploits
  :::: Friends
  :::: Services
  :::: Feedback
  :::: Misc

FEEDS

KodsWeb.ru - Forum
KodsWeb.ru - Project News
KodsWeb.ru - IT & Scene News
KodsWeb.ru - Defaces Bugtraq Exploits

SEARCH



WHOIS

FRIENDS

--{ team void }--

gfs-team

XakNotDie - Security, Coding and IT.

all networks hacking and security research

COUNTERS





Рейтинг@Mail.ru

Rambler's Top100 Rambler's Top100



[ Проверка заголовка Referer как один из способов борьбы со спамерами. ]


Date: 22.01.03

Многие думают, что ограничения, установленные в поля формы, а также значения полей типа "hidden" не могут быть модифицированы. Однако это не так.

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

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

Одним из способов, помогающих противостоять спамерам, является проверка переменной окружения HTTP_REFERER, хранящей URL страницы, с которой был вызван скрипт. Таким образом, если HTTP_REFERER указывает на адрес, не имеющий ничего общего с адресом вашего сайта, можно смело игнорировать этот вызов, рассматривая его как атаку.

Все бы хорошо, если бы не одно "НО"!

Переменная HTTP_REFERER получает свое значение из http-запроса Referer, передаваемого клиентом.
Конечно, если пользователь использует обычный броузер в роли клиента, то заголовок заполнится как нужно.

Однако взломщик может использовать свой броузер или специально написанный скрипт вместо стандартного броузера-клиента для осуществления запроса, что позволит подделать заголовок Referer.

Вот пример такого скрипта, написанного на Перле:

#!/usr/bin/perl -w
use Socket;
$proto=getprotobyname('tcp');
socket(Socket_Handle, PF_INET, SOCK_STREAM, $proto);
$port=80;
$host="www.victim.com";
$sin=sockaddr_in($port,inet_aton($host));
connect(Socket_Handle,$sin);
send Socket_Handle, "GET /cgi-bin/env.cgi?".
                         "param1=val1&param2=val2 HTTP/1.0\n",0;
send Socket_Handle,"Referer: any referer you wish\n",0;
send Socket_Handle,"User-Agent: my agent\n",0;
send  Socket_Handle,"\n",0;
while (<Socket_Handle>)
{
    print;
}
close (Socket_Handle);

На этом все.
До встречи!





{dr}{NerVe}     [KODSWEB]
!!! Статья является собственностью команды KODSWEB !!!
!!! Любое распространение без нашего разрешения строго запрешено !!!



 Copyright © 2001-2007 Kodsweb. All rights reserved.

фотоэпиляция ног, фотоэпиляция цена, фотоэпиляция ног . Нужен хостинг? Цены от 30 руб - виртуальный хостинг. Прибыльный бизнес.

>