Каковы уязвимости использования панели поиска с базой данных NoSQL для онлайн-приложения?

Я изучаю веб-безопасность. Я должен проверять панель поиска на тестовом веб-сайте, который выглядит как http://challenges2.france-cybersecurity-challenge.fr:5006/ для конкурса. Кажется, что функция запроса жестко запрограммирована на веб-странице

    function makeSearch(searchInput) {
        if(searchInput.length == 0) {
            alert("You must provide at least one character!");
            return false;
        }

        var searchValue = btoa('{ allCooks (filter: { firstname: {like: "%'+searchInput+'%"}}) { nodes { firstname, lastname, speciality, price }}}');
        var bodyForm = new FormData();
        bodyForm.append("search", searchValue);

        fetch("index.php?search="+searchValue, {
            method: "GET"
        }).then(function(response) {
            response.json().then(function(data) {
                data = eval(data);
                data = data['data']['allCooks']['nodes'];
                $("#results thead").show()
                var table = $("#results tbody");
                table.html("")
                $("#empty").hide();
                data.forEach(function(item, index, array){
                    table.append("<tr class='table-dark'><td>"+item['firstname']+" "+ item['lastname']+"</td><td>"+item['speciality']+"</td><td>"+(item['price']/100)+"</td></tr>");
                });
                $("#count").html(data.length)
                $("#count").show()
            });
        });
    }

Я знаю, что это означает, что я могу посылать POST-запросы на сервер, используя кодировку btoa. Я знаю, что это похоже на базу данных noSQL. Но поскольку флаг там спрятан, как я могу получить контроль над сервером, чтобы заставить его показать мне?


Ответы (0 шт):