Feed subscription » blog | » comments | » google+ | » mobi | » twitter

Bezpečnostná analýza webu za pomoci prehliadača

Bezpečnostná analýza webu za pomoci prehliadačaPrehliadač je dnes jednou z najpoužívanejších aplikácií. Pomohol k tomu vývoj internetových technológií, ktorý podnietil vznik miliónov interaktívnych služieb. Dnes od kvality a bezpečnosti internetového projektu závisí nejedna veľká spoločnosť. Kvalitu a jedinečnosť preveria užívatelia, ale bezpečnosť by mali preverovať sami tvorcovia.

Za účelom otestovania bezpečnosti webu vzniklo mnoho výborných nástrojov. Relatívne komplexný zoznam týchto nástrojov môžete nájsť na stránkach projektu OWASP. Aby som hneď odradil tzv. script kiddies, tieto nástroje slúžia na odhalenie zraniteľnosti, nevytvoria vám exploit pre nabúranie webu, alebo získanie dát z neho (väčšinou). Tieto nástroje pomáhajú odhaliť chyby, ktoré môžu viesť k bezpečnostným zraniteľnostiam.

Tieto nástroje sú skutočne užitočné pri hľadaní problémov, ale najlepší nástroj na preverovanie bezpečnosti webov už dávno používate. Je ním váš prehliadač. Prehliadač má zvládnuté všetky potrebné funkcie, ktoré iné nástroje neponúkajú, ako napríklad vykreslenie webovej stránky, alebo možnosť otestovať JavaScript. Človek, ako najdokonalejšia forma nástroja na hľadanie chýb je jediný schopný rozlíšiť, či nástroj nevyhodnotil chybu ako tzv. false positive. V takomto prípade je potrebné si danú zraniteľnosť otestovať na vlastné oči a vyhodnotiť, či sa skutočne jedná o zraniteľnosť, alebo len špecifické správanie webu.

Tento článok však je len o jedinom z nich a to Firefoxe. Dôvod je jasný. Firefox vďaka svojím rozšíreniam a možnosti prístupu ku akejkoľvek časti, ktorej správanie je možné sledovať či modifikovať umožňuje skutočne veľmi komplexné otestovanie akéhokoľvek webu. Ja sám využívam pri testovaní bezpečnosti webu na 80% samotný prehliadač. Mám niekoľko obľúbených nástrojov, ktoré vám teraz jeden po druhom predstavím.

Pôvodne som chcel vytvoriť balíček, ktorý by ste si už mohli sami nainštalovať a mali by ste všetky nástroje naraz. Je ich však až príliš veľa a je dosť možné, že väčšinu z nich potrebovať nebudete. Zoradenie je podľa potencionálnej obľúbenosti nástrojov, nie podľa abecedy.

httpfox

An HTTP analyzer addon for Firefox

httpfoxhttpfox je jedným z najlepších a najdôležitejších nástrojov, ktoré sa v mojej zbierke nachádzajú. Pre mňa je httpfox ekvivalentom dnes už nie moc dokonalého LiveHttpHeaders, ktorý sa mi zdá byť pri väčšom počte requestov (alebo ak chcete po slovensky požiadaviek) neprehľadný. httpfox nahrádza potrebu proxy nástrojov, ktoré sledujú aktuálny traffic prehliadača.
httpfox je relatívne jednoduchý nástroj. umožňuje vyhľadávať v zachytenom zozname požiadaviek, prezerať si požiadavky a odpovede, pričom požiadavky ešte rozdeľuje na zaslané cookies, post data a query. Jednotlivé typy požiadaviek sú farebne od seba odlišované.
Jeho hlavnou nevýhodou (aspoň pre mňa) je, že neumožňuje ukladať zoznam pre ďalšiu, alebo neskoršiu analýzu. Projekt je však open-source a tak je možné jednoducho pozmeniť, či doplniť celú funkcionalitu.
Viac informácií o rozšírení httpfox.

TamperData

TamperData is an extension to track and modify http/https requests.

tamperdataTamperData má veľmi podobnú funkcionalitu ako httpfox no navyše umožňuje pozmeňovať požiadavky ešte pred ich odoslaním (tampering). Vďaka tomu je možné aplikácii podstrčiť také dáta, aké chcete a vyvolať chybovú hlášku, ktorá vám prezradí prítomnosť bezpečnostnej zraniteľnosti. Samotné sledovanie aktuálneho trafficu sa mi zdá byť omnoho menej prehľadné oproti httpfoxu, preto používam oba nástroje. Ich spojením by sa však vytvoril extrémne silný a komplexný nástroj. Možno tomu tak raz bude. TamperData umožňuje výsledky aj uložiť, čo je jeho veľko prednosťou. Horšie je, že nie je možné jeho sledovanie zastaviť, pokiaľ je otvorený (aktívny), čo značne zaťažuje samotný prehliadač.
Viac informácií o rozšírení TamperData, jeho možnosti.

Firebug

Firebug integrates with Firefox to put a wealth of web development tools at your fingertips while you browse.

firebugFirebug je veľmi populárne rozšírenie väčšiny vývojárov a tvorcov webu, hlavne grafikov (resp. tých, ktorí pracujú s designom a JavaScriptom). Firebug má však mnoho užitočných funkcií, ktoré môžu pomôcť aj pri odlaďovaní bezpečnosti. Nielen samotný Firebug, ale aj ďalšie rozšírenia, ktorými je možné ovplyvniť činnosť a možnosti samotného Firebugu. Ja osobne používam Firecookie, ktorý mi umožňuje veľmi rýchlo pracovať s cookies daného webu, pričom zobrazuje aj všetky cookies widgetov použitých na samotnom webe (veľmi dôležité pri testovaní bezpečnosti). Firebug má obrovské možnosti, ktoré by vystačili na samotný článok. Ak ho ešte nepoznáte, odporúčam vám sa s ním oboznámiť čo najlepšie. Je skutočne nenahraditeľnou pomôckou pri práci.
Viac informácií o rozšíreniach Firebug a Firecookie.

Modify Headers

Add, modify and filter http request headers.

modifyheadersVeľmi užitočné rozšírenie, pre úpravu HTTP hlavičiek takpovediac za chodu. Umožňuje napríklad zmeniť názov a verziu prehliadača, referer, atď. Toto rozšírenie je vhodné aj pre programátorov, ktorí si potrebujú odskúšať správanie svojej aplikácie pri vstupe neštandardných dát, alebo pri overovaní verzie prehliadača. Rozšírenie je veľmi jednoduché, umožňuje pridať, modifikovať alebo filtrovať časť HTTP hlavičky. Je veľká škoda, že nie je súčasťou niektorého z predošlých rozšírení. I samostatne má však svoje opodstatnenie a význam. Jeho hlavnou výhodou je, že akékoľvek zásahy do HTTP hlavičky udržiava až do ich vypnutia. Napríklad User Agent Switcher, ktorý umožňuje zmeniť len identifikátor prehliadača sa vždy vráti do pôvodného stavu po vypnutí a zapnutí prehliadača (aspoň tomu tak bolo v dobe, keď som ho prestal používať, čo už bude viac ako rok). Ten je však omnoho jednoduchší na použitie a oveľa prívetivejší. Možno sa raz dočkáme kombinácie oboch.
Viac informácií o rozšíreniach Modify Headers a User Agent Switcher.

Greasemonkey

Allows you to customize the way a webpage displays using small bits of JavaScript.

greasemonkeyGreasemonkey je veľmi populárne rozšírenie u všetkých druhov používateľov. Dokazuje to aj počet stiahnutí, ktorý dnes tvorí 16 960 035 stiahnutí. Greasemonkey umožňuje využívať akýkoľvek vlastný skript napísaný v JavaScripte a tým aj upravovať správanie webu, ale až po jeho načítaní. Napríklad aktuálne veľmi populárny skript, ktorý automaticky schováva nežiadúce spamujúce kvízy na hlavnej stránke Facebooku úplne automaticky. Alebo môj Auto-Hidden Input Viewer, ktorý vám na každej stránke zobrazí všetky skryté formulárové polia (vďaka čomu vznikla kauza azet). Ja Greasemonkey využívam napríklad aj pre vytvorenie XSS exploitu pre konkrétny web, aby som nemusel zneužívať stále zraniteľnosti a neupozornil tak administrátora na túto chybu skôr, ako budem mať hotový POC. Veľké množstvo užitočných skriptov môžete nájsť na stránke userscripts.org.

Viac informácií o rozšírení Greasemonkey.

Web Developer

The Web Developer extension adds a menu and a toolbar to the browser with various web developer tools.

webdeveloperAko už napovedá názov, toto rozšírenie je primárne určené pre tvorcov webov. Má niekoľko veľmi šikovných nástrojov, ktoré vám uľahčia prácu a to aj pri testovaní bezpečnosti. Na dve kliknutia dokážete zakázať spúšťanie Java Appletov, či odosielanie refererov, zobrazíte všetky informácie o formulároch a ich poliach na danej stránke, zakážete CSS alebo obrázky, atď. Toto rozšírenie je veľmi komplexné a má mnoho zaujímavých funkcií, ktoré si je potrebné vyskúšať a naučiť sa ich využívať pri práci.

Viac informácií o rozšírení Web Developer.

Server Spy

Server Spy is a small Firefox extension that displays the brand of web servers (e.g. Apache, IIS, etc.) in the right-hand side of the browser window’s status bar.

serverspyServer Spy je malinké, zato užitočné rozšírenie, ktoré z HTTP hlavičky vždy automaticky vyberie názov servera, ktorý je posielaný v odpovedi servera. Táto informácia vám môže pomôcť zvoliť správny spôsob pri testovaní aplikácie, ako aj vybrať správny exploit, či prezrieť aktuálne odhalené zraniteľnosti danej verzie servera.

Viac informácií o rozšírení Server Spy.

Rozšírenia pre “page info” okno

oageinfoKeďže existuje viacero rozšírení, ktoré vám môžu sprehľadniť prácu, ktoré upravujú možnosti karty, alebo okna page info, rozhodol som sa ich uviesť v jedinej kategórii. Tieto rozšírenia majú skôr informačný charakter, ktorý vám umožní rýchlejšie sa zorientovať v množstve informácií, ako napríklad koľko framov je použitých na stránke, ale koľko liniek vedie mimo web. Nemajú skutočné využitie pri bezpečnostnom audite, no i zrýchlenie práce je dosť veľký benefit.

  • View Cookies Ako napovedá názov rozšírenia, umožňuje zobraziť cookies v okne page info pre danú stránku.
  • View Dependencies Zobrazuje zoznam všetkých súborov, ktoré stránka načítava, ako napríklad CSS štýly, JavaScript, obrázky, atď. Tento zoznam je pekne zoradený a prehľadný, takže sa v ňom veľmi ľahko orientuje.
  • View Frames (scrollujte nižšie) Zobrazí zoznam frameov použitých na webe.
  • Links and Forms (scrollujte nižšie)Zobrazí zoznam všetkých liniek a formulárov, ktoré sa na danom webe nachádzajú

SSL Blacklist

SSL Blacklist now detects and warns about certificate chains that use the MD5 algorithm for RSA signatures.

Možno si spomínate na demonštráciu útoku proti SSL certifikátom, ktorá bola demonštrovaná na poslednom CCC. Toto rozšírenie vás vždy varuje, ak sa takýto certifikát objaví na nejakom webe. Pri testovaní bezpečnosti je to veľmi cenná informácia. Ona je cenná aj pre bežných užívateľov, len oni o tom sami väčšinou ani nevedia.

Viac informácií o rozšírení SSL Blacklist.

Cert Viewer Plus

Certificate viewer enhancements: PEM format view, file export

Ďalšie rozšírenie, ktoré pracuje s certifikátmi. Toto však zobrazuje všetky možné a dostupné informácie o certifikáte, ktoré znalým užívateľom môžu poskytnúť veľmi cenné informácie. Rovnako je tomu aj pri testovaní bezpečnosti, kedy znalosť certifikátu a jeho vydavateľa môže byť veľmi dôležitá (viď ČSOB, alebo SK-NIC).

Viac informácií o rozšírení Cert Viewer Plus.

Záver

Toto je väčšia časť z mnou používaných rozšírení, ktoré mi pomáhajú pri bezpečnostných auditoch webov. Tieto rozšírenia však pomôžu komukoľvek, kto potrebuje raz za čas odsledovať komunikáciu webu, či nájsť skryté informácie schované v zákutiach, ktoré by bolo potrebné ručne prechádzať. K dispozícii je obrovské množstvo ďalších rozšírení, ktoré vám môžu byť veľmi nápomocné. Ja sám používam ešte ďalšie, ktoré mi uľahčujú každodenné surfovanie, ale i zábavu. Tieto rozšírenia však nemajú vplyv na bezpečnosť, aspoň nie ako analytické nástroje.

Ak aj vy používate nejaké šikovné nástroje, ktoré sa v článku neobjavili, podelte sa so mnou a ostatnými v komentári pod článkom.

Zaujal vás článok? Sledujte ma na Twitteri.


13 Responses to “Bezpečnostná analýza webu za pomoci prehliadača”


  1. 1 NeSHo Apr 3rd, 2009 at 15:25

    Krasne :)

  2. 2 alian Apr 3rd, 2009 at 16:32

    Velmi pekne – zaujal ma hlavne httpfox. Ja este (z pohodlnosti) pouzivam XSS Me a HackBar.

  3. 3 Pavel Gloss Apr 3rd, 2009 at 21:00

    Velice pěkný přehled. Díky.

  4. 4 vlk Apr 3rd, 2009 at 22:15

    Este by som zaradil do prehladu aj addons na sql injection:
    SQL Inject Me https://addons.mozilla.org/en-US/firefox/addon/7597
    SQL Injection https://addons.mozilla.org/en-US/firefox/addon/6727

  5. 5 oooo Apr 3rd, 2009 at 23:02

    #4 Pavel Gloss: no zaradit by sa tam dalo toho dost velke mnozstvo, ako napriklad vsetky “me” projekty, a asi polovica XSS scannerov. Prave tieto pluginy, ktore som tu publikoval su univerzalne, nie su stavane na konkretnu zranitelnost, len na manipulaciu spravania prehliadaca. ale fajn, ze si sem tie linky dal, mozno niekomu pomozu

  6. 6 Marek Apr 4th, 2009 at 18:57

    Velmi uzitocny na sledovnie requestov a response je Fiddler. Primarne je urceny pre IE. Da sa v nom aj skriptovat a pozmenovat requesty. Vdaka addonu Santur je velmi lahko pouzitelny aj vo Firefoxe.

    http://www.fiddler2.com/
    https://addons.mozilla.org/sk/firefox/addon/9073

  7. 7 oooo Apr 4th, 2009 at 20:11

    #6 oooo: takychto externych nastrojov su stovky, preto to bol clanok o tom, co vie urobit samotny firefox bez potreby externych aplikacii. potom by sa tu dala vymenovat cela kopa aplikacii, ktore vedia pracovat s trafficom browsera, napriklad webscaram, ci rozne proxy nastroje, ako app scan od ibm ci acunetix scanner a skutocne stovky dalsich.

  8. 8 TommyHot Apr 7th, 2009 at 11:32

    Viem, ze tych toolov je kvantum, ale za zmienku urcite stoji HackBar:

    https://addons.mozilla.org/en-US/firefox/addon/3899

  9. 9 starenka Apr 13th, 2009 at 11:48

    Je videt, ze hranice mezi web developerem a pen. testerem je skoro miziva :) Vsechny vyjmenovany nastroje celkem bezne vyuzivam na vyvoj. Zminovanej hackbar je spis o pohodlnosti a rychlosti, ale da se suplovat (jak pises) obecnejsima nastrojema. Za httpfox diky, byl jsem zvyklej na livehttp a nadavl jsem, ze to pada a radsi pak poustel opravdovej sniffer ;)

  10. 10 mm Apr 23rd, 2009 at 23:52

    dalsie cool extensions pre FireFox:

    ColorZilla – uzitocne pre dizajnera, ked potrebuje ziskat HTML/HEX cislo farby na webe
    SearchStatus – AlexaRank a Google page rank = hrube info o “marketingovej hodnote” stranky
    NoScript – bezpecnost – zakazanie JAVAscript na strankach – must have pri surfovani po torrent sites warez a pod
    ScreenGrab – screenshot obrazovky, celej stranky (aj vacsej ako je velkost okna prehliadaca) resp. vyrezu obrazovky na 2xkliknutie

  11. 11 dev May 25th, 2009 at 19:54

    Akym rozsirenim by sa dali modifikovat polia vo select list-e (formulary)?

  12. 12 oooo May 25th, 2009 at 20:30

    #11 mm: taketo veci sa riesia cez tamper data. teda ked posielas data tak ich zmenis. inak samozrejme firebug

  1. 1 1. zprávy » Synopsi Blog // Bezpečnostná analýza webu za pomoci prehliadača Pingback on Apr 3rd, 2009 at 19:02

Zanechajte odkaz

  • na ďalšie komentáre odkazujte za použitia čísla komentáru v hranatej zátvorke, napríklad [3]
  • vaša IP adresa je logovaná a zneužívaná na výskumné účely
  • môžete mi tykať
  • komentáre sú moderované, kritiku prijímam, snažte sa prosím strániť invektív