- Menu g³ówne
- Newsy
- Forum
- Hackme 1.0
- Hackme 2.0
- Hackme 3.0
- Audiobooki
- Videoarty
- B³edy w PHP
- Linux
- Kurs PHP
- Kurs MySQL
- Kurs Smarty

- JavaScript
- ReverseCraft
- Assembler
- Delphi
- Pozostale
- Materia³y
- Artyku³y
- Security
- Linux
- Software
- Protoko³y
- Poka¿ wszystkie
..:: Kodowanie ¼ród³a strony ::..
Ostatnio do¶æ czêsto wêdruj±c po sieci napotykam ró¿nego rodzaju "hackerskie" strony internetowe. Jedne z nich s± lepsze, inne gorsze, ale nie o to w tym przypadku chodzi. Bardzo czêsto strony stanowi±ce "doln± pó³kê" hackerskiego podziemia chc± w ró¿noraki sposób utrudniæ ¿ycie wszystkim odwiedzaj±cym ludzi±. Najczê¶ciej odbywa siê to poprzez zakodowanie (jak¿e cennego i skomplikowanego ¼ród³a strony).
Mozecie zapytac po co przeciêtnemu "szperaczowi" internetowemu ¼ród³o jakiej¶ strony? Odpowiedzin na to pytanie jest naprawdê bardzo du¿o. Jednym z celów zerkania do ¼ród³a, jest ocena zdolno¶ci webmasterskich w³a¶ciciela strony. No ale niektórzy "hax00rzy" chc± ukryæ fakt tego, ¿e ich dzie³o zosta³o wygenerowane w Wordzie, Front Pagu czy innym jak¿e zaawansowanym edytorze :)))
Moje pierwsze spotkanie z zaszyfrowanym ¼ród³em strony mialo miejsce do¶æ dawno temu. Pamiêtam, ¿e w³±czy³em wtedy Google i zapragn±³em poszukaæ czego¶ na temat bezpieczeñstwa sieciowego, ale ¿e has³o to jest przeze mnie wpisywane do Googla niezwykle czêsto, pierwsze odno¶niki z listy rezultatów wyszukiwania znam ju¿ na pamiêæ - dlatego postanowi³em szukaæ od koñca :)
Natkn±³em siê na stronê "klubu hakerskiego" który jak pisz± jego cz³onkowie "walczy o porz±dek w sieci" (lol). Na by³o oczywi¶cie standardowe menu (teksty, faq, download no i oczywiscie... czat i forum... hehehe...). Stronka by³a oczywi¶cie w ciemnych mrocznych kolorach z jaskrawymi literkami które porz±dnie "wali³y" po oczach... hehehe. Pierwsz± my¶l± jaka wpad³± mi do g³owy by³o zamkniêcie okna przegl±darki, lecz nim to zrobi³em pomy¶la³em "w czym ten cz³owiek to zrobi³?" no i zerkn±³em do ¼ród³a, a tam... suprise! Zamiast kodu strony zobaczylem tylko sterte cyferek oddzielonych znakami procentów (%). Hmmm... to by³o ciekawe wyzwanie... jak to odczytaæ? Przewin±³em kod strony do samego koñca i moim oczom ukaza³ siê ¶wietnie mi znany JavaScript (w zasadzie to chyba tylko 5 linijek, ale to jednak cos). Jak siê okaza³o, ca³± strona zosta³± zakodowana i jej zakodowana zawarto¶æ zosta³± zapisana do jednej zmiennej. Zmienna ta podczas otwieranai strony jest deszyfrowana "w locie" przez przegl±darke.
No wiêc jak wygl±da ten "algorytm" i jak go z³amaæ? Na pocz±tek wypada³oby wiedzieæ jak dzia³a ten sposób szyfrowania. Po prostu ka¿dy znak u¿yty na stronie zamieniany jest na reprezentuj±cy go kod ASCII a ten z kolei konwertowany jest na jego heksdecymalny odpowiednik. Tak powsta³e kody oddzielone s± od siebie znakiem procenta. Aby rozszyfrowaæ tak "pogmatwan±" stronê wypada³oby odwróciæ ca³y algorytm. Oczywi¶cie my tak nie zrobimy :> Do¶wiadczony programista najpierw przeanalizowa³by ca³± procedurê dekoduj±c±, a nie rzuca³by siê od razu na deszyfracjê kodu.
Po bardziej wnikliwej (lol) analizie kodu widziemy, ¿e do "rozszyfrowania" tych procentowych liczb do normalnej postaci u¿ywana jest standardowa funkcja JavaScriptu, a mianowicie "unescape". Co zauwa¿amy dalej? Ca³y zaszyfrowany tekst przypisywany jest do zmiennej "a" a nastêpnie wy¶wietlany na ekranie poprzez polecenie "document.write(a)". Czyli mówi±c krótko, ca³y rozkodowany tekst przetrzymywany jest w zmiennej o nazwie "a". My nic nie musimy dekodowwaæ! Co w takim razie powinni¶my zrobiæ? No oczywi¶cie... podgl±dn±c t± zmienn± :)
Zobaczyæ co kryje dana zmienna mo¿na na wiele sposobów, ale ja u¿ywam jednego najprostszego - zamieniam document.write(a) na:
document.write('<textarea rows=4 cols=80>'+a+'</textarea>');
W ten sposób ca³y kod strony wpisywany jest do pola tekstowego z którego mo¿emy go ju¿ bez wiêkszych przeszkód odczytaæ.
Jak widzicie kodowanie stron takim sposobem nie ma najmniejszego sensu! Po pierwsze strona tak zakodowana jest nawet do 4 razy wiêksza od wersji rozkodowanej (wyobra¼cie sobie, ¿e kto¶ zakodowa³by tak jaki¶ wielki portal... hehehe...). Po drugie u¿ytkownicy starych przegl±darek nie s±w stanie zobaczyæ zawarto¶ci takiej strony (nie wspominaj±c ju¿ o wielbicielach Lynxa). A po trzecie i ostatnie, ¶rednio zdolny programista z podstawow± wiedz± na temat dzia³±nia javascriptu obejdzie takie zabezpieczenie w niespe³na minutê.
I tym mi³ym akcentem koñcze mój wywód na temat "zakodowanych stron internetowych".

Uwa¿asz, ¿e prezentowane przez nas informacje s± u¿yteczne? Pomó¿ nam je wypromowaæ!
- Subskrypcja
- Je¶li chcesz byæ powiadamiany o nowo¶ciach na stronie, wpisz tu swój e-mail




Shell status: 
