XSS – Cross-Site Scripting bei million Pixel

Hallo Freunde,

ich habe mir mal das Script von Million Pixel by textmedia.de angeschaut, dabei ist heraus gekommen das selbst bei der neusten Version einige XSS Lücken vorhanden sind,ich möchte hier mal eine aufzeigen. Das Problem liegt in der Variable pa

Ich gebe aus Rechtlichen Gründen keine URL an,aber der Anbieter selber hat auch diese Lücke!

Es sind einige Dateien anfällig, in diesem Demo nehme ich mal die mailing.php vor.

mailing.php?pa=1%00"'>alert(407253068350)%3B&gridsearch=111-222-333email@hacker.host

Was man damit Anfangen kann dürfte jedem klar sein, jede Lücke egal ob XSS oder SQL ist extrem Gefährlich.

Da die Software nicht frei erhältich ist,darf ich hier keinen Code veröffentlichen. Aber solche Lücken sind leicht zu fixen.

Nofollow Links setzen

Hallo Gemeinde,

hier mal wieder ein kleines HowTo wie man Links im Woltlab 2.3.* Board auf nofollow setzt.
Mit dem Attribut Nofollow auf Links sorgt man das keine Links in Suchmaschinen nicht mit zur Berechnung der Webseite mit eingezogen wird, sprich die „Linkpopularität“.

Genaue Erklärung gibt es bei Wikipedia unter Nofollow

Im wbb.2.3.* sucht man in der /acp/lib/class_pharse.php

function formaturl($url, $title = '', $maxwidth = 60, $width1 = 40, $width2 = -15) {
if (!wbb_trim($title)) {
$title = rehtmlconverter($url);
if (!preg_match("/[a-z]:\/\//si", $url)) $url = "http://$url";
if ($this->cuturls == 1 && wbb_strlen($title) > $maxwidth) $title = wbb_substr($title, 0, $width1)."...".wbb_substr($title, $width2);
return "".htmlconverter($this->stripSlashes($title))."";
}
else {
if (!preg_match("/[a-z]:\/\//si", $url)) $url = "http://$url";
return "".$title."";
}
}

und tauscht dieses gegen diesen Code aus.


function formaturl($url, $title = '', $maxwidth = 60, $width1 = 40, $width2 = -15) {
if (!wbb_trim($title)) {
$title = rehtmlconverter($url);
if (!preg_match("/[a-z]:\/\//si", $url)) $url = "http://$url";
if ($this->cuturls == 1 && wbb_strlen($title) > $maxwidth) $title = wbb_substr($title, 0, $width1)."...".wbb_substr($title, $width2);
return "".htmlconverter($this->stripSlashes($title))."";
}
else {
if (!preg_match("/[a-z]:\/\//si", $url)) $url = "http://$url";
return "".$title."";
}
}

je nach dem ob man einen HideHack verbaut hat, muß man dieses auch ändern.

Für das wbb 1.0.* kann man auch mit rel=\“nofollow\“ vorgehen!

Ausgaben PHP

Hallo,

eine der bekanntesten Ausgaben ist echo(), hierbei handelt es sich um keine Funktion sondern viel mehr um ein Sprachkonstrukt.

$1234 = "Test";
echo "Das ist ein $1234";
Ausgabe wäre Test

Es kann auch vorkommen das in mitten von HTML auch Daten von PHP benötigt werden.Meißt schaut das dann so ähnlich aus…

Mein HTML Text wurde erzeugt am : .

Das ganze geht mit short_open_tags einfacher 😉

Natürlich gibt es auch print(), um eine Ausgabe zu erzeugen.

PHP Ext. Programme Aufrufen

Hallo,

es ist immer Vorsicht geboten externe Programme von einem PHP-Skript aus zu Starten,diese haben meißt den gleichen Webserverprozess und sind Gefährlich.Gerade wenn die externe Programme vuln sind,habe diese die gleiche Rechte wie der PHP-Prozess

Sollte es dennoch nötig sein ein externes Programm zu Starten sollte man escapeshellarg() zum escapen Nutzen.

Ich gehe auf das Thema mal nicht näher ein.

SQL Bugs in Woltlab Addons & Co

Hallo Gemeinde,

ich habe mir jetzt mal vorgenommen was hier über „SQL Bugs“ zu veröffentlichen.
Es kommt immer wieder vor das Addons für z.b das alte woltlab 2.3.* immer noch Buggy sind,wobei inzwischen klar sein dürfte wie man sich gegen SQL-Injection schützen kann.

Um seine SQL Query zu Schützen sollte man mit der php-funktion intval,addslashes oder auch mysql_real_escape_string arbeiten.

Genaue Aufklärung findet man auch bei wikipedia unter SQL-Injektion