Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server > Metin2 PServer Guides & Strategies
You last visited: Today at 15:14

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Tutorial]Auf MySQL Sicherheitslücke prüfen

Discussion on [Tutorial]Auf MySQL Sicherheitslücke prüfen within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
elite*gold: 14
Join Date: Nov 2011
Posts: 208
Received Thanks: 1,148
[Tutorial]Auf MySQL Sicherheitslücke prüfen

Hallo,

da es anscheinend ein bisschen unklar war, habe ich mir mal kurz angeschaut, wie man unter FreeBSD kompiliert.

Wie ich herausgefunden habe, ist dies ohne einige Änderungen nicht möglich, das Programm unter FreeBSD x86 auszuführen, wie es da steht.

Wer wissen möchte wieso, dem erkläre ich es hier, wer einfach nur den entgültigen Quellcode oder gar die Datei haben möchte, kann den Spoiler überspringen.


Für alle die zu faul waren zu lesen, der fertige Quellcode:
PHP Code:
/*
 *
 * CVE-2012-2122 checker
 *
 * You may get differing results with/without -m32
 *
 * Joshua J. Drake
 */

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include <string.h>

int main(void) {
        
int onetworet;
        
time_t start time(0);
        
time_t now;

        
srand(getpid()*start);
        while (
1) {
                
one rand();
                
two rand();
                
ret memcmp(&one, &twosizeof(int));
                if (
ret < -128 || ret 127)
                        break;
                
time(&now);
                if (
now start 10) {
                        
printf("Not triggered in 10 seconds, *probably* not vulnerable..\n");
                        return 
1;
                }
        }
        
printf("Vulnerable! memcmp returned: %d\n"ret);
        return 
0;

Anleitung zum kompilieren:
PHP Code:
AH88# touch vulntester.cpp && ee vulntester.cpp 
Den Code mit Rechtsklick reinkopieren und Editor mit [STRG+C]=>[exit] beenden.
PHP Code:
AH88# c++ vulntester.cpp -o vulntester 
Nach Abschluss der Kompilierung Programm starten:
PHP Code:
AH88# ./vulntester
Vulnerablememcmp returned: -1888 
Nochmal: Vergesst nicht die nötigen Rechte(775) per chmod zu geben!

Wer immer noch zu dumm ist, der findet die Datei im Anhang.

Mit freundlichen Grüßen
Daroo

PS: Ich habe dafür einen neuen Thread eröffnet, da sonst der Beitrag untergegangen wäre, und es immer wieder nachgefragt worden wäre, was wohl im Sinne von niemandem ist.
Attached Files
File Type: rar exploittester.rar (2.6 KB, 71 views)
Teh Daroo is offline  
Thanks
15 Users
Old 06/13/2012, 16:16   #2
 
elite*gold: 0
Join Date: Jun 2009
Posts: 2,327
Received Thanks: 565
was bringt die Sicherheitslücke ?
ciao123 is offline  
Old 06/13/2012, 16:25   #3
 
MissUnderstoodOne's Avatar
 
elite*gold: 0
Join Date: Jan 2012
Posts: 322
Received Thanks: 505
Quote:
Originally Posted by ciao123 View Post
was bringt die Sicherheitslücke ?
Er hat da ein Link gepostet, wo du es nachlesen kannst, aber hier nochmal:
Wenn man sich mit einem MySQL Server connectet, wird ein Hash bla bla...

Die Sicherheitslücke besteht darin, das wenn sich jemand mit einem Programm versucht einzuloggen, besteht eine Wahrscheinlichkeit von 1/256, das er connecten kann, ohne das Passwort an sich zu wissen.
d.h. man schreibt ein kleines Programm was sich innerhalb 5 Minuten in deine Datenbank eingeloggt hat...
MissUnderstoodOne is offline  
Old 06/13/2012, 16:30   #4

 
alg0r!thm's Avatar
 
elite*gold: 65
Join Date: Aug 2010
Posts: 1,365
Received Thanks: 561
Vielen, vielen Dank Brandon :-)
Hat mir geholfen '& wird bestimmt vielen auch noch helfen, falls sie es verstehen

Lg,
Daniiel'
alg0r!thm is offline  
Old 06/13/2012, 16:31   #5
 
MissUnderstoodOne's Avatar
 
elite*gold: 0
Join Date: Jan 2012
Posts: 322
Received Thanks: 505
Quote:
Originally Posted by Daniiel' View Post
Vielen, vielen Dank Brandon :-)
Hat mir geholfen '& wird bestimmt vielen auch noch helfen, falls sie es verstehen

Lg,
Daniiel'
dafür war eigentlich schon der andere Thread gedacht...
Nur wenn man den nicht versteht ->
MissUnderstoodOne is offline  
Old 06/13/2012, 16:33   #6
 
elite*gold: 14
Join Date: Nov 2011
Posts: 208
Received Thanks: 1,148
Quote:
Originally Posted by ciao123 View Post
was bringt die Sicherheitslücke ?
Die Funktion my_bool der password.c returned den Rückgabewert von einer Funktion, welche zwei Member vergleicht. Jedoch gibt diese Funktion eine Integer als Rückgabewert, während my_bool einen Bool(true/false) zurückgibt. Weshalb dies eine Sicherheitslücke ist, kann sich wahrscheinlich jeder denken, ich werde nicht weiter draufgehen.

Ich werde demnächst einen entsprechenden Fix und Hack veröffentlichen mit Sourcecode veröffentlichen, dann kannst du dich nochmal genauer mit der Materie befassen.

/Edit: Die Wahrscheinlichkeit beträgt nicht 1/256. Da der Returnwert von memcmp kein unsignierter Integer ist, wird mit einer Wahrscheinlichkeit von 0.5 ein negativer und mit einer Wahrscheinlichkeit von 0.5 ein positiver zurückgegeben(jedoch nur reelle Zahlen!).

/Edit 2: Du hattest Recht. Es geht von -128 bis 127(ist also 16bit).
Teh Daroo is offline  
Old 06/13/2012, 17:20   #7
 
iYoshix3's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 1,264
Received Thanks: 2,019
Nur bei FreeBSD?

Mfg
iYoshix3 is offline  
Old 06/13/2012, 17:44   #8
 
elite*gold: 198
Join Date: Mar 2011
Posts: 835
Received Thanks: 263
Ne bei jeder MYSQL Version ausser den 2 oder 3 neusten =)
ƬheGame is offline  
Old 06/13/2012, 17:47   #9
 
elite*gold: 0
Join Date: Jun 2009
Posts: 2,327
Received Thanks: 565
bei der neusten mysql geht es nicht ?
ciao123 is offline  
Old 06/13/2012, 18:24   #10
 
MissUnderstoodOne's Avatar
 
elite*gold: 0
Join Date: Jan 2012
Posts: 322
Received Thanks: 505
Nein, bei der neuesten MySQL Version geht dies nicht!
MissUnderstoodOne is offline  
Old 06/13/2012, 18:36   #11
 
iYoshix3's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 1,264
Received Thanks: 2,019
Was ist derzeit die neuste? 5.5.x?

Mfg
iYoshix3 is offline  
Old 06/13/2012, 18:54   #12
 
elite*gold: 0
Join Date: Jun 2009
Posts: 2,327
Received Thanks: 565
5.5.25
ciao123 is offline  
Old 06/13/2012, 19:42   #13
 
elite*gold: 14
Join Date: Nov 2011
Posts: 208
Received Thanks: 1,148
Um upzudaten(ohne mysql-upgrade):

Ports aktualisieren(falls per Portsnap installiert):
PHP Code:
portsnap fetch update 
MySQL stoppen:
PHP Code:
service mysql-server stop 
oder
PHP Code:
/etc/rc.d/mysql-server stop 
MySQL updaten:
PHP Code:
cd /usr/ports/databases/mysql55-server
make deinstall 
&& make reinstall 
Rehashen und MySQL neustarten:
PHP Code:
rehash 
PHP Code:
service mysql-server start 
PHP Code:
/etc/rc.d/mysql-server start 
ggf. rebooten.
Teh Daroo is offline  
Old 06/13/2012, 20:29   #14
 
JohnSilver1992's Avatar
 
elite*gold: 122
Join Date: Sep 2009
Posts: 1,085
Received Thanks: 2,538
La la, sehr schön beschrieben

Ich empfehle dennoch weiterhin "REMOTE-MYSQL" für solche Sicherheitsmaßnahmen.(Nichts gg dein Tutorial, sondern für die, die es evtl. nicht kennen )


Kind Regards
JohnSilver1992
JohnSilver1992 is offline  
Old 06/13/2012, 21:30   #15
 
elite*gold: 140
Join Date: Jun 2011
Posts: 931
Received Thanks: 1,451
Quote:
Originally Posted by MissUnderstoodOne View Post
Nein, bei der neuesten MySQL Version geht dies nicht!
Laut Golubchik sind theoretisch alle MySQL- und MariaDB-Versionen bis einschließlich 5.1.61, 5.2.11, 5.3.5 und 5.5.22 verwundbar – allerdings nur, wenn sie mit bestimmten Optionen kompiliert wurden; etwa mit der SSE-optimierte memcmp-Funktion der glibc. Nach bisherigem Kenntnisstand sind die von den Herstellern angebotenen Binaries nicht verwundbar.
.Nouce is offline  
Reply


Similar Threads Similar Threads
[Tutorial]Wie mache ich eine Registration mit PHP und Mysql?
02/27/2012 - Web Development - 5 Replies
Hallo und Willkommen zum ersten Tutorial von mir. Vorne Weg ich bin nicht der beste in Rechtschreibung aber ich versuche euch alles verständlich zu erklären. Fangen wir an ich setze jetzt mal voraus das ihr HTML beherrscht für Formulare etc. Grundlagen: PHP fängt immer mit <?php an und hört mit ?> auf mit // Kommentiert man Zeilen aus sprich der PHP Parser ignoriert diese.Mit echo gibt man ein "Spruch" aus und mit exit beendet man den Script! Dann Fangen wir an :) als erstes machen...
[Tutorial] Sicherheit in PHP mit MySQL (Part 1: SQL-Injections)
02/25/2012 - Web Development - 5 Replies
Hallo, ich dachte mir, mal ein Tutorial über Sicherheit in PHP-Skripten zu machen. Na dann fang ich wohl an^^ Vorraussetzung ist PHP & MySQL zu können. SQL-Injections sind der Albtraum eines jeden Webmasters. Doch was ist eine SQL-Injection? Wie der Name schon sagt wird SQL-Code in deinen SQL-Code eingeschleust. Um das zu demonstrieren hier ein PHP-Script. NICHT BENUTZEN! BEINHALTET SICHERHEITSLÜCKE
[Tutorial 3] MySQL
12/28/2011 - AutoIt - 0 Replies
Hallo, aufgrund einer Anfrage schreibe ich nun ein Tutorial, wie ihr eine Verbindung zu einem MySQL Server aufbaut und Queries sendet. Zuerst müsst ihr diese Include in den Includes Ordner (C:\Program Files\AutoIt3\Include\) kopieren. http://i.03d.eu/MySQL.au3 Ausserdem braucht ihr MySQL :: Download Connector/ODBC , um euch mit dem Server zu verbinden. (Wenn ihr diese nicht habt, gibt es einen Error ;) Hinweis: Ich werde euch nicht erklären, wie die ganzen Queries / Befehle lauten oder was...
[SICHERHEITSLÜCKE]SSH/Metin2 Sicherheitslücke
08/18/2011 - Metin2 PServer Guides & Strategies - 26 Replies
Hey, ich will hier mal eine Sicherheitslücke in SSH die man über Metin2 erreicht releasen. Aber damit das nicht geleecht wird, habe ich es encrypted. Schreibt mich an, dann sag ich euch wie ihr es entschlüsselt! ...



All times are GMT +2. The time now is 15:14.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.