Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hi leute

habe folgendes Problem:

unser Lehrer hat uns für eine Zwischennote folgendes zum Programmieren in Eclipse gegeben

Schreiben sie ein Programm welches das Netzwerk auf Datenbanken durchsucht (Routinen), und ein Testprogramm auf die Funktionalität des Programmes.

Problem ist das wir so etwas nie durchgenommen haben und ich planlos der Sache ins Auge blicken muss...jedoch muss ich das bis Montag schaffen um das Jahr positiv zu absolvieren ^^

Ich hoffe ihr könnt mir da weiterhelfen..

lg: Chris

Schreiben sie ein Programm welches das Netzwerk auf Datenbanken durchsucht (Routinen), und ein Testprogramm auf die Funktionalität des Programmes.

Wie soll das funktionieren? Eine Datenbank ist erst einmal ein Stück Software das irgendwo auf irgendeinem Rechner läuft. D.h. Du müsstest um es allgemein zu halten einen Portscanner schreiben, der eben alle Rechner und alle Ports durch prüft, aber damit bekommst Du nur einen aktiven Server dienst, ob dieser eine Datenbank ist oder nicht, kannst Du so direkt nicht entscheiden.

Frage Deinen Lehrer, was er genau meint, denn so denke ich ich, ist die Aufgabe nicht lösbar

Naja man könnte ja rein theoretisch jeden Rechner im Netzwerk suchen, dessen IP hernehmen und versuchen auf den Standartports der verschiedenen SQL Server eine Connection aufzubauen.

Wenn man einen Access Denied Fehler zurückbekommt, könnte man davon ausgehn das auf diesem Rechner ein SQL Server läuft und demnach auch Datenbanken vorhanden sind (zumindest Systemdatenbanken).

Allerdings müssen die Server ja nicht auf dem Standartport laufen.....

Allerdings müssen die Server ja nicht auf dem Standartport laufen.....

.... und wenn man in der Firewall ICMP Pakete verbietet funktioniert das auch nicht. Und außerdem die Info über "Port aktiv" oder "Port ist nicht aktiv", reicht noch nicht aus, dass hinter dem Dienst ein Datenbankserver arbeitet

Also bitte noch einmal die konkrete Aufgabenstellung erfragen.

Ist so eine Software nach dem deutschen Recht überhaupt legal, oder fällt das schon unter die verbotenen Hacker-Tools?

Zuerst müsste man mal rausfinden wer überhaupt so alles da ist. Kann man irgendwie einen UDP-Broadcast schicken auf den normalerweise jeder Rechner im Netz antwortet?

Wenn man dann so eine Liste mit IP-Adressen oder Host-Namen hat könnte man erstmal mit nem simplen TCP-Socket sich versuchen an die "üblichen verdächtigen" Ports zu hängen. Wenn der Socket connectedm, ist da auf jeden Fall mal irgendwas. Dann könnte man schauen, ob man darauf eine Datenbankverbindung über die einen der verbreiteteren JDBC-Connectoren bekommt. Wenn die Verbindung klappt und der Server nur irgenwas von wegen Zugriffsrechte meckert dann ist da ein Datenbankserver und du weißt auch automatisch was für einer (der auf den der Connector halt passt).

Wenn du damit fertig bist, kannst die Hosts nochmal auf die gute alte Brute-Force-Methode checken. Du checkst einfach alle Ports von 0 bis 65536 bei jeden Rechner. Aber da das etwas dauern würde, würde ich zuersrt die üblichen verdächtigen checken. Das du alle Datenbanken findest ist so gut wie ausgeschlossen, es gibt einfach zu viele um alles mögliche zu prüfen.

Du kannst ja deinen Lehrer nochmal Fragen ob er wirklich alle die SQL-Datenbanken im Netz gemeint hat und wenn ja, ob es reicht, wenn du nur bestimmte auf bestimmten ports erkennst. Ich find die Aufgabe irgendwie sehr sinnlos, aber irgendwie auch witzig.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.