Разработчиците на уеб приложения често имат доверие, че повечето потребители ще спазват правилата и ще използват дадено приложение, тъй като то е предназначено за използване, но какво ще кажете кога потребителят (или хакерът) ще изкълчи правилата? Какво ще стане, ако даден потребител пропусне прекрасния уеб интерфейс и започне да се бърка под качулката без ограниченията, наложени от браузъра?
Какво за Firefox?
Firefox е предпочитаният браузър за повечето хакери поради привлекателния си дизайн. Един от най-популярните хакерски инструменти за Firefox е добавка, наречена Tamper Data. Данните за Tamper не са супер сложен инструмент, а просто прокси, който се вмъква между потребителя и уебсайта или уеб приложението, което търсят.
Тампър данни позволява на хакери да отлепят завесата, за да видят и да се забъркат с всички HTTP "магии", които се случват зад кулисите. Всички тези GET и POST могат да бъдат манипулирани без ограниченията, наложени от потребителския интерфейс, видян в браузъра.
Какво ще ви хареса?
Защо хакерите като Tamper Data толкова много и защо трябва да се грижат за разработчиците на уеб приложения? Основната причина е, че тя позволява на човек да се намеси с данните, които се изпращат назад и напред между клиента и сървъра (оттам и името Tamper Data). Когато се стартират Tamper данни и се стартира уеб приложение или уеб сайт в Firefox, Tamper Data ще покаже всички полета, които позволяват въвеждане или манипулиране от страна на потребителя. След това хакерът може да промени полето на "алтернативна стойност" и да изпрати данните на сървъра, за да види как реагира.
Защо това може да е опасно за дадено приложение
Кажете, че хакер посещава сайт за онлайн пазаруване и добавя елемент към своята виртуална пазарска количка. Разработчикът на уеб приложения, който е изградил кошчето за пазаруване, може да е кодирал карето, за да приеме стойност от потребителя, например Количество = "1" и ограничи елемента на потребителския интерфейс до падащо поле, съдържащо предварително зададени селекции за количеството.
Един хакер може да се опита да използва Tamper данни, за да заобиколи ограниченията на падащото меню, което позволява на потребителите да избират от набор от стойности като 1, 2, 3, 4 и 5. Използвайки Tamper данни, хакерът може да опита да въведете различна стойност от кажете "-1" или може би ".000001".
Ако разработчикът не е кодирал правилно процедурата си за проверка на вход, тогава тази стойност "-1" или ".000001" може да се премине към формулата, използвана за изчисляване на стойността на елемента (например Цена x Количество). Това може да доведе до някои неочаквани резултати в зависимост от това колко грешки се извършват и колко доверие има разработчикът в данните, идващи от страна на клиента. Ако кошчето е лошо кодирано, хакерът може да се окаже възможно неочаквано огромна отстъпка, възстановяване на продукт, който дори не е закупил, кредит за магазин или кой знае какво друго.
Възможностите за злоупотреба с уеб приложение, използващо Tamper данни, са безкрайни. Ако бях разработчик на софтуер, просто знаех, че има инструменти като Tamper Data, които ще ме държат през нощта.
От друга страна Tamper Data е отличен инструмент за разработчиците на приложения, които се грижат за сигурността, за да могат да видят как приложенията им отговарят на атаки за манипулиране на данни от страна на клиента.
Разработчиците често създават "Използвайте случаи", за да се фокусирате върху това как потребителят ще използва софтуера, за да постигне цел. За съжаление, те често пренебрегват фактора "лош човек". Разработчиците на приложения трябва да поставят шапките си и да създават "случаи на злоупотреба", за да отчитат хакерите, използващи инструменти като Tamper Data.
Данните за Tamper трябва да са част от техния арсенал за тестване на сигурността, за да се гарантира, че входът от страна на клиента е валидиран и проверен, преди да му се позволи да повлияе на транзакциите и процесите на сървъра. Ако разработчиците не поемат активна роля в използването на инструменти като Tamper Data, за да видят как приложенията им реагират на атака, тогава те няма да знаят какво да очакват и в крайна сметка биха платили сметката за 60-инчов плазмен телевизор, който хакерът просто купи за 99 цента, използвайки дефектната си количка за пазаруване.