Vývojáři webových aplikací často věří, že většina uživatelů se bude řídit pravidly a používat aplikaci, protože má být použita, ale co když uživatel (nebo hacker ) ohýbá pravidla? Co když uživatel vynechá fantazijní webové rozhraní a začne přecházet pod kapotou bez omezení uložených prohlížečem?
Co Firefox?
Firefox je prohlížeč výběru pro většinu hackerů kvůli jeho plug-in přátelský design. Jeden z nejoblíbenějších hackerských nástrojů pro Firefox je doplněk nazvaný Tamper Data. Tamper Data není příliš složitý nástroj, je to jen proxy, který se vkládá mezi uživatele a webové stránky nebo webové aplikace, které procházejí.
Tamper Data umožňuje hackerovi odlepit záclonu, aby viděla a zmizela se všemi HTTP "magic", které se konaly za zákulisí. Všechny tyto položky GET a POST lze manipulovat bez omezení vyplývajících z uživatelského rozhraní v prohlížeči.
Co se vám líbí?
Tak proč hackeři jako Tamper Data mají tolik a proč by se vývojáři webových aplikací měli o to starat? Hlavním důvodem je to, že umožňuje uživateli manipulovat s daty, které jsou odesílány mezi klientem a serverem (odtud název Tamper Data). Když jsou spuštěny Tamper Data a ve Firefoxu je spuštěna webová aplikace nebo webová stránka, Tamper Data zobrazí všechna pole, která umožňují vstup nebo manipulaci s uživatelem. Hacker pak může změnit pole na "alternativní hodnotu" a odeslat data serveru, aby zjistil, jak reaguje.
Proč by to mohlo být pro aplikaci nebezpečné
Řekněme, že hacker navštíví internetový obchod a přidá do svého virtuálního nákupního vozíku položku. Vývojář webových aplikací, který sestavil nákupní košík, může mít kódovaný vozík, aby přijal hodnotu od uživatele, například Quantity = "1" a omezil prvek uživatelského rozhraní na rozbalovací pole obsahující předem určené výběry pro toto množství.
Hacker by se mohl pokusit použít Tamper Data, aby obcházel omezení rozevíracího boxu, který uživatelům umožňuje pouze vybrat ze sady hodnot jako "1,2,3,4 a 5. Použitím tamperových dat by hacker mohl zkuste zadat jinou hodnotu, např. "-1" nebo ".000001".
Pokud vývojář řádně nekóduje jejich rutinní vstupní validaci, pak by tato hodnota "-1" nebo ".000001" mohla být nakonec převedena na vzorec použitý pro výpočet ceny položky (tj. Cena x Množství). To může způsobit některé neočekávané výsledky v závislosti na tom, kolik kontroly chyb se děje a jak důvěřuje vývojáři v datech pocházejících z klienta. Pokud je nákupní košík špatně kódovaný, pak hacker může skončit s možnou nezamýšlenou obrovskou slevou, vrácení peněz na produkt, který ani nezískal, úvěr v obchodě nebo kdo ví co jiného.
Možnosti zneužití webové aplikace pomocí Tamper Data jsou nekonečné. Kdybych byl vývojářem softwaru, jen věděl, že tam jsou nástroje jako Tamper Data, které by mě držely v noci.
Na druhé straně jsou Tamper Data vynikajícím nástrojem pro vývojáře aplikací, které si uvědomují bezpečnost, aby mohli používat, aby zjistili, jak jejich aplikace reagují na útoky manipulace s daty na straně klienta.
Vývojáři často vytvářejí Použití případů, aby se soustředili na to, jak by uživatel mohl software použít k dosažení cíle. Bohužel často ignorují faktor zlého člověka. Vývojáři aplikací potřebují nasadit své špatné klobouky a vytvářet případy nesprávného použití, které účtují hackerům pomocí nástrojů, jako jsou Tamper Data.
Tamper Data by měly být součástí jejich bezpečnostního testovacího arzenálu, který by pomohl zajistit, že vstup na straně klienta bude ověřen a ověřen před tím, než bude mít vliv na transakce a procesy na straně serveru. Pokud vývojáři neakceptují aktivní funkci při používání nástrojů, jako jsou Tamper Data, aby zjistili, jak jejich aplikace reagují na útok, pak nebudou vědět, co očekávat, a mohli by nakonec zaplatit účet za 60palcovou plazmovou televizi, kterou právě hacker koupili za 99 centů za použití vadného nákupního vozíku.
Další informace o doplňku Tamper Data for Firefox najdete na stránce doplňku Tamper Data Firefox.