Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: WebHacker Challenge :)
Forum PHP.pl > Inne > Hydepark
piechnat
Zapraszam wszystkich do wzięcia udziału w moim HackMe o nazwie WebHacker.

Adres: http://webhacker.abc.pl/ biggrin.gif
Ociu
Beznadziejne..
Jestem na drugim poziomie i nie moge przejść smile.gif))
Wpisywałem wszelkiej maści hasła jakie znalazłem w źródle, ale żadne nie pasowało.
NuLL
Szczerze mówiąc nie chce mi się pisać skryptow dekodujących.
dr_bonzo
Givapuje sie, tez utknalem na drugim. Nie mam juz wiecej pomyslow.
piechnat level drugi jest ok?
NuLL
Tak

Kod
  function encode(s,i,r,l){
    for(i=0,r='',l=s.length;i<l;i++)
      r+=String.fromCharCode(s.charCodeAt(i)+l-i);return r
  }


Niech ktos napisze funkcje ktora to odwraca.
dr_bonzo
Stowka i masz ja za 15 minut biggrin.gif
Ale spojrz na skrypt:
Kod
  function checkPass(x){
    return x=='sex'?'level_3':0
  }
// ...
  function checkPass(x){
    return encode(x)=='pyegl'?x:0
  }

Fukcja checkPass wystepuje dwukrotnie (w powyzszej kolejnosci)
1. powinno wyrzucic error
2. nie wyrzuca go i uzywa pierwszej z nich, czyli encode() jest nieuzywane. biggrin.gif
No i wlasnie stracilem stozeta biggrin.gif
FiDO
Cytat(dr_bonzo @ 2005-01-07 14:59:47)
Fukcja checkPass wystepuje dwukrotnie (w powyzszej kolejnosci)
1. powinno wyrzucic error
2. nie wyrzuca go i uzywa pierwszej z nich, czyli encode() jest nieuzywane. biggrin.gif
No i wlasnie stracilem stozeta biggrin.gif

Ale pleciesz.. kolejnosc jest wlasnie odwrotna. Uzywane jest encode, ale to jest w pliku, ktorego na pierwszy rzut oka nie widac, a ten checkPass z 'sex'em to dla zmylki jest. Za latwo by bylo snitch.gif
dr_bonzo
Sprawdzam taki kod (pod Opera 7.5 i FFoxem 1):
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <title>WebHacker</title>
  3. <link rel="stylesheet" href="tls/style_b.css" type="text/css">
  4. <script type="text/javascript" src="script.php?fGEWyvO4i10ZLnRu"></script>
  5.  
  6. <script type="text/javascript" language="JavaScript">
  7. <!--
  8.  
  9. function checkPass(x)
  10. {
  11. alert( "Pierwszy passchek" );
  12. return ( x == 'sex' ) ? 'level_3' : 0;
  13. }
  14.  
  15. //-->
  16. </head>
  17. <p><span class="cBig">WebHacker</span><br>Level 2 - "I can win"</p>
  18. <p><form onsubmit="return getPass(this)">
  19. Enter password: <input type="password" name="pass"
  20. size="16" maxlength="16"><input type="submit" value=" " class="cHide">
  21. </form></p><p id="msg"></p>
  22. </body>
  23. </html>
  24.  
  25. <script src="text/javascript" language="JavaScript">
  26. <!--
  27.  
  28. function encode(s,i,r,l){
  29. for(i=0,r='',l=s.length;i<l;i++)
  30. r+=String.fromCharCode(s.charCodeAt(i)+l-i);return r
  31. }
  32.  
  33. function checkPass(x){
  34. alert( "Drugi passchek" );
  35. return encode(x)=='pyegl'?x:0
  36. }
  37.  
  38. //-->


----- EDIT:
script.php:
Kod
function rS(s,l,t,r,i)
{
    t='op89abcdwxyEFG34efghij56HIJKLSTUVzABCqrstuvRYZ0127DWXMNOPQklmn';
    r='';
    i=0;

    for (; i<s.length; i++ )
    {
        r += t.charAt( ( s.charCodeAt( i ) + i )%t.length );
    }

    return r + ( l ? '_'+l : '' );
}

function myInnerText( o, s, c )
{
    // wypisuje message w polu o ID=o , zazwyczaj 'msg'
    // o -- nazwa ID <taga>
    // c -- kolor
    // s -- message

    with( document.getElementById(o) )
    {
        style.color=c; //
        
        // jesli posiada childa to go usuwa,
        while( hasChildNodes() )
        {
            removeChild( firstChild );
        }
        
        appendChild( document.createTextNode( s ) )
    }
}

/*
s -- link, URL
*/
function loc( s, e )
{
    with( document )
    {
        body.appendChild( e = createElement('form') )
        with( e )
        {
            action=s;
            method='get';
            submit();
        }
    }
}

/*
f -- form
*/
function getPass(f,c,p)
{
    p=f.pass.value; // zapamietanie hasla
    f.pass.value=''; // wyczyszczenie pola z haslem

    if( p ) // halso istnieje
    {
//        alert( 'haslo istnieje (' + p + ')' );

        c = checkPass( p );

        if( c ) // jesli haslo jest prawidlowe to c != 0
        {
            myInnerText('msg','Access Granted exclamation.gif!','#00EE00')
            //'c' + '.php"
            setTimeout('loc("'+c+'.php")',1500)
        }
        else
        {
            myInnerText('msg','Access Denied exclamation.gif!','#FF0000')
            setTimeout('myInnerText("msg","")',2000)
        }
    }
//    return !1
}

/*
onload=function()
{
    document.forms[0].elements[0].focus()
}

document.oncontextmenu=new Function('return!1')
*/

i wyswietla mi alerta "Pierwszy passchczek".
Hmmm?
Ive
em... a moze to tworca sie pomylil bo w formie jest odwolanie do getPass ? ale ja sie tam na JS nie znam i to tez moze byc zmyla jakas :]
peterj
A getPass odwołuje się do checkPass
  1. function getPass(f,c,p){
  2. p=f.pass.value;f.pass.value=''
  3. if(p)if(c=checkPass(p)){
  4. myInnerText('msg','Access Granted !!!','#00EE00')
  5. setTimeout('loc("'+c+'.php")',1500)
  6. }else{
  7. myInnerText('msg','Access Denied !!!','#FF0000')
  8. setTimeout('myInnerText("msg","")',2000)
  9. }
  10. return!1
  11. }
NuLL
@piechnat: To że Ty zdałeś to dość dziwne- jakiego browsera używasz questionmark.gif Z przerobioną obsługą Javascriptu tongue.gif
Ive
tak wogole to:
Kod
<script src="text/javascript" [..]>

powinno byc
Kod
<script type="text/javascript" [...]
tylko nie wiem czy to rozwala skladnie czy nie ...

[edit]
@null: taaa.... ciekawe jak on mogl tego dokonac... tiredsmiley.gif wkoncu on tylko nadawal nazwy plikom z kolejnymi poziomami i chyba raczej znal strukture katalogu...
@peterj: tez sie o tym skapnalem jak przylukalem script.php ...
dr_bonzo
Cytat
@piechnat: To że Ty zdałeś to dość dziwne- jakiego browsera używasz questionmark.gif Z przerobioną obsługą Javascriptu tongue.gif

Cytat
@null: taaa.... ciekawe jak on mogl tego dokonac... tiredsmiley.gif wkoncu on tylko nadawal nazwy plikom z kolejnymi poziomami i chyba raczej znal strukture katalogu...

A widziales kto stworzyl ta gre? biggrin.gif
Cytat
WebHacker
2005 by Piechnat
Ive
@dr_bonzo: z mojej strony to byl cos a'la zarcik [sarkazm czy tam ironia... sam nie wiem jak to sie nazywa haha.gif]
dr_bonzo
Cos mam dzisiaj slaby sluch smile.gif

Przeszedl ktos drugi level? Wiem tylko ze encode( 'kubek' ) == 'pyegl' i koniec.
Ive
moze kubek przlicz sobie na ascii i poleci... tablice mozesz znalezc w google
NuLL
A komu chce się rozwiązywać - powiedzmy sobie szczerze - tę głupotę...
piechnat
Cytat(Ive @ 2005-01-07 16:00:08)
tak wogole to:
Kod
<script src="text/javascript" [..]>

no wreszcie ktos zauwazyl 2 zmyle tego etapu, gratulacje biggrin.gif

...a jesli chodzi o przegladarki, to te wszystkie ktore wymienilem na stronie, to na nich wszystkich mozna przejsc do konca i wpisac sie na liste zwyciezcow tongue.gif

hmmm... szkoda ze jeszcze nikt nie przeszedl, teraz tylko nie wiem czy to jest za trudne czy za nudne sadsmiley02.gif

[dopisane]

aha, metoda dojscia do hasla 'kubek' jest trafiona tylko ze w innym kontekscie, trzeba to polaczyc z uwaga na temat src="text/javascript" i juz jest haslo gotowe cool.gif
NuLL
Zastanawiam się co jest pózniej - załózmy 5 etap questionmark.gif Włamanie się na serwer za pomoca przeglądarki winksmiley.jpg tongue.gif Może IE - bo przez niego mogą się włamać do Ciebie
Ive
yeah... dolazlem do poziomu 3 tongue.gif a z tym src w <script> to mi sie wlasnie wydawalo ze ty pobierasz skrypt skads w necie ale kurde jak probowalem dodac to do adresu alisau to mi wracalo na glowny sajt tongue.gif i to mnie najbardziej zmylilo haha.gif
Cudi
Ja zatrzymałem się na poziomie 4, narazie nie wiem w czym tkwi kurczek. Na ślepo wziołem się za funkcje rS(), napisałem funkcje dekodującą, a ona mi wypluła wyraz "sciema" winksmiley.jpg Jeszcze się troche pobawie, narazie intryguje mnie nazwa levelu - "Trojan cow"... czy to ma jakoś naprowadzać? winksmiley.jpg
piechnat
niewątpliwie to ma naprowadzać, nawet hasłem jest nazwa zwierzątka ale nie horse biggrin.gif

podpowiedź: od teraz przyda się umiejętność wysyłania spreparowanych nagłówków HTTP (przyda się jakiś Telnet albo dla leniwych FlashGet cool.gif )
Vengeance
ja mam pytanie czy wystepuje tam JavaScript (pewnie tak bleee)
a jesli tak to od kiedy jest cos "normalnego" ;]

a tak w ogole to:
www.ngsec.com
jest extra ;]
piechnat
Vengeance: nic poza JavaScript nie ma ;(

P.S: Czy ktos doszedl np. na 5 poziom albo dalej ?
dasko
ja wlasnie nad levelem 3 pracuje biggrin.gif dziwne ze taki n00b jak ja przeszedl w ogole drugi, bez patrzenia na forum(o grze dowiedziałem się z Forum Ygrega)...

kurde, mogles przynajmniej jakos fajniej to napisac, bo takie cos...

Kod
for(;i<s.length;i++)r+=t.charAt((s.charCodeAt(i)+i)%t.length);return r+(l?'_'+l:'')


trudno się czyta biggrin.gif
Imperior
OK
Przeszedłem, więc teraz moge przeczytać spokojnie temacik.
IMHO zrobiłeś bardzo świetnie to wyzwanie.

Bez żadnej pomocy, zaglądając 2 razy do manuala przeszedłem całość.
Oczywiście php rulez i mi pomogło w kilku rzeczach biggrin.gif

Jednak nie przemyślałeś do końca 5 levelu...
Jestem w stanie podać wiele haseł, które dadzą Access Granted, ale nie będą prawidłowe, aby przenieść na strone kolejnego etapu.

Jeśli jesteś ciekaw o co mi chodzi to daj znać na priv.

Nie jest taki trudny, tylko trzeba mieć siłę woli, bo to jest wyzwanie jak już powiedziałem.

I bonus za to, że nie potrzebowalem nic więcej jak Opere (7.5) i PHP5.
spenalzo
Hmmmmmm ... jakiś rok temu było bardzo podobna strona, żeby nie powiedzieć łudząco podobna - np. metoda z ukryciem src="text/...." była taka sama winksmiley.jpg itp
Imperior
src=.... to jest powszechnie znana zmyłka i w każdym webhacku jest umieszczona dla rozgrzewki.
Vertical
Ja na razie doszedłem do 3 levelu i nie wiem, co dalej... Wolę nie myśleć, jaki będzie siódmy... I nie wiem też, czy autor tego webckracka również by doszedł do ostatniego poziomu, gdyby nie on pisał stronę... winksmiley.jpg
spenalzo
Cytat(Imperior @ 2005-01-14 10:32:03)
src=.... to jest powszechnie znana zmyłka i w każdym webhacku jest umieszczona dla rozgrzewki.

Dlatego autor mógł wymyślić coś nowego...
Imperior
Co prawda nie szukałem, ale nie widziałem webhackow w całości w javascripcie, co jest już dużym plusem, a o pomysłowości zadań to powinieneś się wypowiadać dopiero po zapoznaniu się z nimi...
Paul
Dolaczylem wlasnie do tych ktorym udalo sie przejsc WebHackera biggrin.gif. Bardzo ciekawie zostal napisany smile.gif. Kiedy bedzie nastepny smile.gif?

Cytat(Imperior @ 2005-01-12 20:29:36)
Jednak nie przemyślałeś do końca 5 levelu...
Jestem w stanie podać wiele haseł, które dadzą Access Granted, ale nie będą prawidłowe, aby przenieść na strone kolejnego etapu.

Tez sie na to nadzialem, ale okazalo sie, ze rozwiazanie jest prostsze smile.gif
Imperior
Cytat(Paul @ 2005-01-18 04:14:23)
Dolaczylem wlasnie do tych ktorym udalo sie przejsc WebHackera biggrin.gif. Bardzo ciekawie zostal napisany smile.gif. Kiedy bedzie nastepny smile.gif?

Witam w gronie. Co prawda małe, ale za to doborowe! laugh.gif
Też jestem ciekaw kiedy kolejna wersja, ale trzeba trochę pracy włożyć w takie cosik.
piechnat
jak by się komuś nudziło to polecam:

Blind Alley CHALLENGE by BlaTek

to jest świetne hackme, dopracowane graficznie i w ogóle... smile.gif (całe w JS)
Imperior
Cytat(piechnat @ 2005-01-24 13:10:13)
jak by się komuś nudziło to polecam:

Blind Alley CHALLENGE by BlaTek

to jest świetne hackme, dopracowane graficznie i w ogóle... smile.gif (całe w JS)

Niestety już na wstępie zraża do siebie... a sio.
Kod
<script>if(window.opera){alert('This is real DHTML site.\n So, get real browser.');history.go(-1)}</script>
Synaps
Już kiedyś to pisałem HackQuest, jak dla mnie od zawsze jeden z najlepszych. Ostatnimi czasy zrestartowano wszystkiekonta i zabawa zaczeła się od nowa, autor dodał nowe challenge. Naprawde gorąca polecam bo znaleźć można tam dużo rzeczy : php,JS, Java, CrackIt, Crypto, Hack, Exploits, Programming, Steganografia, zagadki logiczne i inne. Dobra zabawa i zarazem dużo można się nauczyć.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.