piatok 12. augusta 2011

Získajte prihlasovacie údaje do databázy z kódu

Dostali ste úlohu, aby ste opravili problém s databázou vo webovej aplikácii. Problém je, že nikto vám nepovedal správne prístupové údaje k databáze. Dokonca ani neviete, kde sa databáza nachádza. Takto by ste mohli stráviť hodiny pátraním v kóde alebo u kolegov vo firme, o ktorých si myslíte, že by to mohli vedieť.

Ak je aplikácia napísaná v ASP.NET, je tu veľká šanca, že všetky tieto informácie sú uložené v priečinku umiestnenom na najvyššej úrovni aplikácie v súbore s názvom web.config. Pripojenie k databáze môže dokonca vyzerať nejako takto:

<add key="MyApp.DataAccess.ConnectionString"
value="Provider=SQLOLEDB;server=34.329.169.201;uid=doodle1;
pwd=$%^yt>r;database=larry;Connection Reset=FALSE" />

Z pohľadu bezpečnosti je to úplne zlé riešenie. Ale keďže program napísal niekto iný, tak ste aspoň schopní nájsť hľadané informácie s splniť svoju úlohu.

Ak je aplikácia napísaná v klasickom ASP, skúste sa pozrieť na súbor global.asa. V opačnom prípade hľadania v zdrojovom kóde frázy ako conn, password, uid, provider, SQLOLEDB alebo im podobné.