Po drátě 6: Řešení úlohy č. 3
Zadání říká, že si o heslo máme říct Vyvrhelovi na mailu vyvrhel@podrate.cz. Nuže, pošleme mu mail. Pokud se rozepíšeme moc, přijde nám automatická odpověď, že takhle dlouhé maily on nečte. Když mu pošleme dostatečně krátký e-mail (kratší než 4K včetně hlaviček), vrátí se nám mail s předmětem „Zajímavé čtení“.
Copak nám to poslal? Zkušený vidí procmailrc hned, ostatní se mohou chytit podle komentáře cca uprostřed.
Prostudujeme za použití man procmailrc
a zjistíme, že stačí
poslat správný mail. Musí být velký přesně 4096B (nebo 4097, podle toho,
jak se to počítá), obsahovat přesně 42 dvojteček a někde v hlavičkách
musí být „X-Want: Password“.
Pomoci s velikostí mailu nám může X-Want: Size, což může být kdekoli v mailu (klidně v těle: :0HBhb) – pak nám nazpátek přijde v hlavičce X-Wanted velikost mailu po přijetí (a ještě pár dalších čísel).
Když jste se trefili s velikostí mailu, bylo potřeba upravit počet dvojteček, s čímž pomohla hlavička X-Colons. Když mail splňoval všechny náležitosti, přišel zpátky mail se subjectem „Zde je heslo“; v hlavičce X-Wanted bylo heslo.
Zajímavosti
Úlohu nešlo vyřešit z webového rozhraní Seznamu, neboť on sám už do mailu vkládá 42 dvojteček. Nešlo tedy nikam přidat žádné X-Want. Pravděpodobně se to však dalo obejít použitím lokálního klienta.
Úlohu se autorovi povedlo vyřešit z webového rozhraní GMailu se zapnutým HTML, nicméně bylo potřeba chvíli zkoušet ten samý mail – GMail vkládá do hlaviček vnitřní IP adresu stroje, kterým mail projde … a ta může mít různý počet cifer.
Pokud jste si chtěli ušetřit haluzení nad tím, jak velkou hlavičku
zrovna Google přidá, tak jste mohli (povětšinou) použít napřímo
telnet
na port 25 na podrate.cz
… pokud jej
tedy váš ISP neblokuje.
Několik lidí si nevšimlo, že je potřeba si o heslo opravdu říct přes X-Want (tato „hlavička“ mohla být klidně jako předmět zprávy, neboť se úmyslně nekontrolovalo, jestli začíná na začátku řádku). Vesele jsme na jejich bugreporty odpovídali, že úloha je naprosto v pořádku …
Autorem úlohy je Moskyto, nápad se už pár let válel u ledu.
v procmailrc.
mail -s "3" vyvrhel@podrate.cz -a 'From: muj@registrovany.mail' -a "X-Want: Size" -a "X-Want: Password" < body