Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: IP-abhängiger Programmcode

0 views
Skip to first unread message
Message has been deleted

Torsten Zühlsdorff

unread,
Jul 2, 2009, 3:50:12 AM7/2/09
to
Klaus Ketelaer schrieb:
> ich bin auf eine Idee gekommen, wie ich Code in meinen Seiten
> ausf�hren kann, der nur mir als Admin zur Verf�gung steht.
>
> Als Anf�nger frage ich mich nun, wie sicher diese L�sung ist:
>
> $home = gethostbyname("subdomain.dyndns.org");
> $host = $_SERVER['REMOTE_ADDR'];
>
> if ($home == $host) {
> $admin = true;
> }
>
> if ($admin == true) {
> ...
> }
>
> Was meint ihr?

Keine gute Idee. Dies lie�e sich relativ leicht umgehen. Eine
M�glichkeit ist z.b. IP Spoofing:
http://de.wikipedia.org/wiki/IP-Spoofing

Gru�,
Torsten

Ray Banana

unread,
Jul 2, 2009, 4:42:02 AM7/2/09
to
Also sprach Torsten Zᅵhlsdorff <f...@meisterderspiele.de>


> Klaus Ketelaer schrieb:
>> ich bin auf eine Idee gekommen, wie ich Code in meinen Seiten
>> ausfᅵhren kann, der nur mir als Admin zur Verfᅵgung steht.
>> Als Anfᅵnger frage ich mich nun, wie sicher diese Lᅵsung ist:

>> $home = gethostbyname("subdomain.dyndns.org");
>> $host = $_SERVER['REMOTE_ADDR'];
>> if ($home == $host) {
>> $admin = true;
>> }
>> if ($admin == true) {
>> ...
>> }
>> Was meint ihr?
> Keine gute Idee. Dies lieᅵe sich relativ leicht umgehen. Eine
> Mᅵglichkeit ist z.b. IP Spoofing:
> http://de.wikipedia.org/wiki/IP-Spoofing

Bei DynDNS braucht es nicht einmal Spoofing, sondern lediglich
eine Verzᅵgerung beim Update des DynDNS-Nameservers nach einem
Wechsel der IP-Adresse. Die Chance, dass der aktuelle Inhaber
der veralteten dynamischen Adresse in diesem Zeitfenster genau
diesen Webserver kontaktiert, ist zwar minimal, dafᅵr hat der
"Admin" dieses Servers gute Chancen, sich selbst auszusperren.

--
Time flies like an arrow, fruit flies like a Banana.
http://www.eternal-september.org

Message has been deleted
Message has been deleted
Message has been deleted

Stefan Dreyer

unread,
Jul 2, 2009, 6:48:28 AM7/2/09
to
> $home = gethostbyname("subdomain.dyndns.org");
> $host = $_SERVER['REMOTE_ADDR'];
>
> if ($home == $host) {
> $admin = true;
> }
>
> if ($admin == true) {
> ...
> }
>
> Was meint ihr?

Die L�sung ist suboptimal, da bei jedem Seiten-/Programmaufruf erst ein
DNS-Lookup gemacht werden muss. Bei stark besuchten Seiten kann das ganz
sch�n blockieren, zumal dyndns.org wegen der kurzen TTL kaum vom
DNS-Server gecached werden kann.

Wenn Du es vern�nftig machen willst, w�re es besser, wenn Du eine
Authentifizierung machst und dar�ber dann Deine Adminrechte steuerst.

Torsten Zühlsdorff

unread,
Jul 2, 2009, 7:00:28 AM7/2/09
to
Klaus Ketelaer schrieb:

>>> Als Anf�nger frage ich mich nun, wie sicher diese L�sung ist:
>>>
>>> $home = gethostbyname("subdomain.dyndns.org");
>>> $host = $_SERVER['REMOTE_ADDR'];
>>>
>>> if ($home == $host) {
>>> $admin = true;
>>> }
>>>
>>> if ($admin == true) {
>>> ...
>>> }
>>>
>>> Was meint ihr?
>> Keine gute Idee. Dies lie�e sich relativ leicht umgehen. Eine
>> M�glichkeit ist z.b. IP Spoofing:
>> http://de.wikipedia.org/wiki/IP-Spoofing
>

> OK, er kann mir gef�lschte Pakete schicken. Aber woher weiss er,
> wie meine tempor�re IP-Adresse lautet, wenn er den Dyndns-Account
> nicht kennt?

Jetzt wei� ich nicht, ob ich dich auf "Security By Obskurity", "Man in
the Middle", "Sniffing", "Social Engineering", "Brute Force" oder etwas
ganz anderes verweisen soll...

Gru�,
Torsten

Message has been deleted

Matthias P. Wuerfl

unread,
Jul 2, 2009, 7:25:02 AM7/2/09
to
Torsten Z�hlsdorff schrieb:

>> $home = gethostbyname("subdomain.dyndns.org");
>> $host = $_SERVER['REMOTE_ADDR'];
>>
>> if ($home == $host) {
>> $admin = true;
>> }

> Keine gute Idee. Dies lie�e sich relativ leicht umgehen. Eine

> M�glichkeit ist z.b. IP Spoofing:
> http://de.wikipedia.org/wiki/IP-Spoofing

Hm. Wie soll das bei TCP gehen? Es geht doch um http, oder? Dazu braucht
man eine TCP-Verbindung. Die wird mittels eines Handshake hergestellt,
bei dem Pakete an die genannte IP geschickt werden. Man m�sste zumindest
die Sequenznummern erraten und das halte ich f�r einen recht aufw�ndigen
Angriff. Also da w�rde ich mir normalerweise keine Gedanken drum machen.
Auf die Sache mit dem dyndns schon eher, halte f�r den "normalen
Hausgebrauch" aber auch f�r untragisch, denn wenn man schaut, was da f�r
Zuf�lle zusammenkommen m�ssen, damit die Sicherheitsl�cke ausgenutzt
werden kann, dann ist die Wahrscheinlichkeit schon *sehr* gering.

Was ist eigentlich mit Browserzertifikaten? Hat damit schon mal jemand
gespielt? Ich wollte das schon immer mal machen, bin aber nie dazu
gekommen....

Gr��e, Matthias

Matthias P. Wuerfl

unread,
Jul 2, 2009, 7:27:38 AM7/2/09
to
Klaus Ketelaer schrieb:

> Aber woher weiss er,
> wie meine tempor�re IP-Adresse lautet, wenn er den Dyndns-Account
> nicht kennt?

88.78.101.195

Gr��e, Mat*Das war einfach*thias

Torsten Zühlsdorff

unread,
Jul 2, 2009, 7:34:09 AM7/2/09
to
Matthias P. Wuerfl schrieb:

> Torsten Z�hlsdorff schrieb:
>
>>> $home = gethostbyname("subdomain.dyndns.org");
>>> $host = $_SERVER['REMOTE_ADDR'];
>>>
>>> if ($home == $host) {
>>> $admin = true;
>>> }
>
>> Keine gute Idee. Dies lie�e sich relativ leicht umgehen. Eine
>> M�glichkeit ist z.b. IP Spoofing:
>> http://de.wikipedia.org/wiki/IP-Spoofing
>
> Hm. Wie soll das bei TCP gehen? Es geht doch um http, oder? Dazu braucht
> man eine TCP-Verbindung. Die wird mittels eines Handshake hergestellt,
> bei dem Pakete an die genannte IP geschickt werden. Man m�sste zumindest
> die Sequenznummern erraten und das halte ich f�r einen recht aufw�ndigen
> Angriff.

Das h�ngt von der Implementierung ab. Bei einigen Windowssystemen war
das recht einfach.

> Also da w�rde ich mir normalerweise keine Gedanken drum machen.

Ich habe ja auch noch einige Andere genannt und daher ein *z.b.* vor das
IP Spoofing gesetzt.

Gru�,
Torsten

Nicolai Scheer

unread,
Jul 2, 2009, 8:11:23 AM7/2/09
to
Hi!

Klaus Ketelaer schrieb:
> ich bin auf eine Idee gekommen, wie ich Code in meinen Seiten

> ausführen kann, der nur mir als Admin zur Verfügung steht.
>
> Als Anfänger frage ich mich nun, wie sicher diese Lösung ist:


>
> $home = gethostbyname("subdomain.dyndns.org");
> $host = $_SERVER['REMOTE_ADDR'];
>
> if ($home == $host) {
> $admin = true;
> }
>

> if ($admin == true) {
> ...
> }

Unabhängig von den Problemen auf die schon hingewiesen wurde, musst Du
Dir vor Augen halten, dass Du die Authentifizierung begrenzt auf "ich
befinde mich in Deinem Netzwerk". D.h. wenn Du über einen Router ins
Netz gehst, geniesst jeder bei Dir im Netzwerk vorhandene Host diese
Privilegien. Das ist sicher nicht in Deinem Sinne.

Und wenn Du Deine administrativen Aufgaben von unterwegs erfüllen
möchtest, bräuchtest Du sowieso noch eine zweite Möglichkeit Dich zu
authentifizieren.

Ergo: Für sowas eine Session + User + Passwort zu benutzen braucht nicht
viel mehr Codezeilen als Dein Beispiel und ist sicherer, personenbezogen
und einfacher zu handhaben.

Grüße,

Nico

Stefan Froehlich

unread,
Jul 2, 2009, 8:44:05 AM7/2/09
to
On Thu, 02 Jul 2009 13:25:02 +0200 Matthias P. Wuerfl wrote:
> [...] das halte ich für einen recht aufwändigen Angriff. Also da würde

> ich mir normalerweise keine Gedanken drum machen.

Stimmt. Ich halte die hier gebrachten Gegenargumente auch fuer zwar
gueltig, aber wenig praxisrelevant. Wenn jemand so wichtig ist, dass
sich IP-Spoofing lohnt, dann bewegt er sich schon laengst auf einer ganz
anderen Ebene, als bei derartigen Abfragen.

Insgesamt kann man wohl sagen: ok, es ist kein grosses Risiko, aber es
_bringt_ auch kaum etwas. Eine simple Passwortabfrage, sei es per PHP
oder per .htaccess ist auch nicht komplizierter und irgendwie deutlich
eleganter.

> Was ist eigentlich mit Browserzertifikaten? Hat damit schon mal jemand
> gespielt? Ich wollte das schon immer mal machen, bin aber nie dazu
> gekommen....

Ja, habe ich. Geht im Prinzip soweit auch ganz gut, aber wenn man dann
doch einmal ungeplant von woanders aus ins Netz muss, ist das eklig. Und
ebenso umstaendlich ist es, wenn man von daheim einmal ausprobieren
moechte, wie andere Leute die Seite sehen...

Servus,
Stefan

--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich

Geht nicht!? Gibt's nicht! Stefan.
(Sloganizer)

Message has been deleted
0 new messages