Po drátě 2: Řešení úlohy č. 3
Přihlásit se jako administrátor s heslem z předchozích úloh nešlo, bylo potřeba nechat si "zapomenuté" heslo poslat mailem. Skript retrievepass.php byl ale "špatně ošetřený", někdo do něj zapomněl doplnit administrátorský e-mail.
Řešením bylo podstrčit skriptu proměnnou admin_email tak, aby nebylo poznat, že je podstrčená. Požadavek musel vypadat nevinně - být z "podporovaného" prohlížeče, se správným refererem, a navíc skript kontroloval, zda mu proměnnou nepředáváte jako GET parametr.
Tedy například takto:
curl -e http://www.podrate.cz/podrate2/admin/admin.html \ -A "Mozilla/5.0" \ -d admin_email=muj.mail@seznam.cz \ http://www.podrate.cz/podrate2/admin/retrievepass.php
Pak skript povolil a heslo unclehacker vydal. Kdo se s ním zkusil do administrace skutečně přihlásit, dozvěděl se pouze to, že má stejné heslo použít pro získání další úlohy.
Autorským řešením bylo nastavit si cookie admin_email, například zadáním javascript:document.cookie='admin_email=muj.mail@seznam.cz' do adresního řádku prohlížeče, a pak jen kliknout...