SQL oder C für Hacking?
Ich bereite mich auf eine Karriere in der Cybersecurity vor und möchte bereits jetzt einige Erfahrungen sammeln. Ich programmiere seit etwa sieben Monaten. Welche Programmiersprache würdet ihr empfehlen, um meine Fähigkeiten weiter zu entwickeln: SQL oder C?
8 Stimmen
4 Antworten
Ich sag erstmal "Andere"
Also SQL zu nennen macht überhaupt keinen Sinn, das ist in diesem Sinne keine Programmiersprache. Die Sprache hat gefühlt 10 Befehle. SQL wird verwendet, um mit SQL Datenbanken zu kommunizieren.
Da wäre die Frage: Was hast du die 7 Monate davor gelernt und wie gut bist du bereits?
Die C Sprachen, also C, C++ und C# sind zwar extrem gut in ihrem Anwendungsgebiet (Hardwarenahe Programmierung), aber auch echt schwer zu lernen. Das sind meiner Meinung nach so die Königsklassen unter den Programmiersprachen ^^
Alternativ kann man Python in Betracht ziehen, da hat man eine schnelle Lernkurve und kann auch sehr viel machen, später kann man immer noch zu den C Sprachen wechseln.
Dann wäre meine Empfehlung: Wenn schon eine C Sprachen, da eher C++, würde dir aber trotzdem eher zu Python raten.
Wenn du was mit SQL machen willst, schau dir ein 20min YouTube Video zu SQL an (dann kennst du alle Funktionen der Sprachen) und mach dich mit SQL Injektion auf Websites vertraut.
Meine klare Meinung:
Lern was, wo du eine schnelle Lernkurve hast und wozu es viele Informationen (z.B. Videos) gibt und lerne die Grundprinzipen beim programmieren, also das Verständnis von Logik wie Software aufgebaut sein muss. Und da punktet in meinen Augen definitiv Python vor den C Sprachen.
Die Sprache ist am Ende nur eine Syntax die du lernen musst und eine nebensächliche Fähigkeit. Das wichtigste ist wie gesagt das Verständnis von Code, wenn du das hast kannst du innerhalb weniger Woche jede Programmiersprache in deinem Anwendungsgebiet erlernen.
Stell es dir so vor: Wenn du ein Auto fahren kannst, kannst du einfacher lernen wie man einen LKW fährt. Du kennst die StVO und hast ein Gefühl dafür entwickelt wie sich andere Verkehrsteilnehmer verhalten und wo mögliche Gefahren im Straßenverkehr entstehen können. Letztendlich musst du nur herausfinden, was du bei einem LKW anders machen musst als beim Auto, den Rest kannst du ja bereits. ^^
C ist nicht schlecht, um ein Gefühl für Lowlevel Sprachen und Konzepte zu bekommen. SQL ist zwar eine Programmiersprache und kann Aufschluss über Angriffsvektoren auf relationale Datenbanken geben, diese Konzepte verlangen aber kein besonders tiefes Verständnis der Sprache. Allgemein ist SQL auch eher etwas, das man mal nebenbei (für ein Projekt) lernt, als sich wirklich darauf zu fokussieren. Wie wäre es, wenn du es dir zusammen mit der Programmiersprache, für die du dich entscheidest, anschaust? :)
Okay, darüber kann man sich jetzt natürlich streiten. SQL ist turingvollständig und einfach eine Domain Specific Language zur Anwendung in Datenbanken und wird umgangssprachlich häufig als Programmiersprache bezeichnet. Man kann mit modernen Dialekten komplexe Prozeduren direkt in SQL schreiben und mit Erweiterungen sogar Programme in anderen Programmiersprachen aufrufen. Eine Multi Purpose Programmiersprache ist es alleine aufgrund ihres spezifischen Anwendungszwecks zwar nicht, ich finde das aber etwas sehr pingelig :)
Also mit SQL kannst du nichts programmieren sondern nur Query’s für eine SQL Datenbank schreiben. Natürlich macht es Sinn sich damit zu befassen und ggf etwas über SQL Injections zum Beispiel zu lernen. Wenn es dir um das reine programmieren geht definitiv C. C++ ist denke ich auch eine gute Wahl. Python wäre auch nicht ganz schlecht, da du dir damit für das Hacking ein paar Tools schreiben kannst, die sich als nützlich erweisen könnten.
ich hoffe das konnte etwas helfen.
Lg.
Die Auswahl ist recht unsinnig.
Mit SQL kommuniziert man mit Datenbanken, da kommt man im Bereich Hacking nicht sonderlich weit.
Ist der Input einer Datenbank vor einer Einspeisung von SQL über Eingabemöglichkeiten geschützt (das macht man mit einem Befehl und ist Standard), bringt einem SQL nichts.
Achtung Klugscheißer: SQL ist keine Programmiersprache, es ist eine Datenbanksprache.
Sie dient nicht der Erstellung von Software, sondern der Kommunikation mit Datenbanken.
Man findet hier immer wieder Leute die pingelig darauf hinweisen was eine Programmiersprache ist und was nicht. Da wollte ich auch einmal ;P
Mit den Rest Deiner Antwort hast Du natürlich völlig recht.