Каковы уязвимости использования панели поиска с базой данных 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. Но поскольку флаг там спрятан, как я могу получить контроль над сервером, чтобы заставить его показать мне?