html-css-js
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| html-css-js [2024/03/04 16:36] – mbunic | html-css-js [2025/12/01 11:40] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 42: | Line 42: | ||
| Vidimo da nam još jedan dio flaga fali i da se ne nalazi unutar ovih triju datoteka, ali u tekstu zadatka piše „kako zabraniti google - u da indeksira moju stranicu? | Vidimo da nam još jedan dio flaga fali i da se ne nalazi unutar ovih triju datoteka, ali u tekstu zadatka piše „kako zabraniti google - u da indeksira moju stranicu? | ||
| Kako bi web tražilica znala koji se sadržaj i informacije nalaze na kojim web stranicama, da ih potom može adekvatno spremiti u svoju veliku bazu web stranica, tražilice koriste programe (tzv. web crawlere), koji sistemski pretražuje sve stranice weba na koje može naići i pregledava sadržaj tih web stranica kako bi zabilježio u svoju bazu podataka pronađenu web stranicu i ključan sadržaj koji se nalazi na toj stranici. | Kako bi web tražilica znala koji se sadržaj i informacije nalaze na kojim web stranicama, da ih potom može adekvatno spremiti u svoju veliku bazu web stranica, tražilice koriste programe (tzv. web crawlere), koji sistemski pretražuje sve stranice weba na koje može naići i pregledava sadržaj tih web stranica kako bi zabilježio u svoju bazu podataka pronađenu web stranicu i ključan sadržaj koji se nalazi na toj stranici. | ||
| - | Kako bi se reguliralo koje web stranice tražilice smiju indeksirati, | + | Kako bi se reguliralo koje web stranice tražilice smiju indeksirati, |
| U zadatku „Raspršeni podatci“, gdje je hint prikazan na slici 3, „kako zabraniti google – u da indeksira moju stranicu? | U zadatku „Raspršeni podatci“, gdje je hint prikazan na slici 3, „kako zabraniti google – u da indeksira moju stranicu? | ||
| Line 50: | Line 50: | ||
| </ | </ | ||
| < | < | ||
| - | te je puni URL, zajedno | + | te je puni URL, zajedno |
| < | < | ||
| Line 64: | Line 64: | ||
| </ | </ | ||
| - | Kojima se svim web crawlerima zabranjuje indeksiranje | + | Kojima se svim web crawlerima zabranjuje indeksiranje |
| Line 87: | Line 87: | ||
| Ovaj zadatak ima sličan princip rješavanja | Ovaj zadatak ima sličan princip rješavanja | ||
| < | < | ||
| - | element, unutar kojeg je JavaScript kod, pomoću kojega je implementirana sama funkcionalnost provjere točnosti lozinke. Spomenuti dio koda je prikazan na slici ispod. | + | element, unutar kojeg je JavaScript kod, s pomoću kojega je implementirana sama funkcionalnost provjere točnosti lozinke. Spomenuti dio koda je prikazan na slici ispod. |
| {{ : | {{ : | ||
| Line 108: | Line 108: | ||
| //(komentar za čitatelje) | //(komentar za čitatelje) | ||
| - | HINT: ovaj put kritična funkcionalnost nije implementirana pomoću JavaScripta, | + | HINT: ovaj put kritična funkcionalnost nije implementirana |
| === Nezaštićeni API === | === Nezaštićeni API === | ||
| Line 131: | Line 131: | ||
| Flag je u formatu CTF2023[brojevi]. | Flag je u formatu CTF2023[brojevi]. | ||
| </ | </ | ||
| + | |||
| + | Analizom zadatka, na prvi pogled nije nam dostupno skoro ništa, samo je prikazana rečenica „Dobro došli na moj forum. Registracija će uskoro biti otvorena.“ Otvaranjem razvojnih alata (F12), unutar tijela HTML dokumenta ( unutar < | ||
| + | |||
| + | |||
| + | {{ : | ||
| + | |||
| + | Prvu skriptu možemo analizirati direktno unutar HTML dokumenta, dok za dohvat drugih dviju skripti moramo unijeti lokaciju skripte u browser, kao URL, odnosno za dohvat skripte koje se nalazi na putanji: | ||
| + | < | ||
| + | moramo nadodati tu putanju na putanju početnu putanju stranice: < | ||
| + | čime dobivamo potpunu putanju: < | ||
| + | |||
| + | Analizom ovih skripti, možemo zaključiti da je JavaScript kod koji se nalazi unutar njih „minificiran“. Minifikacija je postupak u kojemu se ulazni JavaScript kod modificira tako da se maksimalno odstranjuju svi dijelovi koda i znakovi uz održavanje iste funkcionalnosti samog koda. Time dobivamo kod koji više nije čitljiv i jednostavan za pregled ljudima, ali jest kao dokument manji, te troši manje resursa/ | ||
| + | |||
| + | Iako postoje načini za „deminifikaciju“ minificiranog koda, koji bi trebali u nekoj mjeri povratiti originalnu čitljivost, | ||
| + | |||
| + | Ovom logikom, možemo probati pretražiti par ključnih pojmova u minificiranim skriptama, kao na primjer „admin“, | ||
| + | |||
| + | Pretraživanjem riječi „flag“ u zadnjoj skripti, dobijemo zanimljiv isječak koda prikazan na slici ispod. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Izvučena linija koda u kojoj je pronađena riječ flag: | ||
| + | < | ||
| + | |||
| + | Vidimo da se ovom linijom koda vrši poziv određene API funkcionalnosti serverske strane, koja se poziva unošenjem putanje | ||
| + | < | ||
| + | na početnu putanju web stranice. | ||
| + | |||
| + | Ručnim pozivanjem tog API poziva, koji izvršavamo unošenjem punog URL-a: | ||
| + | |||
| + | < | ||
| + | |||
| + | Dobivamo rješenje zadatka prikazano na slici ispod. | ||
| + | |||
| + | {{ : | ||
html-css-js.1709570199.txt.gz · Last modified: 2025/12/01 11:40 (external edit)