**** leak ****

Tento program komunikuje takym trochu binarnejsim protokolom;
namiesto zadavaneho textu potrebuje najprv stvorbajtove cislo
vyjadrujuce dlzku nasledovneho textu, a az po nom text samotny.

V tomto pripade ide o stedry program -- moze dat viac, nez dostal.
Navyse, nedava si pozor na to, co sa mu kde v pamati povaluje;
a tak citlive informacie (ako napriklad heslo) sa nachadzaju
aj na miestach, kde sa k nim dokaze dostat niekto nepovolany.

Po precitani dlzky dat ocakava, ze za nou urcite bude prislusny
pocet bajtov; nikde to ale neskontroluje. Vzapati potom takyto
pocet bajtov posle naspat z rovnakeho miesta v pamati. To ale
znamena, ze moze poslat casti pamate, ktore obsahuju aj cosi
ine, ako dostal na vstupe; napriklad aj nejake tie citlive data.

Podobny problem sa prejavil pri neslavne znamej chybe Heartbleed.

Zneuzitie je pomerne priamociare (povieme, ze chceme 0x100 bajtov,
no tolko ich nedodame)
	echo -e '\x00\x01\x00\x00' | ./leak

a mozeme si precitat:
...
eslo=VelmiZloziteATajneHeslo
...

Napady hodne zamyslenia:
- Preco to vypisalo len "eslo=" a nie "heslo="? (rada: co sme to vlastne
  skutocne dali za vstup?)
- Co za kus pamate to vlastne vypisujeme? Vsak do "buf"-u sa to nemalo
  ako dostat... ci snad hej? (rada: Ak ste boli na prednaske, viete...
  a ak nie: ako sa to vlastne tie premenne volaju?)
