[PHP] inlogscript dat gebruik maak van /etc/shadow ?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste WHT'ers,

Ik zou het handig vinden als users op een server kunnen inloggen op een beveiligd deel van een website met dezelfde username/password die ze gebruiken in directadmin.

1. Is het mogelijk een inlogscript te maken die de users/passwords van unix gebruikt?
2. Is het redelijk veilig?
3. Bestaat er al een script als dit? Google hielp me hier niet mee.

Alvast bedankt voor jullie hulp!

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

  1. Ja, dat is waarschijnlijk wel mogelijk. Je zal dan alleen moeten uitzoeken welk hash- of encryptiealgoritme UNIX-systemen gebruiken, en deze encryptie zelf in moeten bouwen in je eigen script. Vervolgens zul je de encrypted strings met elkaar moeten vergelijken. Hoe dat moet weet ik verder ook niet. :)
  2. Als je het eenmaal geïmplementeerd hebt zonder beveiligingslekken is het net zo veilig als elk ander systeem.
  3. Aan dit soort vragen doen we hier niet. In Programming programmeren we zelf. Ben je hiertoe niet bereid, dan gaat je topic naar alle waarschijnlijkheid niet lang open blijven.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

De makkelijkste manier is waarschijnlijk met een PAM module, als die er is.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
-NMe- schreef op zaterdag 08 april 2006 @ 13:47:
  1. Ja, dat is waarschijnlijk wel mogelijk. Je zal dan alleen moeten uitzoeken welk hash- of encryptiealgoritme UNIX-systemen gebruiken, en deze encryptie zelf in moeten bouwen in je eigen script. Vervolgens zul je de encrypted strings met elkaar moeten vergelijken. Hoe dat moet weet ik verder ook niet. :)
  2. Als je het eenmaal geïmplementeerd hebt zonder beveiligingslekken is het net zo veilig als elk ander systeem.
  3. Aan dit soort vragen doen we hier niet. In Programming programmeren we zelf. Ben je hiertoe niet bereid, dan gaat je topic naar alle waarschijnlijkheid niet lang open blijven.
Bedankt voor je antwoord.
Ik ben al een tijdje bezig geweest met het uitzoeken van de encryptie die mn server uitvoert, maar het lukt me niet deze te achterhalen.

Hier een regel uit shadow:
bla:$1$0tOwIGnF$9yz0JHNIROusvytTVwcqz1:13246:0:99999:7:::

user is bla en ww = test1234

Wat ik wilde doen is 3x per dag een cron laten uitvoeren die shadow kopieert naar een map waar ik met php bij kan komen (bv /home/bla/). Vervolgens lees ik dan php het bestandje uit en zet het in een database. Dit is allemaal makkelijk te doen. Eigenlijk heb ik alleen nog de manier waarop mn systeem de wachtwoorden encryped nodig, en dan ben ik er.

Acties:
  • 0 Henk 'm!

  • 3V3RT
  • Registratie: Januari 2004
  • Laatst online: 16-08 22:30
zijn unix wachtwoorden niet salted?. Waarschijnlijk is het dan erg moeilijk om een identieke hash te bouwen

Acties:
  • 0 Henk 'm!

  • Shadowman
  • Registratie: Januari 2002
  • Niet online
Je hebt functies zoals popen, hiermee kun je een commando uitvoeren, zoals su.

Kun je de controle van password/username niet gewoon aan su overlaten, is denk ik ietsjes beter/makkelijker dan zelf die wachtwoorden willen controleren met php. (/etc/shadow is niet voor niets buiten de include-path van php en ook niet voor niets niet leesbaar voor gewone users (tenminste, hier dan) ). (En vergeet dan niet deze functie: escapeshellcmd())

@3V3RT: het salt wordt op 1 of andere manier in het wachtwoord verwerkt, ik vermoed dat in bovenstaand voorbeeld $1$0tOwIGnF$ het salt is.

PHP:
1
echo crypt("test1234", "$1$0tOwIGnF$");

==
$1$0tOwIGnF$9yz0JHNIROusvytTVwcqz1

Acties:
  • 0 Henk 'm!

  • knopper
  • Registratie: September 2001
  • Laatst online: 07-09 23:05

knopper

Sander Knopper

Kijk anders eens naar libnss-mysql, hiermee kun je gebruikersaccounts in een database opslaan zodat je er wat makkelijker mee kunt werken. Zelfde principe is ook mogelijk met LDAP en andere databases.

url: http://libnss-mysql.sourceforge.net

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb het met deze oplossing opgelost:

CMD_API_LOGIN_TEST http://www.directadmin.com/features.php?id=530
En dit script om te comminuceren:
http://www.directadmin.com/forum/showthread.php?threadid=258

Erg makkelijk en werkt perfect :)
Pagina: 1