2017-04-12 63 views
6

Ten website (www.samy.pl) wykorzystuje pewne techniki, tak że nikt nie może sprawdzić kod
(Ctrl + Przesunięcie + I) lub źródło widzenia (Ctrl + U). Może wykryć, czy otworzyłeś konsolę lub inspektora, kod automatycznie się zmienia.Jak mogę zobaczyć kod źródłowy tej strony www.samy.pl?

Jak to jest możliwe?

+1

Możliwy duplikat [Jak ukryć źródło html i wyłączyć funkcję kliknięcia prawym przyciskiem myszy i tekstu?] (Http://stackoverflow.com/questions/6597224/how-to-hide-html-source-disable-right-click- and-text-copy) – Adam

+0

@Adam Nie, to nie to samo co ta strona. – Barmar

+0

Naciśnij klawisz F12, aby otworzyć konsolę. Użyj IE11, aby oszukać swój skrypt. – yezzz

Odpowiedz

0

Aktualizacja: Przejdź do widoku Source: http: //samy.pl który jest link do źródła, co prawy przycisk myszy widok przynosi ci. Działa tylko w Chrome, myślę.

Jeśli używasz chrome, przejdź do menu w prawym górnym rogu. Następnie przejdź do większej liczby narzędzi i kliknij narzędzia dla programistów.

+1

Próbujesz, że nie działa –

+0

Teraz działa to w celu edycji tego kodu. –

-1

Możesz po prostu użyć narzędzi programistycznych w prawie wszystkich przeglądarkach. Po prostu naciśnij klawisz F12 i pojawi się sekcja narzędzi programistycznych.

Dzięki

+0

Może to być również zablokowane przez kod na stronie internetowej, ponieważ jeśli kliknięcie prawym klawiszem jest zablokowane, a te polecenia klawiatury są zablokowane, F12 jest prawdopodobnie również zablokowany. –

+0

F12 działa, dostarcza narzędzi programistycznych, ale strona wykrywa to i ładuje inną zawartość. Witryny mają ograniczoną kontrolę nad przeglądarkami. Jak myślisz, dlaczego ograniczają js xss. – yezzz

3

Zawsze można zapisać na stronie internetowej. W chrome otwórz menu -> więcej narzędzi -> Zapisz stronę jako ..

Powinieneś być w stanie uruchomić plik html w chrome i używać Dev Tools bez blokowania cię.

+0

Zostanie on nadal zablokowany, ponieważ kod jest pobrany i blokuje go. Ale będziesz mógł otworzyć go w edytorze tekstu, aby zobaczyć kod. –

+1

Tak, otwarcie pliku, aby zobaczyć, że kod działa! –

3

Istnieje funkcja "czyszczenia" console wspomniana w this answer.

Oto co myślę dzieje:

Po pierwsze, myślę, że Google Chrome DevTools emituje zdarzenie, gdy jest on otwarty/uruchomiona. Strona autor nasłuchuje tego „uruchomić” wydarzenia z następującą logiką Handler:

  1. Uruchom chrome.devtools.inspectedWindow.evalDevTools inspection API
  2. Ustaw document.body.innerHTML do div Winky-face
  3. Również setInterval że wykonuje console.clear() przed console.log() "brak źródła dla ciebie".

Sprawdziłem również zakładkę EventListeners w Chrome DevTools podczas czytania strony "brak źródła dla Ciebie".

Niestety, dwa detektory zdarzeń można przeglądać nie wydają się zrobić coś pożytecznego:

  • jeden powraca false
  • pozostałe przewody razem tworzą i związane z nimi złożyć działań.

Nadzieja to pomogło

+1

Usuwają także znaczniki skryptów i usuwają wszelkie detektory zdarzeń i/lub wywołania zwrotne, które są nieporządane z konsolą. – yezzz

0

Po wielu majsterkowania i spekulacje razem, mój współlokator udało się w końcu z dość naiwnego podejścia.

Po prostu otwórz narzędzie Chrome devtools i skopiuj źródło, zanim zostanie ono zastąpione. Nadanie procesom Chrome niskiego priorytetu i robienie ciężkich uniesień dzięki procesorowi (kompilacji lub innym) pomaga.

Posiekaj, posiekaj.

1

Ah! Znalazłem prosty sposób, aby to zrobić.
1. Otwórz przeglądarkę Firefox (Chrome pokazuje tylko jej część).
2. Na pasku adresu wpisz javascript:alert(document.documentElement.outerHTML); 3. Naciśnij Wpisz.
4. Voile & agrave ;!

1

Utwórz gdzieś index.html, zawierający <iframe src='https://samy.pl/'>. Załaduj go do przeglądarki, a następnie otwórz devtools. Zobaczysz źródło wewnątrz elementu iframe.

+0

to tak naprawdę nie dodaje do odpowiedzi, prawda? po prostu pokazuje, jak można zobaczyć źródła strony internetowej, ale nie odpowiada, jak odtworzyć to? –

2

hahaha, to jest dobre, nie powinieneś oczekiwać mniej od samy!

Teraz widzę dlaczego ludzie uważają, że jest to zła odpowiedź (źródło zastępowane jeśli zrobisz inaczej)

1.Navigate do strony z inspektorem otworzyć tam skończyć z „No źródło dla Ciebie! Znalazłeś pisanka # 7. "

2.and następnie sprawdzić źródło znaleźć Easter Egg # 2:

view-source:https://samy.pl 

widać:

/* 
No source for you! Easter egg #2 
*// AFTER SOME LONG WHITE SPACES HERE /.source.replace(/.{7}/g,function(w){document.write(String.fromCharCode(parseInt(w.replace(/ /g,'0').replace(/ /g,'1'),2)))}); 

ten sposób on ładuje witrynę (poprzez wstrzyknięcie js) zastępując dwa typy białych spacji dla 1 i 0 i parsując je dla kodu znaków za pomocą jakiegoś regex, a następnie na ciąg oczywiście: D

https://de.wikipedia.org/wiki/Whitespace_(Programmiersprache)

Jeśli wkleisz tę część do konsoli js, otrzymasz znaczniki, które ładują stronę.

enter image description here

PS. aby zobaczyć renderowane źródło, po prostu załaduj stronę normalnie i naciśnij F12 po wyłączeniu javascript.

Miłej zabawy!