PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Seitentest von sb-innovation


Cerberus
17.03.2019, 07:19
Ja, es wurde ein Test durchgeführt. Ich selbst war ob der Unverhofftheit sehr überrascht.
Test-Link: Safe eXtreme Hot (http://www.sb-innovation.de/showthread.php?34080)



Was mich aber im Nachgang doch sehr verwundert hat, ist die Resitenz, mit welcher jegliche Informationen zurückgehalten werden.
Da ich auch beruflich mit derlei Tests uns Szenarien regelmäßig zu tun habe, weiß ich das ohne Szenario der Test nicht bewertbar ist.


Ein Szenario umfasst immer 3 Punkte:
1.) Test-Kriterium (was wird genau überprüft)
2.) erwartes Ergebniss (wass soll passieren, wenn alles richtig ist)
3.) tatsächliches Ergebnis (was ist wirklich passiert)
Dabei ist anzumerken, das gerade Punkt 3 nur Bewertbar ist, wenn entsprechende Screenshots vorligen.


Mit diesem Thread möchte ich den Test bewertbar machen. Die Analyse erfolgt vollständig ohne (eigendlich gewünschte) Mittwirkung des Testers.
Ich habe mir (um einige Szenarien korrekt bewerten zu können) Unterstützung von professionellen Intruder- und Penntestern geholt.

Sehen wir uns nun als erstes an, was direkt in der Seite aufgelafen ist. Ein Filter auf das IDS-System fördert entsprechende Einträge zutage.

Der Screenshot ist im Anhang zu finden.


Was wurde getestet:
Als erstes wurde versucht, ob das Login-System (login.php) den angehägten Parameter verarbeitet. Es wurde versucht, die Passwortdatei eines Linux-Systems herunter zuladen.
Damit sollte die Konfiguration des Apachen überprüft werden. Alle halbwegs aktuellen Installationen haben ein HomeDir, in welchem der Apache lesen darf. Er kann dieses Verzeichnis
(per Default) nicht verlassen. Diese Art des Aufrufes muss daher zwangsweise fehlschlagen. Und selbst wenn dies nicht der Fall sein sollte und der Apache zu dieser Datei vordringen darf,
so sollte doch jedem klar sein, das der Kernel selbst den Zugriff darauf unterbindet. Diese Datei gehört dem "root" und funktioniert nur dann korrekt, wenn Sie 600 besitzt.
Der Zugriff auf diese Datei wurde mit unzähligen Pfaden getestet. Es wurden hierbei auch komplett unmögliche Aktionen getestet. Selbst der Aufruf ?email=file:/// wurde versucht.
Dieser wird in der Form aber vom Handler schon seit vielen Jahren nicht mehr unterstützt.


Danach wurde sich dem Bann-System (banned.php) zugewendet. Dort wurde als eMail ebenfalls versucht, die Passwort-Datei herunterzuladen. Der Versuch eine Datei namens passwd%00.jpg
herunter zuladen konnte ich nicht nachvollziehen.


Danach wurde das Login-System erneut untersucht (login.php). Diesmal wurde ein JS-Aufruf eingesetzt, um Hijagging zu untersuchen. Einige Versuche später, welche erneut mit der
Passwort-Datei durchgeführt wurden, wurde ein neues Ziel ausgewählt.


Da wir zu Minimierung von Header-Aufrufen ein Style-System (addstyle.php) nutzen, wurde dies ausgewählt. Als erstes erfolgte auch hier der Versuch mit der Passwort-Datei.
Auch hier wurde das gleiche Muster verwendet. Danach wurde im System versucht, eine externe Datei einzubinden. Es sollte hierbei aber erwähnt werden, das dies so nicht funktionieren kann.
Damit eine externe Datei vom PHP-Interpreter überhaupt berücksichtigt wird, muss dies im Code hinterlegt sein. Andernfalls scheitert dies dann an der internen Pfad-Auflösung.
Nach weiteren unzähligen (fast identischen) Versuchen mit der Passwort-Datei wurden eigene Actions getestet. Das diese vom Script aber verworfen werden sollte jedem Code-Entwickler
mit Grundwissen klar sein. Der Versuch die Actions durch Script-Einbettungen zu verwirren wurde ebenfalls versucht. Das Ergebnis sollte mit der vorigen Vemerkung identisch sein.
Es ist dabei davon auszugehen, das die Verarbeitung von Parametern hier überprüft werden sollte. Es wurde hier versucht, auf Dateien zuzugreifen, welche ich sebst erst mal bei Gogole suchen musste:
(WEB-INF/web.xml) Diese gehört zu Java-Web-Projekten. Warum diese auf PHP-Systemen vorhandens ein sollte konnte ich mir bisher nicht erklären. Das Style-System sollte dann ebenfalls JS-Code verarbeiten.
Danach folgte der Versuch, eine SQL-Abfrage abzusenden. Was die Funktion genau bezwecken sollte, kann nur vermutet werden. Unser IDS-Tester konnte sich keinen eindeutigen Reim darauf machen.
Danach hat man sich erneut auf die Passwort-Datei gestürzt.


Zum Schluss wurde noch einmal das Login-System (login.php) geprüft. Dort wurde versucht, ein JavaScript in den Parameter einzuschleusen.


Dies waren die vom IDS direkt erkannten Aktionen.


Als nächstes schauen wir einmal in die PHP-Error-LOG. Darin werden alle Fehler abgefangen, welche der Interpreter sonst in die Seite "spucken" würde.
Dort fanden sich unzählige Aufrufe nach den folgenden Mustern:

[13-Mar-2019 20:47:40 Europe/Berlin] PHP Warning: session_start(): The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in /***/***/***/***/***/***/config.php on line 23
[13-Mar-2019 20:47:40 Europe/Berlin] PHP Warning: Unknown: The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in Unknown on line 0
[13-Mar-2019 20:47:40 Europe/Berlin] PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php5) in Unknown on line 0
...
[13-Mar-2019 20:47:40 Europe/Berlin] PHP Notice: Array to string conversion in /***/***/***/***/***/***/config.php on line 23

Diese Versuche haben alle samt in leeren und/oder kaputten Seiten geendet. Die Session wird (in diesem Fall) ausschließlich vom System verwaltet und ist nicht veränderbar. Dies muss im Code direkt erfolgen.


Sehen wir uns nun die Error-LOG einmal genauer an. Diese genau zu verstehen war doch recht komplexer als Ursprünglich angenommen. Wir haben uns dann auf den Tenor geeinigt, das unterschiedliche
Aufrufe auf ihre Existenz getestet wurde. Dies ist in der Error-LOG zu erkennen. Hier stellen sich aber leider ein "handwerkliches" Problem heraus. Das Stichwort hier lautet URL-Encoding. Auch die Random-Name-Scripts
konnten wir nicht korrekt zuordnen. Was diesen Teil angeht, bin ich offen für zusätzliche Informationen. Was mich hier aber doch sehr verwirrt:
Der Tester weiß, das es sich um ein Linux-System handelt. Warum versucht dieser Test dann (auch fast 30 Jahre alte) Windows-Dateien zu bekommen?

Invalid URI in request GET /skin//./../../../../../../../.windows/win.ini HTTP/1.1
Invalid URI in request GET /skin//../../../../../../../../boot.ini HTTP/1.1

Die Art der Aufrufe konnte nicht eindeutig geklärt werden. Interessant waren aber die Versuche, direkt auf das www-Verzeichnis. Dort wurde einige Versuche von Datei-Aufrufen unternommen.
Ein blanker Aufruf einer externen URL konnte dabei ebenfalls nicht erklärt werden. Einge Versuche wurden duch den HTACCESS unterbunden. Sonst gibt es hier keine weiteren Aktionen.


Die Server-Autentification war ebenfalls mit Informationen gespickt. Es wurde ein LOGIN mit dem Account "sa" versucht.

Mar 13 20:49:40 localhost sshd[20464]: input_userauth_request: invalid user sa [preauth]
Mar 13 20:49:40 localhost sshd[20464]: Connection closed by xxx.xxx.xxx.xxx [preauth]
Mar 13 20:49:41 localhost sshd[20466]: Address xxx.xxx.xxx.xxx maps to xxx.xxx.xxx.xxx.static.xxxxxxxxxxxxx.net, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
Das Resultat war in allen Fällen das gleiche.


Weitere Informationen waren in der SYSLOG und der Mail-LOG zu finden. Es wurde der Versuch unternommen, sich auf dem Mail-Server einzuloggen. Auch das Einrichten eines Mail-Relay wurde versucht, aber
vom Server unterbunden. Der Mail-Sever ist so eingerichtet, das er ausschließlich senden kann und das auch nur an einen einzigen Server.

Mar 13 20:49:37 localhost postfix/smtpd[20433]: NOQUEUE: reject: RCPT from unknown[xxx.xxx.xxx.xxx]: 454 4.7.1 <testrelay2@acunetix.com>: Relay access denied; from=<testrelay1@acunetix.com> to=<testrelay2@acunetix.com> proto=SMTP helo=<acunetix.com>
Mehr gibt es dann im Grunde nicht mehr zu erkennen.


Ich werde hier keine Subjektive Meinung abgeben. Dies ist eine Analyse ohne Support der Tester, welche alle verwertbaren Informationen zusammenträgt. Diese Aufstellung soll eine Bewertung der Test überhaupt erst ermöglichen.


Einige Fragen stellen sich hier aber dennoch:
1.) Wenn ein Linux-System vorhanden ist, warum sucht der Test dann nach (auch längt veralteten) Windows-Dateien?
2.) Warum wird nicht konstruktiv und strukturiert vorgegangen, sondern eher nach dem Zufallsprinzip?
3.) Warum werden offensichtliche Fehler (URLs) nicht korrigiert?
All dies könnten nur die Tester beantworten. Dies wird aber verweigert.


Der allgemein gültige Codex der IT besagt:
Wenn ein Test durchgeführt wird, wird dem getesteten das Ergebnis zugestellt. Wenn Bugs und Fehler gefunden wurden, hat dieser 90 Tage Zeit diese zu beheben. Danach erfolgt die Veröffentlichung.
All dies wird von den Testern nicht eingehalten. In wie fern dieser Test Relevanz und Aussagekraft hat, soll jeder für sich selbst ermitteln. Daher gibt es diese Analyse.


In unserem Fall gab es nur 2 Dinge:
1.) Apache (aktuell kann ich keine höhere Version installieren, was sich aber ändern wird)
2.) ein horchender SMTP, der aber alles ablehnt (ja -- Asche auf mein Haupt)


Weitere "Mängel" wie die Standard-Ports sind hierbei nicht von Relevanz. Wenn ein System gescannt wird, läuft der Portscann von 1-65535. Ob ein Dienst dort auf Default (22, 80, 443) oder auf einem anderen Port läuft hier dabei ohne Bedeutung.
Unser Tester meinte, das eine veränderte Port-Nummer ihn nur wenige Sekunden der Anpassung abringt. Dies ist kein BUG oder Problem, sondern einzig ein "Nice-To-Have".


Dies sollte es zum Test-Szenario an dieser Stelle gewesen sein.


Nun noch eine Bemerkung in eigener Sache (dies gehört NICHT zur Analyse!):
Als zusätzlicher Schutz wird CTracker benutzt. Dies scheint zu funktionieren. Wir konnten zwar potentielle Sicherheitslücken finden, diese jedoch aufgrund der zusätzlichen Überprüfungen nicht ausnutzen. Also Glück im Unglück für den Trackerbetreiber kann man sagen.Server und Source überzeugen beide nicht besonders, da wir aber nicht einbrechen konnten, müssen wir mit einem Zähneknirschen ein Safe vergeben.Zum einen ist der erste Satz einfach nur falsch (IDS ist nicht CTracker) zum anderen suggestiert er, das das Gesamt-Konstrukt ist misserabel ist das Bugs und Fehler enthalten sein müssen. Leider müssen sie ihre Niederlage nichts erreicht zu haben aber eingestehen.


Wir empfehlen den Betreibern trotzdem den Server in Ordnung zu bringen und die Source auf mögliche Lücken zu untersuchen. Sobald CTracker nicht mehr läuft, kann man den Tracker höchstwahrscheinlich ohne größere Anstrengungen hacken.Dies ist eine Vermutung. Aktuell betreiben wir ein 4-Stufiges Sicherungs-System. Der Test ist bereits an der 1. Schicht "zerbrochen". Um eine solche Einschätzung vertreten und publizieren zu können, sollten definitif sehr viel Mehr Informationen vorliegen. Im Grunde wurde rein garnichts wirklich gefunden. Trotzdem wird klargestellt, das wir (ich) sehr sehr schlechte Arbeit leisten.


Einen Hinweis in eigener Sache:
Wer (Pen)-Tests machen will, kann sich gern bei mir melden. Ich stelle einen entsprechenden Account gern bereit. Ich erwarte im Gegenzug nur, was der IT-Codex vorsieht. Nicht mehr - aber auch nicht weniger.
Für einen Streß-Test stelle ich gern das Entwicklungs-System bereit. Dies will ich nicht im Life-System haben. Wobei mir Pen-Tests im Life-System auch nicht wirklich recht sind. Dort sollte schon eine entsprechende Qualifikation nachgewiesen werden.


In diesem Sinne -- euer Cerbi

zimm794
17.03.2019, 09:26
Moin Moin,
das /windows/win.ini HTTP/1.1
/boot.ini HTTP/1.1

kommt von Acunetix. ;-)

Und was ich gestern gehört hab, Ich kann es nun leider nicht bestätigen, so soll es sich bei Rebound um BonkeR und Entity handeln.
Vielleicht können die beiden ja mal was dazu sagen.

Entity
17.03.2019, 09:42
Moin Moin,
das /windows/win.ini HTTP/1.1
/boot.ini HTTP/1.1
kommt von Acunetix. ;-)

Und was ich gestern gehört hab, Ich kann es nun leider nicht bestätigen, so soll es sich bei Rebound um BonkeR und Entity handeln.
Vielleicht können die beiden ja mal was dazu sagen.




Ja ne ist klar... von wem haste bitte solche Gerüchte? die Torrent-Scene geht mir seit Jahren am Arsch vorbei...

zimm794
17.03.2019, 09:47
@Entity wenn das der Fall ist dann Sorry und mein Post kann dann gerne gelöscht werden.

Entity
17.03.2019, 09:48
Bitte um pm wer das labert. danke

Cerberus
17.03.2019, 09:49
hier wird nix gelöscht --- nur flamt euch hier nicht an!


und sollte es sich um Bonker handeln -- sollte er mich glaub ich sehr viel besser "kennen"

zimm794
17.03.2019, 09:53
Ich wollte nun keine Gerüchte in die Welt setzen.
Deswegen hab ich ja geschrieben Vielleicht können die beiden ja mal was dazu sagen.
Und ich werde auch nicht per PM was schreiben. Wenn dann schreib ich hier offen.

Cerberus
17.03.2019, 09:55
so -- gut jetzt ...
gemutmast wurde in dem Thread schon mehr als genug

Thunder™
17.03.2019, 15:26
Moin Moin,
das /windows/win.ini HTTP/1.1
/boot.ini HTTP/1.1
kommt von Acunetix. ;-)

Und was ich gestern gehört hab, Ich kann es nun leider nicht bestätigen, so soll es sich bei Rebound um BonkeR und Entity handeln.
Vielleicht können die beiden ja mal was dazu sagen.

Sehr Interessant, den diese Aussage hat man auch mir exakt so erzählt.

Alles weitere lasse ich jetzt in dem Raum stehen und denke mir jetzt das was ich vermute!

zimm setzt auch kein Gerücht in die Welt, es ist bereits in der Welt und sehr wahrscheinlich nicht nur bei uns beiden.

mfg

BonkeR
17.03.2019, 17:15
Moin ihr...
ich habe den Thread hier gelesen, wie auch bei SB.... auf dem ich gestern aufmerksam gemacht wurde.
Als erstes... nein ich bin es nicht! Da müßt ihr euch wohl einen anderen schuldigen suchen.
Juckt mich auch nicht wer das Gerücht in die Welt gesetzt hat. So lange man über mich redet lebt man noch.
@ Cerberus: Ich kenne dich sehr wohl !!! Würde dich eher mal um Hilfe fragen anstatt dich an den Pranger zu stellen.

Leute... ich habe meine Zeit gehabt... ich will einfach nur meine Ruhe... gebt bitte nichts auf gerede.... die mich kennen werden wissen wo sie mich finden...

Lg

Thunder™
17.03.2019, 17:38
Gerade weil man euch kennt ist es nicht ganz unwahrscheinlich aber okay, ich nehme die Aussage einfach so hin wie ich es bei dem anderen auch gemacht habe und denke mir mein teil. Ich denke auch das keiner mehr hier noch an Kriege interessiert ist, die Szene ist klein genug geworden. Es wird Zeit das wir wieder stärker werden sofern ihr in Zukunft noch Deutschen Material (ALT TRACKER) wollt.


In dem Sinne.... weiter machen xD

BonkeR
17.03.2019, 17:46
Menschen ändern sich... wie schon geschrieben will ich nur meine Ruhe haben.
Gesundheit und Leben geht vor.
Ich bin schon noch etwas aktiv aber mit so einem Kram habe ich nichts mehr am Hut.
Andere Leute haben ihre Probleme ich die meine...

Cerberus
17.03.2019, 18:36
Ach "Kinders" ...
Es geht mir hier nicht darum, wer wann was wie und wo ...
Ich will belastabe Fakten schaffen. Von subjektivem Geschwafel habenn wir mehr als genug.
Und leider ist man bei SBI da komplett anderer Ansicht -- und das will ich ändern.
Ich habe mit niemandem Streß und will auch keinen -- ich will nur nachprüfbare Fakten und kein Wischi-Waschi

Thunder™
17.03.2019, 19:19
Naja, was willst du hören?

Das der "Test Angriff" nur Oberflächlich ist haben sie ja selbst eingeräumt.

Bei mir wurde auch in der Vergangenheit des öfters gespielt aber man hat da andere sachen versucht wie über die filebase, php Dateien aus include geben zu lassen oder auch sehr beliebt, die Avatar Funktion oder die torrent suche. Bei dir scheint ja nur Acunetix oder ähnliches benutzt worden zu sein.

Lex
17.03.2019, 20:55
Da hat der Kindergarten wieder Ausgang bekommen :D :D

Als jemand, der BonkeR und Entity schon sehr oft bei Servern und co geholfen hat, kann ich, ohne einen der beiden beleidigen zu wollen, ganz klar sagen, dass keiner der beiden ausreichendes Know-How hat um derartige Tests durchzuführen. Weiters geht den beiden, wie sie auch schon selbst geschrieben haben, die Szene inzwischen ziemlich am Arsch vorbei, da sie ja ohnehin ausstirbt (Sieht man aktuell ja an Gods).

PS: Ich habe gehört BonkeR arbeitet mit dem FBI zusammen und verkauft eure Daten nebenbei noch an Facebook.... </ironie>

An der Stelle kann man auch nur sagen, dass auch im Thread bei SB sehr schnell ersichtlich wird wer hier "gebissen" wurde, wie es ja geschrieben wurde, und wer den Schwanz einzieht (und seine Testmethoden nicht preisgeben will).
Gerade auch die Auswertung des Tests von Cerb lässt darauf schließen, dass hier fertige Standard-Tools benutzt werden die einfach ein Prozedere durchführen das die Betreiber selbst nicht so richtig verstehen. Das zeigen auch versuchte Zugriffe auf Windows-Dateien obwohl man doch weiß, es ist ein Apache-Server.

Von der Qualität dieser Tests halte ich selbst garnichts, wurde beim "Test" von Kaffee-Wellblech versucht die User zu verarschen indem man einen angeblichen DB Auszug einer Injection gepostet hat der, wie wir bewiesen hatten, mit den Daten aus der Datenbank nichts zu tun hatten. Hab damals schon vermutet dass hier ein Dump einer anderen Source benutzt wurde und die Username der ID 1 mit den Namen des "Coders" ersetzt hat um Glaubwürdigkeit vorzutäuschen.

Unterm Strich der übliche Kindergarten bei dem jeder versucht dem anderen ans Beim zu pissen.

Lg Lex

kaitokid
06.04.2019, 12:57
Das zeigen auch versuchte Zugriffe auf Windows-Dateien obwohl man doch weiß, es ist ein Apache-Server.

Apache-Server gibt es auch für Windows, ohne dem Rest widersprechen zu wollen.

Cerberus
08.04.2019, 14:49
Das mag schon sein -- aber wenn er schon ein Linux erkennt, sollte es wohl klar sein das dort keine derartigen Dateien zu finden sind.
Abgesehen davon ist (sehr) vieles in dieser "Auswertung" schlicht und ergreifend einfach nur falsch. (Apache-Version z.B.)

Bluesteel
16.04.2019, 06:16
Im übrigen wurden wir auch getestet... Mit nem sql port mapper wurde es versucht, ähnlich wie bei dir cerberus.

Desweiteren wurden wir auch als safe bewertet.

Ich stelle gern für weitere Analysen meinen log zur Verfügung, sollte dieser benötigt werden.

Thunder™
16.04.2019, 11:39
Mach das bitte einmal. Er geht bei jedem Projekt wohl anders vor.

Bei Cerb mit dem Programm, bei dir hat er das wohl nicht eingesetzt. Bei BC soll er Backtrack benutzt haben (wurde mir zumindest so gesagt). Bei einen wo ich den Server betreue hat er nur im Suchfeld gestochert, beim anderen hat er nur geschaut aber nichts versucht. Es wurde nicht mal phpmyadmin oder so getestet und auf den Server wurde auch keinen Port Scann gemacht. Kann auch sein das er bestimmte Sourcen gar nicht erst groß checkt da dort in der Vergangenheit eh nichts zu finden war.

Jedenfalls sind seine uneinheitlichen vorgehen sehr suspekt.

Irgendwie ist es auch wohl immer so ne Sympathie Sache was Tracker und Cloudflare zb angeht. Bei einigen wird das absolut 0 kritisiert und anderen bekommen regelrecht auf die schnauze. Das gleiche auch bei Server Standorten.



Wo bleibt da bitte die Unabhängigkeit und Fairness?

Cerberus
17.04.2019, 07:42
Weder das eine, noch das andere ist vorhanden.
Von fachlicher Komepentz einmal ganz abgesehen ....


Unser Pentest-Profi hat sich gestern seine Foren-DB geholt -- da hat wohl jemand bei der eigenen Sicherheit gepfuscht...
Ich hab daneben gestanden und mich kaum noch einbekommen :D -- war sehr lustig ...
Wenn ein Profi auf nen Anfänger trifft -- mal sehen, ob ers alleine raus bekommt oder "Buschfunk" braucht ....


Nichts desto trotz geht er eher nach Zufall vor -- ohne einen genauen Plan...
Vermutlich bekommen die "aufs Fressbrett", die ihn nicht unterstützen oder wo er eh keine gute Meinung hat.


Belastbar ist sein "Test" daher leider nicht - Ich mach weiter mein Ding und kümmere mich nicht um ihn.
Ich habe besseres zu tun, als mich mit derlei Umständen rumzuärgern ....


@Blue -- mach doch mal ne Analyse -- bin mal gespannt, was da rauskommt

Bluesteel
17.04.2019, 11:23
Mach ich die auswertung läuft bereits

jazzrul
25.04.2019, 17:29
Gibt es Hinweise, welche Stellen der ursprünglichen NV Source kontaminierungsgefährdet sind? Also ganz allgemein z.B. "nicht escapte Get-Parameter in der announce.php", oder "numerischer Wert 'id' lässt unzulässigerweise strings durch". Sowas in der Art. Evtl. hat auch noch jemand konkretere Hinweise, wie die (unhöflichen, weil auch nur publicity-geil, statt hilfreich) Gestalten bei SB-Inno... genauer vorgehen.

Ja, die, bei den jeweiligen Codern weitergewachsenen NV Sourcen sind alle divergiert und zum größten Teil wohl noch mehr "Spaghetti-Code" als vor 10 Jahren. Aber es gibt immer noch Gemeinsamkeiten, die wir hier austauschen können. Ist ja schließlich open Source das Ganze und steht unter GPL (soweit ich mich erinnere).


1. Am allerwichtigsten: Definieren eines globalen DB Objektes, als Wrapper um mysqli::class und im Code dann alles mittels $unsere_db->methode() ansprechen.
dazu empfehle ich die Definition einer Funktion "sqlesc($string)", als Wrapper um mysqli::real_escape_string($string), da man die ziemlich oft braucht, und so weniger tippen muss, bzw. der Code etwas übersichtlicher wird. (Persönliche Vorliebe)


2. Parameter von aussen VOR Verwendung mit isset() prüfen und ggf. mit sinnvollem Null-Wert belegen. Damit es bei späterem Einfügen in die DB keine NULL-Value errors gibt.
Bei enum Werten, mittels php funktion switch(){} den Wert ermitteln und ggf entspr. String zurückliefern (Stichwort Entkopplung)



3. Die Quirks in den php files ...(das meiste kann man mit prepared Statements, intval() und sqlesc() erschlagen und die Hälfte der Files liegt eh im Admin-Bereich ...) ...:




bookmark.php: komplette Umstellung auf prepared Statements. Da ist fast alles neu, deswegen keine nähere Beschreibung :(
casino.php einige unescapte $..._id s, die alle mit intval() sicher gemacht werden konnten.
messages.php ca. Zeile 150, escapen per Adresszeiger: foreach ( $_REQUEST["selids"] as &$rid ) { $rid = intval($rid); } ... $_REQUEST["id"] wird bei späterer Verwendung mit intval() behandelt
userstraffic.php: komplette Umstellung auf prepared Statements.

mypic.php dito

userhistory.php: intval auf $_GET["id"]
uploadapp.php auch hier nahezu komplette Umstellung auf prepared Statements.Nur queries ohne Variablen von aussen können direkt bleiben.
delacctadmin.php komplette Umstellung auf prepared Statements, etc.
takelogin.php: komplette Umstellung auf prepared Statements, etc.

takeprofedit.php: an allen Stellen mit > $updateset[] = "var=".$var < , die $var entspr. escapen mit intval() oder sqlesc()
modtask.php: ca. Zeile 100: zusätzliches isset() auf $_POST() vars.
include/wo_auch_immer_die_login_funktionen_definiert_sind.php: die entspr. Funktionen auf prepared Statements umstellen.


Hoffe, das hier hilft irgendwem weiter.
LG
jazz



(offtopic: weiß jemand, wie ich bei debian stretch, die limits NOFILE und NPROC ohne reboot dauerhaft verändern kann? Mein mysql zickt mit der Meldung "too much open files" rum)

Cerberus
28.04.2019, 05:39
Warum mysqli???
Gleich PDO und fertig ... in einer eigenen Klasse gepaselt und aus die Maus ...


Eingaben prinzipiell über einen Input-Filter laufen lassen -- damit wird dann alles komplett erschalgen.


Um ein Rewrite wirst du aber nicht umhinkommen, wenn du jemals "Ruhe" rein bekommen willst.
Kinder, wie SBI versuchen immer wieder irgend welchen Blödsinn -- als erste Blockade kommt dann ein IDS zu einsatz.
Ich habe irgenbdwann den CTRACKER mal auf ne Klasse umgebaut - um ihn einfacher Pflegbar zu machen.
Aber er hat mittlerweile 2 weitere Vorgeschaltete Systeme -- unter anderem einen IDS.


Und den ganzen Kinderkrahm bekommst du mit dem Input-Filter "erschlagen".


PS: Deine OT-Frage -- mach nen Thread in der Hilfe-Sektion auf -- das kommt immer mal wieder als Fragestellung rüber :)

Stifler
28.04.2019, 10:11
Ich finde mysqli jetzt nicht schlechter als pdo, auch unter MySQLi gibt es prepared Statements
Wovon ich gar nichts halte sind die Datenbankklassen wo man einzelne Teile in Arrays/Params quetscht.. da verlernt man teilweise Statements zu schreiben

Lex
28.04.2019, 11:15
Ich finde mysqli jetzt nicht schlechter als pdo, auch unter MySQLi gibt es prepared Statements
Wovon ich gar nichts halte sind die Datenbankklassen wo man einzelne Teile in Arrays/Params quetscht.. da verlernt man teilweise Statements zu schreiben

Was glaubst du wie ich zum Kotzen anfange wenn ich ne PDO Query händisch schreiben muss :D Bin einfach von TT2´s Klasse verwöhnt :D

Lg Lex

jazzrul
28.04.2019, 17:37
@Cerberus: mit dem rewrite hast du sicherlich recht. Konkret tue ich das eigtl. auch bei jeder Stelle, die ich anfassen muss. Einige Dinge funktionieren allerdings seit Anfang an klaglos, so dass sie mir erst jetzt auf die Füsse fallen. Und so erfolgt der rewrite weiterhin sukzessive.


@Stifler: Als jemand der SQL mit dBase III gelernt hat, gefällt dieses Maß an Abstraktion bei PDO auch nicht mehr wirklich. Das war vor ca. 3 Monaten auch der Grund für meine Wahl der mysqli-Technik stat PDO, um die relevanten Stellen in der (eh schon divergierten) NV Source zu ersetzen.


Danke für eure Anregungen.

Cerberus
01.05.2019, 14:30
Wenn die Querys über eine Klasse gekapselt werden, ist es egasl, wie du sie benutzt ....
MySQLi, PDO, --- irgend was anderes ....


Wichtig ist einzig, das die Ausgabe die selbe ist -- die Verarbeitung an sich ist im Grunde wurscht

blondie009
30.07.2019, 23:19
Bei uns hat auch jemand ein Screenshot vom Staff-Panel gemacht obwohl da nur ein Coder ran kommt , wir haben eine Vermutung aber den Namen sage ich nicht

Thunder™
31.07.2019, 11:00
Wenn man eine Vermutung hat, sie aber nicht belegen kann, sollte man schweigen.
Jeden Tag wird so viel Scheiße im Internet geschrieben wovon meistens nicht mal 1 Prozent stimmt.

Menschen labern hat gerne wenn der Tag lang ist ;)

Achja eines noch, ich weiß nicht von welchen Tracker du schreibst aber wenn einer gehackt wird und lieber bei sbi diskutiert als hier, kann euch keiner helfen!! Auch wenn es hier Tot aussieht, so kann man hier dennoch Hilfe erhalten. Alle Tracker die bei sbi durchgefallen sind, wurden mit Lücken gehackt wo es HIER seit Ewigkeiten Fixes für gibt. Darüber sollte man nachdenken. Mfg

blacky
09.10.2019, 11:41
Achja eines noch, ich weiß nicht von welchen Tracker du schreibst aber wenn einer gehackt wird und lieber bei sbi diskutiert als hier, kann euch keiner helfen!! Auch wenn es hier Tot aussieht, so kann man hier dennoch Hilfe erhalten. Alle Tracker die bei sbi durchgefallen sind, wurden mit Lücken gehackt wo es HIER seit Ewigkeiten Fixes für gibt. Darüber sollte man nachdenken.


dem ist NICHTS hinzuzufügen !!!!

Cerberus
13.10.2019, 08:35
Schließe mich dem an ...


@Thunder
Achja eines noch, ich weiß nicht von welchen Tracker du schreibst aber wenn einer gehackt wird und lieber bei sbi diskutiert als hier, kann euch keiner helfen!!
Das ist ECHT schwer zu lesen ......

Thunder™
12.11.2019, 23:13
Neue News..

http://www.sb-innovation.de/showthread.php?34428-Sicherheitswarnung-Kritische-Sicherheitsl%FCcke-in-der-TTT-Source

Gerne hätten wir einen Fix zur Verfügung gestellt.
Warum es wohl keinen geben wird, dürft ihr hier nach lesen

http://info-panel.net//test/upload/7862550281sbipng.png


Wenn einer weiß wo die Lücke sein soll, kann er sich jederzeit an mich wenden und wir erarbeiten einen FIX.


Danke fürs lesen ....mfg

H4CKS0R
13.11.2019, 05:09
Der Fehler liegt im POST Bereich von der Kaffespende.php

Thunder™
13.11.2019, 09:10
Die gibt es in der Standard Source nicht und wurde von uns auch nie hinzugefügt.

Bluesteel
13.11.2019, 11:26
So ist es... In der originalen TTT-Source ist dieser Bug nicht vorhanden für alle Module die nachträglich hinzugefügt wurden sind die Betreiber bzw der verteiler der geänderten Version verantwortlich.

T89
13.11.2019, 11:54
Auch hier nochmal... Wer den fix braucht kann sich gerne an mich wenden...

Die Scene ist doch schon klein genug geworden... so langsam sollten wir mal wieder anfangen zusammen zu arbeiten und nicht als gegeneinander, damit so scriptkiddys wie rebound garkeine chance haben

Bluesteel
13.11.2019, 12:30
Auch diesem Post kann ich mich nur anschliesen,denn genau der gleichen Meinung bin ich auch ich werde am we die geänderte ITT source von Thunder für die Allgemeinheit posten, dies sollte dann ein Anstoß sein um wieder konstruktiv miteinander zu arbeiten, ein weiterer Effekt ist der Impuls die community NvT wieder zu beleben.

T89
13.11.2019, 12:58
Leider alles nicht php7 lauffähig sonst mit einer der besten nv Weiterentwicklungen da hast du recht

Bluesteel
13.11.2019, 15:36
Ich würde dann die auf php7 migrierte Version der ITT posten T89.

BonkeR
14.11.2019, 17:46
Sorry aber ich muss mich dann auch mal zu Wort melden.
Das Dingen mit dem SBIgedöns wird immer lächerlicher, wenn Thunder als Mitersteller der Source schon mal fragt was da los ist und dann so eine Abfuhr bekommt, ist es fraglich ob die SBIfuzzis überhaupt die verbliebene Szene (wenn man es so nennen mag) sicherer machen wollen.
Nicht mal den Arsch in der Hose den Grundpost so zu ändern das es an der PHP (die nicht einmal in der Grundsource ist) liegt.


Da wo ich bin wird auch die TTT gefahren und ist trotz eigener Modifikationen als sicher eingestuft worden.


Für die Firewall gilt das Gleiche wie bei den bisherigen Reviews auch: Falls eine existiert, ist sie nicht effektiv genug konfiguriert.
Komisch nur das die FW ihn aufgedeckt hat und geblockt...
Naja Standarttext halt.

Die haben bei der Grundsource schon gute Arbeit geleistet (ja auch ich werde älter und ruhiger).
Macht das Beste daraus....

PS: Jeder ist für seine Seite selbst verantwortlich und wenn Lücken bekannt sind sollten diese auch geschlossen werden.

T89
14.11.2019, 17:51
Ware Worte BonKer... Ich wurde zb gekickt weil ich Hilfe angeboten habe... Und Uns will er ja nicht Testen :D