Normal kann nur meine Software auf die .php zugreifen. (Software hash, dieser wird in der PHP eingebaut.)
den hash kann man ohne probleme wiresharken sonst die verbindung lokal umleiten und da den query string ändern, es gibt keine möglichkeit queries sicher vom programm zu schicken
Glaub mir, auch wenn einige Leute hier sehr harsch rüberkommen, sie alle sind in dem Thread weil sie dir helfen wollen Du reißt hier gerade ein Scheunentor großes Loch in deinen Server, im besten Fall mit unmengen Arbeit kannst du die SQL queries so verstecken, das es ein paar Minuten aufwand wäre an sie zu kommen.
Der allerste Satz den man bei jeder Art von Client-Server Programm im Kopf haben sollte ist: Der Client gehört dem Feind. Kein Einziges Wort von ihm kann man als richtig ansehen.
Dein Fehler liegt im Design deines Lizens Systems, es darf keine Querys zum Server geben direkt von deinem Client, der Client sollte auf etwas auf dem Webserver zugreifen, in welcher Sprache auch immer, Der Server selbst nimmt dann diese Values, valdiert das auch kein Müll drin ist, und macht dann mit diesen Values den eigentlichen Request an deine DB. Solang du dann Sql Injections im Hinterkopf behälst bekommst du auch ein einigermassen vernüftiges System zusammen.
Glaub mir, auch wenn einige Leute hier sehr harsch rüberkommen, sie alle sind in dem Thread weil sie dir helfen wollen Du reißt hier gerade ein Scheunentor großes Loch in deinen Server, im besten Fall mit unmengen Arbeit kannst du die SQL queries so verstecken, das es ein paar Minuten aufwand wäre an sie zu kommen.
Der allerste Satz den man bei jeder Art von Client-Server Programm im Kopf haben sollte ist: Der Client gehört dem Feind. Kein Einziges Wort von ihm kann man als richtig ansehen.
Dein Fehler liegt im Design deines Lizens Systems, es darf keine Querys zum Server geben direkt von deinem Client, der Client sollte auf etwas auf dem Webserver zugreifen, in welcher Sprache auch immer, Der Server selbst nimmt dann diese Values, valdiert das auch kein Müll drin ist, und macht dann mit diesen Values den eigentlichen Request an deine DB. Solang du dann Sql Injections im Hinterkopf behälst bekommst du auch ein einigermassen vernüftiges System zusammen.
Diese Daten vom Webserver müssten dann doch auch in den Programmcode?
Fang noch mal von ganz vorn an. Am besten mit Visual Basic und
arbeite dich Schritt für Schritt hoch.
Das war eine Gegenfrage für ihn.
Ich soll es ja vermeiden, die Querys im Programm zu halten.
Wenn sie auf einem Webspace sind, muss man die Daten von diesem Server ja wiederrum auch im Quellcode angeben?
php ist eine serverseitige sprache, dh der quellcode ist nur dem server bekannt aber nicht von außen einseh oder änderbar, sondern von außen sieht man nur "das ergebnis" des codes
php ist eine serverseitige sprache, dh der quellcode ist nur dem server bekannt aber nicht von außen einseh oder änderbar, sondern von außen sieht man nur "das ergebnis" des codes
und genau das ist der knackpunkt
Ja, aber wenn mein Programm genau diese PHP mit den Querys anspricht, kann es doch jedes andere Programm auch?
Deswegen übernimmt dein PHP-Script nicht einfach nur Querys. Du übergibst dem Script z.B. nur die HWID. Das Script bastelt daraus ne Query und fragt die DB ab.
bsp:
dein programm sendet: "123456abcd"
und in php wird dann das so zusammengesetzt:
"select .... where hwid = " + [das übergebene]
also, "select .... where hwid = '123456abcd'"
und gibt in irgendeiner form das ergebnis zurück
sicher kann das jetzt jeder ansprechen ist aber total wayne weils niemand missbrauchen kann, egal was man jetzt statt dem "123456abcd" sendet, es wird immer nur ein select gemacht und somit ist kein drop, insert, update etc an der stelle möglich
einfach noch das was angenommen wird escapen und dann biste auf der ganz sicheren seite (mysql_real_escapestring oder sowas nennt sich das)
ALLES was vom Benutzer/Client/Proxy/Gate/Netzwerk an Daten zu deinem Programm kommt ist FEINDLICH. Ja, auch header, cookies, refferers, serialisiertes. Wann immer du sowas innerhalb der Serverseite verarbeitest frag dich "was könnte da schlimmstenfalls drinnstehen?"
Und hier scheinbar wichtiger: Wann immer du dir diese Frage nicht absolut sicher beantworten kannst, mach die IDE zu und recherchiere.
Cracker & *-_JuLi²_-* - Middlemans für alle Fälle 11/12/2011 - Middleman - 12 Replies Cracker & *-_JuLi²_-* - 2 Middlemans für alle Fälle.
Trusted - Einfach - Ordentlich - Nett
Anforderungen an den Middleman
Kein negatives Black-Market Rating ✔
Ein Black-Market Kontostand von min. 10 ✔
Hohe Accountaktivität, min. 300 Posts ✔
Mindestens 3 Monate registriert sein ✔
Für alle Hacker/Cracker da draußen: 05/13/2007 - Off Topic - 56 Replies http://www.hackertest.net/
HackerTest.net is your own online hacker simulation.
With 20 levels that require different skills to get to another step of the game, this new real-life imitation will help you advance your security knowledge.
HackerTest.net will help you improve your JavaScript, PHP, HTML and graphic thinking in a fun way that will entertain any visitor!
Have a spare minute? Log on! Each level will provide you with a new, harder clue to find a way to get to another level....