• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Статья Сдаем экзамен ПДД на сайте без ошибок

Шалом, уважаемые форумчане. Скоро стучит совершеннолетие, ну естественно, я подумал о правах и пошел в автошколу. Учить билеты не особо хотелось, мол были дела по-важнее. Вопросы конечно же и так не сложные, но, при решении билета, я заметил что всё работает через JavaScript. А раз всё работает так, то не будет проблемой узнать правильные ответы. Минут 20 покопавшись в скриптах сайта , мне удалось написать скрипт, который выдает номер правильного ответа. Вставляем следующий код в консоль браузера
JavaScript:
var elems = document.getElementsByClassName("q_container");
    for(var i = 0; i < elems.length; i++)
        if (elems[i].style.display == "block" || elems[i].style.display != "block" && elems[i].style.display != "none")
        {
        var main = elems[i].id;
        var x = main.replace(/^.{4}/, '');
        var right = $(document.getElementById(main).getElementsByClassName("answ_normal right")).attr("data-id");
        alert(right);
    }
Заходим на сайт и копипастим вышеуказанный код в консоль браузера

31453


Нам подсказывают, что правильный ответ находится под номером 1. Проверим

31454


И сдаем экзамен без единой ошибки xD. На случай, если будем затрудняться написать весь код в консоль, то сохраняем вышеуказанный код в скрипт с расширением .js и загружаем на любой сервер, который даст нам к нему прямой доступ. Для вызова скрипта, в консоли нужно будет написать одну строчку
JavaScript:
(function(d,s){s=d.createElement('script');s.src='http://путь до вашего скрипта .js';(d.head||d.documentElement).appendChild(s)})(document);
P.S Камнями не кидаемся, ибо есть люди которые еще не получили права :)
 

sgt makeev

New member
31.01.2020
1
0
BIT
0
Привет! Классно!
А можно ли такой скрипт написать для опросников, в которых правильные ответы уже после прохождения теста запрашиваются у сервера?
 

Bokucha

Green Team
18.02.2020
12
3
BIT
0
Привет с Грузии, попробовал переписать на но походу с стилями css они зашли дальше, и изначальный скрипт не особо помогает :)
 

N1GGA

Codeby Team
Platinum
16.07.2018
326
332
BIT
196
Привет с Грузии, попробовал переписать на но походу с стилями css они зашли дальше, и изначальный скрипт не особо помогает :)
Привет. CSS тут не причем, дело в HTML тегах. Переписал скрипт под ваш сайт
JavaScript:
var elems;
    for(var a = 1; a < 4; a++)
{
elems = document.getElementsByClassName("t-answer t-answer-"+a);
    for(var i = 0; i < elems.length; i++)
        if (elems[i].style.display == "block" || elems[i].style.display != "block" && elems[i].style.display != "none")
        {
var my_str_value = $(elems[i]).attr('data-is-correct-list');

if (typeof my_str_value !== typeof undefined && my_str_value !== false)
{
   alert(a);
}
    }
    }
 

Bokucha

Green Team
18.02.2020
12
3
BIT
0
Привет. CSS тут не причем, дело в HTML тегах. Переписал скрипт под ваш сайт
JavaScript:
var elems;
    for(var a = 1; a < 4; a++)
{
elems = document.getElementsByClassName("t-answer t-answer-"+a);
    for(var i = 0; i < elems.length; i++)
        if (elems[i].style.display == "block" || elems[i].style.display != "block" && elems[i].style.display != "none")
        {
var my_str_value = $(elems[i]).attr('data-is-correct-list');

if (typeof my_str_value !== typeof undefined && my_str_value !== false)
{
   alert(a);
}
    }
    }
Спасибо конечно, поинтересовался ради забавы, если честно я не ожидал что кто-то вообще будет утруждатся и переписывать скрипт. Давай я тебе кое-что дам, для тестов, в лс :)
 

Theej

New member
04.03.2020
2
0
BIT
0
GoodSmile, привет. Скажи, а что-нибудь подобное можно реализовать в рамках сайтов на moodle? У меня сестра учится в университете. Они иногда сдают тесты в online-edu.mirea.ru (я ей помогал с маркетингом и экономикой), но ошибался.
 

N1GGA

Codeby Team
Platinum
16.07.2018
326
332
BIT
196
GoodSmile, привет. Скажи, а что-нибудь подобное можно реализовать в рамках сайтов на moodle? У меня сестра учится в университете. Они иногда сдают тесты в online-edu.mirea.ru (я ей помогал с маркетингом и экономикой), но ошибался.
Подобное можно реализовать везде, где в документе уже загружены нужные данные. Если после каждого нажатия мы будет обращаться к серверу за ответом, то тут уже это не прокатит.
 

D3coy

One Level
09.03.2020
3
1
BIT
0
Позволю вставить свои 5 копеек. Немного переписал чтобы вместо окна с цифрой правильного ответа, менялся текст ответа на самой веб-странице что менее заметно..


JavaScript:
var elem = document.getElementsByClassName("q_container");
for (var i = 0; i < elem.length; i++) {
  if (elem[i].style.display == "block" || elem[i].style.display != "block" && elem[i].style.display != "none") {
    var main = elem[i].id;
    //document.write(main);
    //var x = main.replace(/^.{4}/, '');
    
    var right_answ = $(document.getElementById(main).getElementsByClassName("answ_normal right"));
    //alert(right_answ.attr("data-id"));
    right_answ.text("Правильный ответ");
  }
}
 
  • Нравится
Реакции: N1GGA

Эсли

New member
05.04.2020
3
0
BIT
0
Так а в html коде,прямо написано answer_normal right т.е. правильно.Тогда зачем скрипт этот писать,если в этом коде и так ответ есть?

Если я не правильно понял,то поправьте)
 

N1GGA

Codeby Team
Platinum
16.07.2018
326
332
BIT
196
Так а в html коде,прямо написано answer_normal right т.е. правильно.Тогда зачем скрипт этот писать,если в этом коде и так ответ есть?

Если я не правильно понял,то поправьте)
Если удобно каждый раз кувыркаться в HTML коде - то пожалуйста. Не все знают и умеют находить нужные элементы.
 

Эсли

New member
05.04.2020
3
0
BIT
0
Подобное можно реализовать везде, где в документе уже загружены нужные данные. Если после каждого нажатия мы будет обращаться к серверу за ответом, то тут уже это не прокатит.
А если правильного ответа нет в коде? Можно ли написать скрипт,чтобы после каких либо манипуляций(пример:нажать на кнопку) он смог выдать правильный ответ?
 

Эсли

New member
05.04.2020
3
0
BIT
0
Можешь пожалуйста примерно рассказать,как это сделать.К примеру 1 задание состоит из 2 radio,в общей сложности таких заданий 3.Все находятся на одной странице.Можно ли,узнать ответы на таком сайте?
 

N1GGA

Codeby Team
Platinum
16.07.2018
326
332
BIT
196
Окей,что если у меня ответы появляются в конце теста,когда уже все сделал. Как узнать то правильный ответ при этом?
К тому же говорили, что у каждого вопросы и ответы меняются местами
Для каждого случая нужно придумать свой подход.
 

R3M1X

Green Team
16.02.2020
117
20
BIT
0
после таких дебилов на дорогу выезжать опасно, не говоря уж о безопасности на дороге
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!