SQL injection a jiná zvěrstva

Obrátil se na mne klient s prosbou o pomoc při dokončení a rozjetí jejich fungl nového informačního webu. Web jim komerčně (to je v tomto kontextu důležité) programoval nějaký, pravděpodobně nezávislý, vývojář. Web je dokončený (prezenční i administrační část) a požadavkem byla pomoc při revizi současného řešení, optimalizaci, správě reklamních pozic a podobné rutinní záležitosti. Původní vývojář prý totiž ke konci projevoval jistou neochotu a nespolehlivost při řešení poptávaných zadání.

Nutno podotknout, že klient je v tomto směru pole neorané. Jeho představa, že si zaplatí vytvoření webu a je prakticky vše hotovo byla roztomile naivní. Abych rozvedl tu představu: klient si myslel, že lidi tam přijdou sami, že obsah webu se snese z nebe a celé to bude samo od sebe generovat velké zisky. I když na tom posledním něco  je: web ještě není produkční, ale reklamní pozice josu již do jedné rozprodány.

S tímto vědomím jsem vstupoval v jednání, vyžádal si podrobnější informace o projektu a podíval se dané aplikaci na zoubek.

A nyní přijde pointa:

  • do administrace jsem se přihlásil nejprimitivnější formou SQL INJECTION, tedy: ‘ OR 1=1 —
  • laborováním s číselnými paramertry v URL jsem dokázal na straně databáze provádět parádní kouzla
  • při chybě v SQL dotazu se tento i s popisem chyby od mysql serveru naférovku vypsal
  • pri testování XSS a vložení kusu JavaScriptu do kontaktního formuláře jsem rozhodil celou administraci
  • hesla adminů v administraci se vypisovala čistě plaintextově
  • … o tom, že v HTML byla hromada chyb a web nesplňoval ani základní SEO praktiky se asi nemá pod tíhou skutečností výše cenu zmiňovat …

Nutno říct, že uvedené problémy byly jen první čtyři checky, jenž mě z fleku napadly, a všechny dopadly pozitivně resp. negativně.

Byl jsem silně v šoku. Web na první pohled vypadá profesionálně. Moderní layout, stavba HTML na první pohled nevypadala špatně .. s layoutem administrace (celé se to tváří jako Windows Vista) si někdo taky silně vyhrál. A pak tohle. Já to nechápu. Jak si někdo za takto odvedenou práci může brát peníze? A taky si říkám, jakou roli v tomto ohledu asi hrál fakt, že klient dané problematice rozumí na úrovni nula? Že by prodané pozlátko shnilé uvnitř?

Na závěr dvě poznámky:

  1. Vývojář klientovi za úplatu poskytuje také hostingové služby. Když vidím jak vypadá aplikace, je otázkou, jak je na tom zabezpečení hostingu. Ještě jsem to nezkoušel.
  2. Hledání chyb na cizích webech mně baví 🙂

Dodatek (aneb co mně velmi, velmi pobavilo):

"The requested URL /admin/virtualsecurity.php was not found on this server."