NetVision-Technik

NetVision-Technik (http://www.netvision-technik.de/forum/index.php)
-   Webserver (http://www.netvision-technik.de/forum/forumdisplay.php?f=9)
-   -   Micro CMS (http://www.netvision-technik.de/forum/showthread.php?t=6901)

phenom 23.09.2012 13:41

Micro CMS
 
Habe da mal was Interessantes gefunden.

https://www.entwickler-konferenz.de/...30656,p,0.html

Ev. weis ja einer die Lösung.Auch wenn dort steht

Lösung:
Die SQL-Injection-Schwachstelle erlaubt u.a. das Umgehen der Authentifizierung.
Eine Lösung ist nicht verfügbar.

LG
phenom

ike 23.09.2012 14:30

Das Ding ist schrott, da ist ja überhaupt nix abgesichert.

phenom 23.09.2012 14:34

Zitat:

Zitat von ike (Beitrag 77167)
Das Ding ist schrott, da ist ja überhaupt nix abgesichert.

Ich weis zwar jetzt nich was Du meinst,aber was solls.

Wo ist was nicht abgesichert, und was ist Schrott?

Übrigens habe ich genau diese Meldung von einem Tracker erhalten.

ike 23.09.2012 15:26

Zitat:

Zitat von phenom (Beitrag 77168)
Ich weis zwar jetzt nich was Du meinst,aber was solls.

Nicht? Das ist traurig, solange wie du schon dabei bist sollte man meinen das du das selbst siehst. Es werden weder Ausgaben noch Eingaben gefiltert.

Zitat:

Zitat von phenom (Beitrag 77168)
Wo ist was nicht abgesichert, und was ist Schrott?

Überall!

Auszug aus microcms-admin-login.php:
PHP-Code:

            $sql '
                SELECT *
                FROM microcms_administrators
                WHERE administrators_username = "' 
$_POST['administrators_username'] . '" and
                    administrators_pass = PASSWORD("' 
$_POST['administrators_pass'] . '")';
            
$user_result mysql_query($sql); 

Auszug aus microcms-admin-home.php:

PHP-Code:

    if ($_GET['action'] == 'delete_blurb') {
        
$result mysql_query('
            SELECT *
            FROM microcms_content_blurbs
            WHERE content_blurbs_id = "' 
$_GET['id'] . '"');
        
$row mysql_fetch_array($result);
        
        
$delete mysql_query('
            DELETE FROM microcms_content_blurb_history
            WHERE content_blurbs_variable = "' 
$row['content_blurbs_variable'] . '"');
            
        
$delete mysql_query('
            DELETE FROM microcms_content_blurbs
            WHERE content_blurbs_id = "' 
$_GET['id'] . '"');
        echo 
mysql_error();
        
$result_div .= getResultDiv('<strong>The blurb has been removed.</strong>','success'); 
    }

/............../

            
$admin_block .= '
                <tr>
                    <td class="' 
$row_style '">' $row['administrators_id'] . '</td>
                    <td class="' 
$row_style '">' $row['administrators_username'] . '</td>
                    <td class="' 
$row_style '">' $level '</td>
                    <td class="' 
$row_style '"><a href="mailto:' $row['administrators_email'] . '">' $row['administrators_email'] . '</a></td>
                    <td class="' 
$row_style '">
                        <a onClick="switchImage (\'micro_cms_files/images/plus.gif\',\'micro_cms_files/images/minus.gif\',\'admin_image_' 
$row['administrators_id'] . '\')" href="javascript:toggleLayer(\'edit-' $row['administrators_id'] . '\');"><img src="micro_cms_files/images/plus.gif" name="admin_image_' $row['administrators_id'] . '"  id="admin_image_' $row['administrators_id'] . '" /></a>
    
                        <div class="hidden highlighted-border" id="edit-' 
$row['administrators_id'] . '">
                        
                        <form action="microcms-admin-home.php" method="post">
                            <input type="hidden" name="action" value="change_password" />
                            <input type="hidden" name="administrators_id" value="' 
$row['administrators_id'] . '" />
                            New Pass: <input type="text" size="10" name="administrators_password" /> 
                            <input type="submit" value="Change Pass &gt;" />
                        </form>
                        </div>
                    </td>
                    <td class="' 
$row_style ' nowrap">
                        <form action="microcms-admin-home.php" method="post">
                            <input type="hidden" name="action" value="delete_admin" />
                            <input type="hidden" name="administrators_id" value="' 
$row['administrators_id'] . '" />
                            <input type="submit" value="Delete" onclick="return confirm(\'Are you sure you want to delete the following administrator: ' 
$row['administrators_username'] . '?\')"  />
                        </form>
                    </td>
                </tr>'
;
        } 

Zitat:

Zitat von phenom (Beitrag 77168)
Übrigens habe ich genau diese Meldung von einem Tracker erhalten.

Mit recht, ist ja auch Schrott ;-)

Stifler 23.09.2012 15:39

Steht sogar auf deren Website
Zitat:

We have taken down the IBD Micro-CMS demo for now, due to some security issues. As soon as we are able, we will be putting it back up.

phenom 23.09.2012 17:51

Zitat:

Zitat von ike (Beitrag 77169)
Nicht? Das ist traurig, solange wie du schon dabei bist sollte man meinen das du das selbst siehst. Es werden weder Ausgaben noch Eingaben gefiltert.



Überall!

Auszug aus microcms-admin-login.php:
PHP-Code:

            $sql '
                SELECT *
                FROM microcms_administrators
                WHERE administrators_username = "' 
$_POST['administrators_username'] . '" and
                    administrators_pass = PASSWORD("' 
$_POST['administrators_pass'] . '")';
            
$user_result mysql_query($sql); 

Auszug aus microcms-admin-home.php:

PHP-Code:

    if ($_GET['action'] == 'delete_blurb') {
        
$result mysql_query('
            SELECT *
            FROM microcms_content_blurbs
            WHERE content_blurbs_id = "' 
$_GET['id'] . '"');
        
$row mysql_fetch_array($result);
        
        
$delete mysql_query('
            DELETE FROM microcms_content_blurb_history
            WHERE content_blurbs_variable = "' 
$row['content_blurbs_variable'] . '"');
            
        
$delete mysql_query('
            DELETE FROM microcms_content_blurbs
            WHERE content_blurbs_id = "' 
$_GET['id'] . '"');
        echo 
mysql_error();
        
$result_div .= getResultDiv('<strong>The blurb has been removed.</strong>','success'); 
    }

/............../

            
$admin_block .= '
                <tr>
                    <td class="' 
$row_style '">' $row['administrators_id'] . '</td>
                    <td class="' 
$row_style '">' $row['administrators_username'] . '</td>
                    <td class="' 
$row_style '">' $level '</td>
                    <td class="' 
$row_style '"><a href="mailto:' $row['administrators_email'] . '">' $row['administrators_email'] . '</a></td>
                    <td class="' 
$row_style '">
                        <a onClick="switchImage (\'micro_cms_files/images/plus.gif\',\'micro_cms_files/images/minus.gif\',\'admin_image_' 
$row['administrators_id'] . '\')" href="javascript:toggleLayer(\'edit-' $row['administrators_id'] . '\');"><img src="micro_cms_files/images/plus.gif" name="admin_image_' $row['administrators_id'] . '"  id="admin_image_' $row['administrators_id'] . '" /></a>
    
                        <div class="hidden highlighted-border" id="edit-' 
$row['administrators_id'] . '">
                        
                        <form action="microcms-admin-home.php" method="post">
                            <input type="hidden" name="action" value="change_password" />
                            <input type="hidden" name="administrators_id" value="' 
$row['administrators_id'] . '" />
                            New Pass: <input type="text" size="10" name="administrators_password" /> 
                            <input type="submit" value="Change Pass &gt;" />
                        </form>
                        </div>
                    </td>
                    <td class="' 
$row_style ' nowrap">
                        <form action="microcms-admin-home.php" method="post">
                            <input type="hidden" name="action" value="delete_admin" />
                            <input type="hidden" name="administrators_id" value="' 
$row['administrators_id'] . '" />
                            <input type="submit" value="Delete" onclick="return confirm(\'Are you sure you want to delete the following administrator: ' 
$row['administrators_username'] . '?\')"  />
                        </form>
                    </td>
                </tr>'
;
        } 

Mit recht, ist ja auch Schrott ;-)

hm.. ich weis ja nich wo du die php´s jetzt ausgeraben hast,kann sie auf der seite von oben nicht finden.aber das sollte auch nur ein hinweis sein,das es solch eine lücke gibt.nunja,lass ich es beim nächsten mal.

Thunder™ 23.09.2012 18:00

ist auf deutsch ne Einladung vorbei zu schauen..^^

ike 23.09.2012 18:16

Zitat:

Zitat von phenom (Beitrag 77173)
aber das sollte auch nur ein hinweis sein

FALSCH! Du hast gefragt ob jemand weiß wie die Lücke geschlossen wird.

Zitat:

Zitat von phenom (Beitrag 77173)
das es solch eine lücke gibt.nunja,lass ich es beim nächsten mal.

Du fühlst dich jetzt ernsthaft ans Bein gepisst weil ich sage das das Teil schrott ist? Ist ja wohl ein Scherz!

Gib beim Admin-Login als Benutzername deinen Namen und bei Passwort {") OR 1=1 -- } ohne die {} ein, dann siehst du warum das Teil Schrott ist!


Ich befürchte aber langsam das du nichtmal weißt das die Meldung um dieses CMS geht: http://www.impliedbydesign.com/ibd-m...t-manager.html

phenom 23.09.2012 18:55

Zitat:

Zitat von ike (Beitrag 77175)
FALSCH! Du hast gefragt ob jemand weiß wie die Lücke geschlossen wird.



Du fühlst dich jetzt ernsthaft ans Bein gepisst weil ich sage das das Teil schrott ist? Ist ja wohl ein Scherz!

Gib beim Admin-Login als Benutzername deinen Namen und bei Passwort {") OR 1=1 -- } ohne die {} ein, dann siehst du warum das Teil Schrott ist!


Ich befürchte aber langsam das du nichtmal weißt das die Meldung um dieses CMS geht: IBD Micro CMS 3.5: A Simple, SEO, AJAX-Based Content Management System | Implied By Design

Mag sein, ich wollte damit nur sagen,das die behaupten ,das es noch keine Lösung dafür gibt, und ev. einer hier schlauer ist.Scheint aber eher nich der Fall zu sein.Und falls Du es noch nicht bemerkt hast, die
Lücke soll extra zum Ausprobieren sein,oder meinst Du allen Ernstes, eine Seite wie https://www.entwickler-konferenz.de lassen so eine Sicherheitslücke zu?Ich denke mal,das soll zur Anschaung dienen.

ike 23.09.2012 19:04

Ach Kind, dass ist mir zu blöd. Seit 2008 hier angemeldet und fast 600 Beiträge aber nichtmal wissen wie man Eingaben filtert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:15 Uhr.

Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.