[2.1] RedireX für wBB 2.1

rellek

relativ sensationell
Teammitglied
Was macht dieser Hack?
Er fügt einen Redirektor an jeden Link, der den Forenserver verlässt. Dieser passt sich
sogar dem eingestellten Style an.
Wofür ist sowas gut?
-> Referrer verstecken
-> Definition für "fremde Inhalte", nämlich alles, was über den Redir gepuffert is :)

Welcher Server gehört zum Forum?
Das wird während der Installation festgelegt. In der acp/lib/class_parse.php, Zeile 320 [Nach Einbau]
Alle verfügbaren Domains sollten reingeschrieben werden, mit und ohne www.
$boardurls = array("domain.de","www.domain.de","board.domain.de");
beispielsweise...
Der Redir an sich ist übrigens auch aus dem wBB :)

Update 18/08/2004
Readme-Fehler korrigiert...

Update 09/09/2004
Der gleiche Fehler schonwieder.. naja :D



Für anonym.to-Nutzer:
Wer statt des mitgelieferten Redirektors lieber den Redirektor-Dienst anonym.to nutzen möchte, der geht wie folgt vor:
- Einbau des Hacks in der normalen Version
- Wenn er funktioniert, gehe in die Datei ./acp/lib/class_parse.php und suche nach:
Code:
redir.php?url=".urlencode($url)."
und ersetze diesen Abschnitt durch:
Code:
[URL]http://anonym.to/[/URL]?".urlencode($url)."


WICHTIG!!!
Am 29.04.2010 wurde eine XSS-Sicherheitslücke gefunden. Fix: http://board.rellek.org/328994-post19.html
 

Anhänge

  • RedireX_fuer_wBB21.zip
    1,5 KB · Aufrufe: 167
Zuletzt bearbeitet:

rellek

relativ sensationell
Teammitglied
es geht über dein board, aber der ziel admin sieht eben nur den redirektor als referrer.

es geht bei diesem hack auch mehr um das "verschleiern" des richtigen referrers und um den rechtlichen aspekt als um das "anonyme" weiterleiten.

um anonym.to zu verwenden, und damit das funktionieren der links von fremdanbietern abhängig zu machen, ersetze die beiden redir.php?url= durch http://anonym.to/? in der class_parse.php
 

Mr.Pink

Neuer Benutzer
hm..
blick ich grad net :nachdenk:

es geht über dein board, aber der ziel admin sieht eben nur den redirektor als referrer.


was ist das denn?

und einfach erklärt..
also es kann jetzt nix zu meinem forum zurückverfolgt werden? :angle:
 

rellek

relativ sensationell
Teammitglied
Wenn du auf den Link klickst:
http://www.google.de

dann wird bei Google auf dem Webserver registriert, dass du da bist, wann, was du wolltest (nämlich die startseite), welche ip und welcher Referrer. Der Referrer gibt die jeweils letzte Seite an.
Das heißt, ohne Redirektor heißt der Referrer, der bei Google gespeichert wird:
RedireX für wBB 2.1
und dann können die Admins, falls sie sich die Mühe machen, den Link eingeben und sehen, dass du auf die Seite gekommen bist, weil ich dir Referrer erklärt habe.

Wenn der Redirektor aber an ist, dann sehen die bei Google nur:
http://board.rellek.org/redir.php?url=http://www.google.de
Also nur, dass von dem server rellek.org auf die Google-Seite verwiesen wurde. - Mehr nicht.
 

Mr.Pink

Neuer Benutzer
hm..
aber dann blicken sie ja auf jeden von wo das kommt..und wenn ich das anonym anfüge sehen sie nur das anonym.to..
 

rellek

relativ sensationell
Teammitglied
Wie gesagt, es ging mir bei dem Hack mehr um die rechtliche Seite und weniger um das eigentliche Verschleiern - auch wenn das ein kleiner Nebeneffekt ist.

Es steht dir natürlich frei, trotzdem safeurl oder anonym.to oder sonstwas zu nehmen.
 

Mr.Pink

Neuer Benutzer
WBB-Version: 2.1.5


Wie geht das weg?



Code:
Warning: parse_url([URL]ftp://leech:wizdom[/URL]): Unable to parse url in /home/fileagency/wbb2/acp/lib/class_parse.php on line 343
‹xì½ÙvÛH²6z]^k¿C–z•-‹ ÁI¢d¹Ššlµ5mIªêxq$HÂ"6jêîý?êÿçj_œ/2‘@'Yf‹.ªÊ 䜑‘‘_D¾þõ¶×eצëYŽ½½¢k¹fÚ §iÙíí•Ën:7^FÏ—ò+¿¾yöúç½ÓÝËßÏöYÇG¶³;G‡»l%“Í~*ìf³{—{ìó»Ëã#†rØ¥kØžå£\£›Í°•Žï÷7³Ù››í¦ 9n;{yž½¥²tÊ|ÌøJN é7WP3¯mµ½í”bôJ¥"r¯°¦ån¯t}w…u êDÓ\aȸ~£ÒL£‰?¾åwÍ7ÚæAu‡e؁Õ5«môþnÇ1Üæ¦ÆþÅèÍîùþ'|üd¸æ=ØMvà÷Ÿony¯³¢Œg¯{¦o`Xü~ÆüÇÀºÞ^Ùulß´ýÌå]-hˆoÛ+¾yëg©7[¬Ñ1\Ïô·cÃ̲hXײ¯˜kv·W0æí ë¸f+ø¢õ;ý_=«¹])˜•fÁܨ+ùB£¨ÒF±kVò•|i£°’(ªcvû²¤žå5xAFƒfh»eüã¹Ñëo=¤\Ï4ÜFG
–,¾=¸‘ƒ°‰_kÃk¸VßßôÌnKÃg§Û½tVsk¹—[ÉÎ5œþkµ;¾l‡JkN×ïu(FW”Ê|LL0Q]+ÌsÛ+_½
l«kxí«·òæuVä ¬þ]×Ts6<$xÆ^ÿœÉ<«;Í;öÏg˜ë®ãn²¿åøÏÖ3V7Wm×ídä»r¾\*ïâ] „‘i=«{·É|£ãôŒ5ÌÔµé[ ïŸýû™(ØØ$ªXc¼cóÚÂâ2›áwšÈkS ¾rP]ßÉ£"¹LÓl8®A“½IDlº(Íå%v µ€ƒJIßK+ÀvdÞgøÑz†e÷6¯=¥¯ÅR®TÞ¢ž ä¾Qïš–]w\4ƒ*LÉ£ïäsy‘GóAýF“Ú«¶NIñLãEò¥¨&ÙßÅԁ” òù|‘*PßY=tÃãvWùG/ë;mÓï˜n¶av»}«¡µ ÖKÑ¥ÎZ«‘V-õWÃÈ8žÏÛ7¢«…Ja¯H-¡RJerÆãω?–óÏ"úMÑüÅ H@)c4 $ˆè™æõŒn—È™úÉÉÚ³î1œºÞ¿Eïb„~)ýBèrelä7Ê"[>¶ã¢Ø´R ßP*ŸŽ†Á[Ö›ÛX¯Po ±õb©H«UÐlÆwúXߥÒn9ÏÐ=æ9]«¹õ_X©DÓ™®ÙòÓ % †µ'Èf#h'›°…q" 6+k?, %®´M÷õ®Õ0¯éñ?C ´Á7®¾k]¾™LQï©ëY [û'šÝ7štÞÚ̉^ô ·mÙÁ·ÿ׳ÿzbžœ Ù³Lj–‹¨ožý4^ÌEJY}£]ë»N¯ï³m¶òÖ¬›6»°Lñ Ÿ.A]ôqse µ±aÑnìû¦;E&œ¨d֍á˜GHc=TˆºØªÓ‡Æ—T-ρ,5{-½Æ¡ÀdÕ¦kzžÉš¦Ç¨8O6›ç7! ¦—@ýdû™c¼G¼ˆ ¿]ËóktDPjþdx¬õ¿.Tãù&ëýŽy4h¿²hü^è/xgÂÔö ×3]Ët‘‡ç\c/Œ²4ftû£™ßktÌ5æ`Ü6\f[(^©kHÂÎö•Om45>Jh,Ž=¥±Qc¨“¶¨Ëù¨iÚÿkG)‚j XTÝtÿ·q…
 

rellek

relativ sensationell
Teammitglied
das ist keine gültige url, daher kommt der fehler. gz ausstellen im acp und den link reparieren.
 

rellek

relativ sensationell
Teammitglied
es müsste eigentlich 2x voekommwn, denn es gibt 2 arten. links zu posten, einmal mit

text..

und einmal mit
[url]##die url
 

Magandhi

Neuer Benutzer
In deinem zu ersetzenden Code kommt es aber nur einmal vor:
Code:
...ersetze dies durch:
 function formaturl($url, $title="", $maxwidth=60, $width1=40, $width2=-15) {
  $boardurls = array("www.domain1.de","www.domain2.de"); // Hier alle Domains reinschreiben!
  $host = parse_url($url); 
	$host = $host['host']; 
  if(!trim($title)) $title=$url;
  if(!preg_match("/[a-z]:\/\//si", $url)) $url = "http://$url";
  if($this->cuturls==1 && strlen($title)>$maxwidth && !strstr(strtolower($title),"[img]") && !strstr(strtolower($title),"<img")) $title = substr($title,0,$width1)."...".substr($title,$width2);
  if(in_array($host, $boardurls)) {
   return "<a href=\"$url\" target=\"_blank\">".str_replace("\\\"", "\"", $title)."</a>";
  } else {
   return "<a href=\"redir.php?url=".urlencode($url)."\" target=\"_blank\">".str_replace("\\\"", "\"", $title)."</a>";
  }
 }
 

rellek

relativ sensationell
Teammitglied
der zu ersetzende code geht noch ein stückel weiter:
Code:
	function formaturl($url, $title = '', $maxwidth = 60, $width1 = 40, $width2 = -15) {
		global $boardurls;
		$test = str_replace("http://", "", $boardurls);
		$test = preg_replace('!\/(.*)!', '', $test); 
		$this->boardurls = explode("\n",$test);
		if (!wbb_trim($title)) {
			$title = rehtmlconverter($url);
			if (!preg_match("/[a-z]:\/\//si", $url)) $url = "http://$url";
			$host = parse_url($url); 
			$host = $host['host']; 
			if ($this->cuturls == 1 && wbb_strlen($title) > $maxwidth) $title = wbb_substr($title, 0, $width1)."...".wbb_substr($title, $width2);
			if (in_array($host, $this->boardurls)) {
			return "<a href=\"$url\" target=\"_blank\">".htmlconverter(str_replace("\\\"", "\"", $title))."</a>";
			} else {
			return "<a href=\"redir.php?url=".urlencode($url)."\" target=\"_blank\">".htmlconverter(str_replace("\\\"", "\"", $title))."</a>";
			}
			
		}
		else {
			if (!preg_match("/[a-z]:\/\//si", $url)) $url = "http://$url";
			$host = parse_url($url); 
			$host = $host['host']; 
			if (in_array($host, $this->boardurls)) {
			return "<a href=\"$url\" target=\"_blank\">".$title."</a>";
			} else {
			return "<a href=\"redir.php?url=".urlencode($url)."\" target=\"_blank\">".$title."</a>";
			}
		}
	}
 

Magandhi

Neuer Benutzer
hallo ... ich spiele mit dem Gedanken nun auf die 2er Version des wBB umzusteigen. Wenn ich nun wieder nur über anonym.to verlinken möchte, muss ich dann trotzdem den neuen code von dir (rellek) mit redir.php verwenden?

Gruss Magandhi
 

rellek

relativ sensationell
Teammitglied
Moin,

du musst bloß den 2.3er Code für die ./acp/lib/class_parse.php eintragen und statt dem redire.php?url= halt wieder den Link zu anonym.to reinsetzen... Wie bei 2.1 auch schon -- die redirex.php brauchst du nicht, wenn du einen externen Redirektor verwenden willst.

HTH
 

rellek

relativ sensationell
Teammitglied
Also die Funktion, die gemäß Readme-Datei zu finden ist, fängt in einem nakten wBB 2.1.6 in Zeile 326 an und geht bis Zeile 337.
 

rellek

relativ sensationell
Teammitglied
AW: RedireX für wBB 2.1

Es wurde eine XSS-Sicherheitslücke gefunden, die es theoretisch möglich macht, dass Javascript-Code ausgeführt werden kann.

Bemerkt wurde die Lücke von Kugelfisch, die Huldigungen für den Fix gehen bitte an das Forum von onesworld.

Ihr müsst die redir.php ersetzen mit folgendem Inhalt:
PHP:
<?php
$filename="redir.php"; 
require("./global.php"); 
$lang->load('GLOBAL'); 
 
function is_url($url) { 
    if (!preg_match('#^http\\:\\/\\/[a-z0-9\-]+\.([a-z0-9\-]+\.)?[a-z]+#i', $url)) { 
        return false;
    } else {
        return true;
    }
}  
 
if(isset($_REQUEST['url']) && is_url($_REQUEST['url'])) { 
redirect($lang->get("LANG_GLOBAL_REDIR_URL"), urldecode($_REQUEST['url']), 1); 
exit; 
} else { 
     die("syntax beachten"); 
} 
?>


WICHTIG:
Wenn ihr anonym.to nutzt (und deshalb die redir.php nicht hochgeladen habt), dann seid ihr nicht betroffen.
Wenn die redir,php existiert, sollte dies jedoch behoben werden!
 
Oben