В сети набирает популярность ссылка, пройдя по которой участнику предоставляется возможность протестировать поле ввода. Пройти тест можно по ссылке. На сайте написано, что нужно найти все проверки для поля ввода.


What to do

Identify all the test required for the scenario bellow. Based on the data you input in the First Name field the tests will be evaluated.

What not to test: different browsers, extremely big requests, «nasty words». Do not use automation tools. The server will cut access at over 30 requests per second per IP.

Specification

The user has to fill in the required data in order to get access, as a standard user in forum.

Only the First Name field can be tested right now. The field has a max length of 30.


Вольный перевод:

Что нужно сделать
Найдите все проверки для сценария описаного ниже. Основываясь на данных введеных вами в поле First Name проверки будут оценены. Что не нужно тестировать: разные браузеры, очень большие запросы, «плохие слова». Не используйте инструменты автоматизации. Сервер будет закрывать доступ при превышении лимита в 30 запросов в секунду с одного IP адреса.

Задание
Пользователь должен ввести нужные данные чтобы получить доступ на форум, как обычный пользователь. Только First Name пригодно для тестирования на текущий момент. Максимальный длина поля 30 символов.


От себя хочу добавить, не зацикливайтесь только на самом поле, мыслите шире.

Ну и как тестировщик, я нашел еще один баг. После того как вы найдете все 18 проверок, каждая последующая попытка отправить данные на проверку будет увеличивать счетчик пользователей которые прошли задание на 1. То есть, можно заниматься накрутками.

Удачи всем.

Список всех уязвимостей
Maximum values
Non ASCII
Minimum value
Space in the middle
You used html tags
Basic XSS
Basic Sql injection
More than maximum values
Space values at the end
Space values at the begining
Space
You made the user admin
Empty value
Other chars then alphabetic
You looked at the page source
Average value
You looked at the cookie
Missing css

Комментарии (48)


  1. madhead
    28.08.2015 19:33
    +3

    Да там сам механизм подсчёта / вывода списка пройденных этапов с багой (found / listsoftests). Правда, за его нахождение не дают поинт. И вообще эти hidden-филды странные.


    1. Haoose
      28.08.2015 20:09

      Может и странные, но минимум одно из них вам приходится


      1. madhead
        28.08.2015 20:25
        +2

        Разумеется. Я к тому, что играючи с ними легко потерять прогресс (ниже уже кто-то столкнулся с этим). Хранить состояние в полях — плохо. К тому же, поле «golhart» (флажок, «пустое значение») ведёт себя как минимум странно (попытайтесь поменять его на 0, затем снова на 0, потом снова… счётчик будет расти, а список дополняться одним и тем же значением: c2n.me/3mKL0o1). И за это тоже не дают поинт!


        1. vorobyev
          28.08.2015 22:58

          Все, накрылся сайтик… видать массово народ пошел тестировать :)


  1. forceLain
    28.08.2015 20:06

    А еще всё ломается, если ввести туда () { 0; };


    1. kindacute
      28.08.2015 20:08

      В принципе там есть Send us your idea. Можно написать автору


    1. trikadin
      29.08.2015 01:38

      Достаточно

      () {}


  1. isden
    28.08.2015 20:10
    +1

    А у меня сломалось после 11 шага и все сбросилось :(
    Заново лень вводить.


    1. kindacute
      28.08.2015 20:12

      Не ленитесь, попробуйте еще раз и записывайте в блокнот те значения которые дали вам балл


      1. webkumo
        28.08.2015 22:15
        +1

        Так там из названий очевидно, что дало результат…
        Но вот придумать что-нибудь сверх 11 тяжеловато…


  1. cyber_initiative
    28.08.2015 20:30

    Есть еще один баг: можно драг-н-дропом перенести в поле текст любой длины, и он его примет :)


    1. kindacute
      28.08.2015 20:50
      +2

      image


  1. BeLove
    28.08.2015 21:13

    Давайте попробуем найти там security баги :)
    Reflected XSS via POST (тестить в FF, чтобы без аудитора) sergeybelove.ru/exploits/xss_quiz.php


    1. trikadin
      29.08.2015 03:20

      Куда интереснее попытаться обойти аудитор))


  1. aronsky
    28.08.2015 22:12
    -1

    4 кейса не проверил. Плохой из меня тестироващик (хуже 1.5к, которые прошли всё). Кто прошёл всё — что я пропустил?

    прогресс


    1. DragonRU
      28.08.2015 22:21

      Имя, состоящее только из пробелов

      А еще 3 и мне хотелось бы найти.


      1. webkumo
        28.08.2015 22:24

        Относительно списка сверху нашёл ещё Maximum values…

        А кто подскажет как достичь «админ» и «гиктаймс»?


        1. webkumo
          28.08.2015 22:30

          Админа нашёл :)


    1. vit9696
      28.08.2015 22:41

      Пропущено
      Точно нету basic xss. :)


      1. aronsky
        29.08.2015 18:28
        -1

        Вставлял в hidden поля, не додумался в доступное поле ввода вставить )))


  1. Mercury13
    28.08.2015 22:34

    Пока без двух. Правда, тестером я никогда не был.

    Что у меня есть…
    Tests done: 16 out of 18

    Maximum values
    Non ASCII
    Minimum value
    Space in the middle
    You used html tags
    Basic XSS
    Basic Sql injection
    More than maximum values
    Space values at the end
    Space values at the begining
    Space
    You made the user admin
    Empty value
    Other chars then alphabetic
    You looked at the page source
    Average value


    1. webkumo
      28.08.2015 22:36

      А Xss сложно получить?


      1. Mercury13
        28.08.2015 22:39

        Нет, несложно.


      1. webkumo
        28.08.2015 22:41

        Кхм… я огорчён… чтобы заработать эту ачивку пришлось посёрчить боле простой вариант чем те, которые я несколько раз вводил…


        1. kindacute
          28.08.2015 22:43

          :) не огрорчайтесь, это же задание для тестировщика, главное что бы человек понял что нужно протестировать. Оценивайте это как игрушку, а не как головоломку


          1. Mercury13
            28.08.2015 22:46

            Всё, посмотрел в ответы :(


          1. webkumo
            28.08.2015 22:50

            Не, ну обидно — несколько раз вводил то, что надо, только что с другим текстом и корректным атрибутом type…


        1. aronsky
          29.08.2015 18:27
          -1

          Блин, я XSS вставлял в скрытые поля и даже получал XSS, но не получил ачивки. Просто не додумался вставить в поле ввода имени :-D


      1. kyrie
        28.08.2015 22:52

        <script>DoSomething();</script>


  1. Mercury13
    28.08.2015 22:46

    А я нашёл ещё одну штуку, которую стоило бы им проверить.

    HTML entities. Например, &amp;


  1. kyrie
    28.08.2015 22:52

    не туда


  1. Graphite
    29.08.2015 00:13
    +1

    Написано на PHP и довольно коряво:


  1. isden
    29.08.2015 10:56

    > Maximum values
    > More than maximum values

    Скажите, а чем отличаются вот эти два кейса?

    > You looked at the page source
    > You looked at the cookie

    Смотрел все это через инспектор — никак не отреагировало.

    > Average value

    А это как?

    > Missing css

    В смысле, отключить/убрать CSS для страницы?


    1. conformist
      29.08.2015 11:02

      Осторожно! Спойлеры!

      Maximum values
      Ровно 30 символов


      1. isden
        29.08.2015 11:29

        Тоже убрал на всякий случай
        > Ровно 30 символов
        > Больше 30-ти символов

        А смысл разносить это на два отдельных кейса?

        > Внизу страницы комментарий:

        А, даже так. Я уж подумал ребята придумали какой-то хитрый трюк для детекта.
        В чем смысл это тестировать? Нужно валидировать пользовательский инпут, детектить такие штуки смысла нет.

        > 15 символов, как я понял

        А смысл? :)


      1. webkumo
        29.08.2015 14:46

        Миддл валуес — это не 15, а некое среднее значение (на 5ти символах вроде тоже получается его отхватить).

        К вопросу isden о смысле — это же quiz для тестировщиков, вполне логично, что они должны проверить и нормальные ситуации.


      1. GHostly_FOX
        29.08.2015 22:49

        Missing css
        Битая ссылка на файл CSS — detailsoverviewnow.css


    1. conformist
      29.08.2015 11:36
      +1

      Осторожно! Спойлер!

      Missing css
      На странице подсказка:
      <!-- if there is a missing resource add the name and extension of the file in the field you need to test-->

      нужно вписать имя файла с расширением, который не используется, это — detailsoverviewnow.css


  1. alexanderzaytsev
    29.08.2015 12:46

    20 из 18 О.о
    Tests done: 20 out of 18
    You looked at the cookie
    You looked at the page source
    Missing css
    Maximum values
    Space in the middle
    Basic Sql injection
    Space values at the end
    Space values at the begining
    You used html tags
    Basic XSS
    Other chars then alphabetic
    You made the user admin
    More than maximum values
    Empty value
    Non ASCII
    Minimum value
    Space in the middle
    Space
    Other chars then alphabetic
    Average value


    1. alexanderzaytsev
      29.08.2015 12:53

      Ок, оно некоторые посчитало за 2 сразу


    1. conformist
      29.08.2015 12:54

      По 2 раза Space in the middle и Other chars then alphabetic. Про этот глюк писали выше.


  1. dmitriy_b
    29.08.2015 18:22
    +1

    Еще — если вместо name=«firstname» в поле input ввести name=«firstname[]» то вываливаются варнинги на проверках.


  1. GHostly_FOX
    29.08.2015 23:14

    Minimum value
    1 символ


    1. GHostly_FOX
      29.08.2015 23:18

      Всё... нашел все 18...
      You made the user admin
      Minimum value
      Maximum values
      Basic Sql injection
      Space
      Missing css
      You looked at the cookie
      You looked at the page source
      You used html tags
      Basic XSS
      Empty value
      More than maximum values
      Space values at the begining
      Space in the middle
      Space values at the end
      Other chars then alphabetic
      Average value
      Non ASCII


  1. equinoxe
    30.08.2015 00:18

    Последний тест — он трудный самый…

    Нашёл только это
    • Missing css
    • You made the user admin
    • You looked at the cookie
    • Space values at the begining
    • Space values at the end
    • Basic XSS
    • You looked at the page source
    • Space in the middle
    • You used html tags
    • Average value
    • More than maximum values
    • Non ASCII
    • Basic Sql injection
    • Other chars then alphabetic
    • Minimum value
    • Space
    • Empty value


    1. equinoxe
      30.08.2015 01:39

      А всё из за того, что скрипт глючил и последний тест не засчитывал :)
      Столько времени угробил…


    1. GHostly_FOX
      31.08.2015 02:42

      А где Maximum values?


      1. equinoxe
        31.08.2015 15:12

        Вот как раз Maximum values он у меня и не принимал. Пришлось пройти всё задание заново.