myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   PHP Sicherheit (SQL Injection, XSS, CSRF, ...) (https://mygully.com/showthread.php?t=2038838)

jettset 06.05.10 15:46

PHP Sicherheit (SQL Injection, XSS, CSRF, ...)
 
Das Leben ist unfair.

Sascha_K1994 07.05.10 23:37

1)
SQL Injection ist folgendes...

Hier mal ein Beispiel:

Du rufst auf::
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

SQL-Abfrage lautet::
SELECT author, subject, text FROM artikel WHERE ID=42


Und wenn du eine SQL-Injunktion machst, sieht es so aus (Beispiel):

Du rufst auf::
http://webserver/cgi-bin/find.cgi?ID=42;UPDATE+USER+SET+TYPE="admin"+WHERE+ ID=23

SQL-Abfrage lautet::
SELECT author, subject, text FROM artikel WHERE ID=42; UPDATE USER SET TYPE="admin" WHERE ID=23

Das heißt, er führt die SELECT-Abfrage aus::
SELECT author, subject, text FROM artikel WHERE ID=42

Und setzt gleichzeitig den User mit der ID 23 auf Administratorrechten::
UPDATE USER SET TYPE="admin" WHERE ID=23

Und wenn man soetwas dranhängen kann, also sich zB leicht zum Administrator machen kann, redet man von SQL-Injection.

2)
CRSF heißt Cross-Site S*****ing

Mhhm wie soll ich es erklären. Wenn du einen User ein Eingabefeld zur Verfügung stellst und dieses später ausgibst (vllt. im Profil) kann der User einen JavaS*****-Befehl dranhängen, hier mal ein Beispiel::

<s*****>alert('CRSF funktioniert!')</s*****>

Wenn das ein User im Eingabefeld eingibt und das Profil besucht und eine Warnung kommt wo CRSF funktioniert drinn steht, kann er Cross-Site S*****en. Sollte aber einfach nur <s*****>alert('CRSF funktioniert!')</s*****> ausgegeben werden (also als Text) bist du gegen Cross-Site S*****ing geschützt (so wie hier auf Gully, hier wird auch NUR der Text ausgegeben).

---

Ich hoffe ich habe es dir gut erklärt.

---

Habe auch eine Community kannst ja mal guckn, habe ich selber gemacht::

URL nur per PM

ist aber noch nicht ganz fertig..!!..

dr.p.lankton 08.05.10 09:07

csrf ist nicht cross-site s*****ing vergleiche wikipedia [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] und [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

Sascha_K1994 08.05.10 10:26

Zitat:

Zitat von dr.p.lankton (Beitrag 20746668)
csrf ist nicht cross-site s*****ing vergleiche wikipedia [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] und [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

Ja entschuldigung,

habe ich wohl verwechselt.

Somit hat er aber auch eine Beschreibung für XXS

Ach ja::

Zu den Sachen mit Sorgen machen::

3) Das nächste, was mich etwas irritiert:
- er wollte die Zugangsdaten zum Control Panel (also, dort wo ich z.B. Email Accounts erstellen kann, FTP Benutzer, etc.). Sein Grund: Er wollte den PHP Parameter deaktivieren, der Informationen anzeigt, wenn es Errors gibt.
Zitat:

a) Muss ich mir Sorgen machen, dass ich ihm die Daten gegeben habe?
= Deine Entscheidung! Somit kann er deinen Server einstellen wie er will und sich Hintereingäng usw. bauen.

Zitat:

b) Kann mir einer sagen, wo man so was deaktivieren/aktivieren kann.
= Normalerweise in den Apache-Module, diese haben aber je nach Anbieter einen anderen Namen (bei mir :: Server-Einstellungen)
Dann ich dir sagen kann, wo du es ganauer machen kannst, wär interessant, bei welchen Anbieter du bist und welchen PHP Parameter er genau deaktivieren/aktivieren möchte.

Zitat:

- er wollte auch Zugangsdaten von meiner Email Adresse. Der Grund:
I need it because the code needs to enter the email box to send the email of the contact form. (Deutsch: er braucht es, weil er was in der Kontakt.php was ändern wollte)

a) Muss ich mir auch hierbei Sorgen machen?
= Hier würde ich mir sorgen machen. Um das Senden einer Mail aus einem php-Dokument braucht er normalerweise keine Zugangsdaten zum E-Mailaccount.
Das einzigste, was vielleicht ein bisschen in Frage kommt ist, dass er die E-Mailadresse für den header braucht. Aber da muss er (normalerweise) auch nur die E-Mailadresse angeben, ohne Zugangsdaten.

err0r1337 08.05.10 13:46

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]
Da was zum thema cross site s*****ing

jettset 08.05.10 17:10

Das Leben ist unfair.

Sascha_K1994 08.05.10 19:27

Zitat:

Zitat von jettset (Beitrag 20748012)
Zu deiner Anfrage: hier mal upgeloaded, wie mein Server so aussieht:

http://www.bildercache.de/bild/20100508-180903-245.jpg

Ich habe auch alle Passwörter (Email, Control Panel, MyPHPAdmin, Admin) nach Projektende geändert. Ich fand es auch komisch. Eventuell war er neugierig. Keine Ahnung warum.

Ja, meins sieht ganauso aus, nur nennt sich CONFIX!°!

Aber die Server-Einstellungen meine ich andere.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:32 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.