{"id":136,"date":"2010-07-17T12:54:00","date_gmt":"2010-07-17T12:54:00","guid":{"rendered":"http:\/\/e-ware.org\/blog\/?p=136"},"modified":"2010-07-17T12:54:00","modified_gmt":"2010-07-17T12:54:00","slug":"hacker-game-soluzione-livello-2-metodo-2","status":"publish","type":"post","link":"http:\/\/e-ware.org\/blog\/hacker-game-soluzione-livello-2-metodo-2\/","title":{"rendered":"Hacker Game: Soluzione livello 2 &#8211; Metodo 2"},"content":{"rendered":"<div><\/div>\n<p><a href=\"http:\/\/1.bp.blogspot.com\/_Tg1CIil2fDM\/TDjDZaBROHI\/AAAAAAAAAnU\/_kQp4o3l_5Q\/s400\/hack2\"><img decoding=\"async\" src=\"http:\/\/1.bp.blogspot.com\/_Tg1CIil2fDM\/TDjDZaBROHI\/AAAAAAAAAnU\/_kQp4o3l_5Q\/s400\/hack2\" border=\"0\" alt=\"\"><\/a><\/p>\n<div><span>Come abbiamo <\/span><a href=\"http:\/\/soluzionisoftware.blogspot.com\/2010\/07\/hacker-game-soluzione-livello-2-metodo.html\"><span>gi\u00e0 visto<\/span><\/a><span>, il secondo livello di <\/span><a href=\"http:\/\/soluzionisoftware.blogspot.com\/2010\/06\/hacker-game-prossima-risoluzione.html\"><span>Hacker-game<\/span><\/a><span> pu\u00f2 essere risolto con facilit\u00e0 spulciando per bene i sorgenti della pagina web che si ha davanti. Bene, direte voi, nulla di pi\u00f9 facile. E invece non \u00e8 cos\u00ec. Il mondo dell&#8217;informatica e della programmazione(come molte altre discipline) \u00e8 bello perch\u00e8 vario! <i>Vario<\/i> \u00e8 da intendersi come il raggiungimento di uno scopo usando anche strade diverse da quelle convenzionalmente riconosciute. Proprio su questo presupposto nasce l&#8217;hacking.<\/span><\/div>\n<div><span><br \/><\/span><\/div>\n<div><span>Ai lettori pi\u00f9 attenti sar\u00e0 sicuramente saltato agli occhi come nelle tre righe di codice che ho evidenziato nel precedente post ci fossero ben <b>due soluzioni<\/b> alla risoluzione del livello e non una come ho fatto notare.<\/span><\/div>\n<div><span><br \/><\/span><\/div>\n<div><span>Ripescando la parte di nostro interesse avevamo quanto segue:<\/span><\/div>\n<div><span><br \/><\/span><\/div>\n<div><span><i>function check(user, pass){<\/i><\/span><\/div>\n<div><span><i>if (user == &#8220;login&#8221; &#038;&#038; pass == &#8220;segreto&#8221;)<\/i><\/span><\/div>\n<div><span><i>parent.location.href = &#8220;\/daniele\/default.asp?lev=accidempoli&#8221;;<\/i><\/span><\/div>\n<div><span><i>else alert(&#8220;User o password non corretti!&#8221;);<\/i><\/span><\/div>\n<div><span><i>}<\/i><\/span><\/div>\n<div><span><br \/><\/span><\/div>\n<div><span>La nostra attenzione era stata catturata direttamente dalle voci <b>user<\/b> e <b>pass<\/b> ma c&#8217;\u00e8 una cosa ancora pi\u00f9 interessante. In questa <b>funzione check<\/b> si vede che se il confronto tra il contenuto delle due caselle presenti sulla pagina \u00e8 uguale alle parole segrete decise dall&#8217;autore (ovvero le stringhe <b>&#8220;login&#8221;<\/b> e <b>&#8220;pass&#8221;<\/b>) allora si ottiene il passaggio di una stringa che altri non \u00e8 che la pagina alla quale ci dobbiamo recare, ovvero il <b>livello successivo<\/b>!<\/span><\/div>\n<div><span>Facendo attenzione infatti si legge:<\/span><\/div>\n<div><span><br \/><\/span><\/div>\n<div><span><i>parent.location.href = &#8220;\/daniele\/default.asp?lev=accidempoli&#8221;;<\/i><\/span><\/div>\n<div><span><br \/><\/span><\/div>\n<div><span>Ottimo! Quindi chi ci vieta di prelevare il path che c&#8217;\u00e8 dopo <b>parent.location.href<\/b> e di unirlo in cascata al link radice del sito e di accedere direttamente come abbiamo gi\u00e0 fatto per il <\/span><a href=\"http:\/\/soluzionisoftware.blogspot.com\/2010\/07\/hacker-game-soluzione-livello-1.html\"><span>primo livello<\/span><\/a><span>? Pertanto potete andare nella barra degli indirizzi del vostro browser e digitare:<\/span><\/div>\n<div><span><br \/><\/span><\/div>\n<div><span><i>www.telerie-effegibi.it\/daniele\/default.asp?lev=accidempoli<\/i><\/span><\/div>\n<div><span><br \/><\/span><\/div>\n<div><span>Buon hacking a tutti!<\/span><\/div>\n<div><span><br \/><\/span><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Come abbiamo gi\u00e0 visto, il secondo livello di Hacker-game pu\u00f2 essere risolto con facilit\u00e0 spulciando per bene i sorgenti della pagina web che si ha davanti. Bene, direte voi, nulla di pi\u00f9 facile. E invece non \u00e8 cos\u00ec. Il mondo dell&#8217;informatica e della programmazione(come molte altre discipline) \u00e8 bello perch\u00e8 vario! Vario \u00e8 da intendersi [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[56,4],"tags":[],"class_list":["post-136","post","type-post","status-publish","format-standard","hentry","category-hacking","category-opencode"],"views":1551,"_links":{"self":[{"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/posts\/136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/comments?post=136"}],"version-history":[{"count":0,"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/posts\/136\/revisions"}],"wp:attachment":[{"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/media?parent=136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/categories?post=136"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/e-ware.org\/blog\/wp-json\/wp\/v2\/tags?post=136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}