#1 30. Juli 2008 PHP Seite? Hallo Leute, habe mir eine Seite programmiert (PHP), die einen Login hat, Passwort wird mit Hilfe von MD5 in der Datenbank abgeglichen. Habe einem Freund von der Seite erzählt und er meinte, dass er versuchen wird aus Spaß die Seite löschen bzw. zu übernehmen versuchen. Er meinte er hat schon ein Overflow versucht, damit meine Seite Fehler ausspuckt, aber er meinte, da wäre meine Seite zu gut Codiert. Jetzt hat er noch von einem Kumpel eine Seite bekommen, womit man irgendwie eine .bat oder Skript programmiert, das irgendwie löscht oder sich Zugang verschafft und er meinte es wäre ganz simpel, aber genau sagen wird er es mir nicht sonst würde ich die Lücke stopfen (Soll angeblich bei vielen funktionieren). Frage was könnte das sein? Wie kann ich mich davor schützen kennt jemand von euch diese .bat/Skript Sicherheitslücke? Danke im Voraus! Kirill + Multi-Zitat Zitieren
#2 30. Juli 2008 AW: PHP Seite? Blödsinn, wenn dein Script (und dein Server) sicher sind kann keiner das Script löschen... + Multi-Zitat Zitieren
#3 30. Juli 2008 AW: PHP Seite? Erstmal danke für deine Antwort! Mit Script meinst du meine HTML/PHP Seite oder? Was ich denke, möchte er eine Datei auf meinen Webhoster hochladen und damit dann vom außen sie dann ausführen. Die Frage ist wie kann er diese Datei hochladen? + Multi-Zitat Zitieren
#4 30. Juli 2008 AW: PHP Seite? Wenn er FTP Zugangsdaten hat oder du 'n HTML Upload Formular hast? ^^ + Multi-Zitat Zitieren
#5 30. Juli 2008 AW: PHP Seite? ymmd. omg ich kann net mehr =) --------- also wenn du wirklich nen win-server am laufen hast isses zwar möglich mit einigen exploits die cmd (console) zu steuern, aber dazu gehört schon einiges mehr dazu (u.a. erstmal genaue infos zum server und ne brauchbare sicherheislücke)^^ so wie sich das ganze anhört is dein kumpel n script-kiddie xD + Multi-Zitat Zitieren
#6 30. Juli 2008 AW: PHP Seite? Er hat keine FTP Zugangsdaten von mir und ich habe keinen Upload auf meiner Seite, so Blöd bin ich nicht. Auf meinem FTP habe ich allen Dateien die Root-Rechte genommen! Dateien besitzen nur Read-Rechte (-r--) und Ordner nur Read+Ausführen Rechte (dr-x). Sorgen macht mir nur das der eine Kumpel der die Seite kennt ein PC Spezialist ist und wenn er meint das es funktioniert dann funktioniert es auch. 8o Die Frage ist nur ob ich diese Lücke zu habe, was viele Leute anscheinend nicht haben. + Multi-Zitat Zitieren
#7 30. Juli 2008 AW: PHP Seite? Kann sein, aber wenn es klappt, dann klappt es. Webhost = Ohost Index: PHP: <?php session_start (); include 'mysql.php' ; if (isset( $_POST [ 'Login' ])) { $userid = check_user ( $_POST [ 'name' ], $_POST [ 'pass' ]); if ( $user != false ) login ( $user ); else $falsch = "1" ; } if (! logged_in ()) echo ' <form>hier kommt das ganze Echo mit Post blala</form>' else header ( 'Location:seite.htm' ); if ( $falsch == "1" ) { echo "<font size='3'><font color='red'><b>Meldung </b></font>Kein Zugriff</font>" ; $v_ip = $REMOTE_ADDR ; $v_date = date ( "l d F H:i:s" ); $fp = fopen ( "logip_1/logfalse_1/logwarning_1.txt" , "a" ); fputs ( $fp , "IP: $v_ip - DATE: $v_date \n\n" ); fclose ( $fp ); } ?> Alle meine Backups auf dem FTP sind mit einem Winrar Passwort versehen und durch .htaccess + .htpasswd geschützt. Habe versucht die Infrastruktur meiner Seite schwer zu machen, also jetzt als Bsp.: Anstatt Ordner: Bilder Ordner: Images_Bilder_1 Wie mein FTP abgesichert ist steht ein Post über dem. + Multi-Zitat Zitieren
#8 30. Juli 2008 AW: PHP Seite? und wie sieht die check_user-Funktion aus? Ich schätze mal, dein 'Freund' hat ne "SQL-Injection" entdeckt. Also einfach mal ' o.ä. als Loginname eingegeben und deine check_user-Funktion wird das nich escapen. Deswegen gibts nen Mysql-Error. Und mehr kann er nich machen, weil ers nich blickt ^^ Und das angebliche Programm wird halt irgendein Tool sein, was mögliche Kombinationen von den ' mit anderen Zeichen durchprobiert. Aber wie gesagt, ohne die chek_user funktion können wir nix weiter sagen + Multi-Zitat Zitieren
#9 31. Juli 2008 AW: PHP Seite? Also ich glaube er hat auf meiner Seite nichts gefunden! So hat er es mir gesagt, er meinte, dass er jetzt dieses Tool benutzen wird, die eine bekannte Sicherheitslücke kennt, ob es jedoch bei mir klappen wird weiß er nicht ?( Aber zur Sicherheit die chek_user funktion: PHP: function check_user ( $benutzer , $passwort ) { $sql = "SELECT UserId FROM benutzer WHERE UserName='" . $benutzer . "' AND UserPass=MD5('" . $passwort . "') LIMIT 1" ; $result = mysql_query ( $sql ) or die( mysql_error ()); if ( mysql_num_rows ( $result )== 1 ) { $benutzer = mysql_fetch_assoc ( $result ); return $user [ 'benutzer' ]; } else return false ; } P.S. Danke für eure Antworten, ich lass mich mal überraschen. 8o BWs sind raus. + Multi-Zitat Zitieren
#10 31. Juli 2008 AW: PHP Seite? naja, bei der Funktion wird aber nichts escapt, bevor es zur DB geht + Multi-Zitat Zitieren
#11 31. Juli 2008 AW: PHP Seite? naja, 1. bei ohost is das os unix und dahinter sitzen a paar fähige server-admins. löschen kann er da nix, es sei denn er findet das ftp-passwort raus, oder findet ne sicherheitslücke im php-script wo er eigene php-scripte oder shell's ausführen kann. da aber ned einmal die funktion "exec", oder "shell_exec" vorkommt wird er letzeres nicht ohne weiteres können. 2. da es sich wie gesagt um ein unix-system handelt kann er mit ner .bat sehr viel unheil anrichten!!!! 3. zu guterletzt setzt ohost die magic-quotes und weil ich kein urldecode sehe wird er auch nicht injecten können. mfg. + Multi-Zitat Zitieren
#12 31. Juli 2008 AW: PHP Seite? OK, danke werde ich machen! Bzw. wenn ich es nicht mache, ist das schlimm? Nochmal vielen Dank, das beruhigt mich sehr. .bat (Windows gewöhnt )habe ich falsch interpretiert, wahrscheinlich meint er eine .sh aber so oder so sollte er nicht reinkommen können, zu mindestens hoffe ich das. + Multi-Zitat Zitieren
#13 31. Juli 2008 AW: PHP Seite? hallo Kirill, was zur sicherheit kann ich dir leider nichts sagen. finde das thema jedoch interessant. würde gerne wissen wie es ausgeht und hoffe, das du die infos weitergibst. danke + Multi-Zitat Zitieren
#14 1. August 2008 AW: PHP Seite? OK, werde ich machen, hoffe das es für mich gut ausgeht. Ansonsten wenn es klappt, das er reinkommt, sagt er mir wie das geht und ich schreibe es hier rein. + Multi-Zitat Zitieren
#15 1. August 2008 AW: PHP Seite? hast du die seite irgendwo gehostet, dass man sich sie selbst mal anschauen kann? wenn ja, dann kannste ja mal per PM schicken und ich sag dir, ob da was geht greetZ edit: hab jetzt den quellcode der check_user funktion gesehen... und gelesen dass es auf ohost irgendwo gehostet ist! wie schon gesagt ne injection wäre möglich, wenn ohost nicht Magic QUotes aktiviert hätte... man hätte dann vllt mit admin' or '1'='1'/*-- injecten können, wobei das auch nicht zwangsäufig sein muss. $password ist egal, da das ja eh - jedenfalls in der funktion - mit md5 verschlüsselt wird. kA ob das der ganze quellcode ist - vermutlich nicht... aber ansonsten müsste er schon ne andere lücke gefunden haben, sowas wie php command execute oder rfi/lfi wobei hab ich jetzt nur den allerersten quelltext schnell überflogen habe und mir nicht sicher bin, ob seite.html aufgerufen wird, wenn der login gestimmt hat... wenn ja, könnte er einfach in browser.html eingeben und wäre dann durch den login... müsste man halt testen wie gesagt link@pm + kompletten quelltext + Multi-Zitat Zitieren