Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[SALT/encryption] Hoe wachtwoord maken met SALT e.d.

Pagina: 1
Acties:

  • JT
  • Registratie: November 2000
  • Laatst online: 22:07

JT

VETAK y0

Topicstarter
Het zit als volgt. Ik heb voor mezelf een webapp geinstalleerd. Nu ben ik het wachtwoord kwijt. Geen mailer geconfigureerd (dat overkomt me dus nooit meer). Aangezien het mijn hosting is kan ik verder overal bij. Ik kan in de DB en ik kan bij de PHP files. Ik heb nu het volgende:
• De SALT zelf (zeg "Aa1!" voor voorbeelden e.d.)
• Hoe de hash gemaakt wordt met de SALT:
code:
1
2
3
4
5
6
7
8
9
10
11
12
/**
         * Take a raw password and convert it to the hashed format
         * 
         * @param string $password
         * 
         * @return hashed password
         */
        public static function hashPassword($password, $salt = null)
        {
            $salt = ($salt !== null) ? $salt : TBGSettings::getPasswordSalt();
            return crypt($password, 'YYYYYY'.$salt.'$');
        }

Ik heb de waarde van het genereren van een wachtwoord veranderd in YYYYYY.
• Ik weet dat de codering SHA1 is
• De username
• Ik kan het wachtwoord (de hash) in de DB vinden en aanpassen

Nu vraag ik mij alleen af, hoe kan ik nu zelf een nieuw wachtwoord hieruit genereren die ik handmatig in de database kan zetten? Ik snap dat YYYYYY sowieso voor de hash komt, maar veel verder kom ik niet. Ik ben geen programmeur, maar ik pruts wel eens in php bestanden en weet wel een beetje wat een method is e.d. Wie kan mij helpen?

3600wp@115° oost | 825wp panels/750wp inv@13°/115° oost | 1475wp panels/1250wp inv@27°/205° graden zuid
Ecodan warmtepomp
Repo's: HA-Solar-control | HA-heatpump-planning | NR-HueTapDial-NextLevel


  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 23:34

Onbekend

...

Je zou zelf dus een stukje php-code moeten maken die deze functie aanroept.
Vervolgens gebruik je ECHO om het wachtwoord weer te geven.

Speel ook Balls Connect en Repeat


  • JT
  • Registratie: November 2000
  • Laatst online: 22:07

JT

VETAK y0

Topicstarter
Dat kan ik dus helaas niet. Kan ik vanuit de tweede instantie de salt naar de eerste instantie kopieren in de database en vervolgens een user overzetten inc dat wachtwoord? Dan zou ik dus YYYYYY, Aa1! en de user inc wachtwoord hash moeten overzetten.

3600wp@115° oost | 825wp panels/750wp inv@13°/115° oost | 1475wp panels/1250wp inv@27°/205° graden zuid
Ecodan warmtepomp
Repo's: HA-Solar-control | HA-heatpump-planning | NR-HueTapDial-NextLevel


  • HenkEisDS
  • Registratie: Maart 2004
  • Laatst online: 23-11 15:23
En als je nou eens een nieuwe user aanmaakt en de hash van dit wachtwoord vervolgens over je andere hash heen plakt?

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
HenkEisDS schreef op woensdag 05 december 2012 @ 17:58:
En als je nou eens een nieuwe user aanmaakt en de hash van dit wachtwoord vervolgens over je andere hash heen plakt?
Of variant hierop : Installeer de webapp in een wamp / xamp op dezelfde wijze en met dezelfde username en kopieer die ww-hash dan in de dbase

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Of verander even (tijdelijk) de functie/query die de user ophaalt/verifieert en return true/de user ongeacht 't wachtwoord. Moeilijk doen als 't makkelijk kan ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
RobIII schreef op woensdag 05 december 2012 @ 22:27:
Of verander even (tijdelijk) de functie/query die de user ophaalt/verifieert en return true/de user ongeacht 't wachtwoord. Moeilijk doen als 't makkelijk kan ;)
:)

Ff kijken, of wamp/xamp installeren inclusief de webapp of de hele source doorlopen van een niet zelfgemaakt project in de hoop dat het maar netjes is opgebouwd. Ik weet waarvoor ik zou kiezen...

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10 08:18
Gomez12 schreef op woensdag 05 december 2012 @ 22:45:
[...]

:)

Ff kijken, of wamp/xamp installeren inclusief de webapp of de hele source doorlopen van een niet zelfgemaakt project in de hoop dat het maar netjes is opgebouwd. Ik weet waarvoor ik zou kiezen...
wie weet leer je nog wat van de ander z'n code ;)

This message was sent on 100% recyclable electrons.


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
BasieP schreef op woensdag 05 december 2012 @ 23:04:
[...]

wie weet leer je nog wat van de ander z'n code ;)
Hmm, staat niet gespecificeerd welke / wat voor webapp het is. Enkel dat het in php is.

Even denken, 99% van de php-code vrij op het internet te downloaden vind ik prut en wil ik niks van leren ;)

Grosso modo, zonder verdere info denk ik toch dat ik ervoor bedank om van willekeurige php-code wat te leren

  • JT
  • Registratie: November 2000
  • Laatst online: 22:07

JT

VETAK y0

Topicstarter
RobIII schreef op woensdag 05 december 2012 @ 22:27:
Of verander even (tijdelijk) de functie/query die de user ophaalt/verifieert en return true/de user ongeacht 't wachtwoord. Moeilijk doen als 't makkelijk kan ;)
Dat gaat mij dus niet lukken :P
Gomez12 schreef op woensdag 05 december 2012 @ 23:15:
[...]

Hmm, staat niet gespecificeerd welke / wat voor webapp het is. Enkel dat het in php is.

Even denken, 99% van de php-code vrij op het internet te downloaden vind ik prut en wil ik niks van leren ;)

Grosso modo, zonder verdere info denk ik toch dat ik ervoor bedank om van willekeurige php-code wat te leren
Het gaat om The Bug Genie 3.2.3. Ik heb door de code gekeken en ik vind (maar ik ben een php-n00b) het er netjes uitzien.

3600wp@115° oost | 825wp panels/750wp inv@13°/115° oost | 1475wp panels/1250wp inv@27°/205° graden zuid
Ecodan warmtepomp
Repo's: HA-Solar-control | HA-heatpump-planning | NR-HueTapDial-NextLevel


  • epic007
  • Registratie: Februari 2004
  • Laatst online: 17-11 15:31
Kan je niet hier een hash genereren en die in je DB plaatsen?

  • johnwoo
  • Registratie: Oktober 1999
  • Laatst online: 20-11 20:08

johnwoo

3S-GTE

Weet je zeker dat er een SHA1 hash gemaakt wordt? Dan zou je namelijk sha1() verwachten ipv crypt().

Zitten er in de tekst van de salt (die je hebt vervangen door YYYYY) toevallig dollartekens? Dan bepalen die welk algoritme er precies gebruikt wordt:
$1$ voor MD5
$5$ voor SHA256 (SHA2)
$6$ voor SHA512 (SHA2)
$2a$ / $2x$ / $2y$ voor Eksblowfish

Een crypt-compatible hash voor het wachtwoord 123456 met Eksblowfish is: $2a$12$BDUuyU2UoHxg2GUioOksW.l1WcCaQzWm57XnlfD/ht.4fEhag9tiq

Als je die in je database zet zou je met wachtwoord 123456 moeten kunnen inloggen. Crypt wordt namelijk niet alleen voor het genereren van de wachtwoord+salt hash gebruikt, maar ook voor de verificatie. Daarbij detecteert crypt automatisch aan de hand van de opgegeven hash welk algoritme er is gebruikt, dus ook al zit er standaard geen Eksblowfish hash in, als je die er handmatig in zet moet 'ie ook werken. Enige punt van aandacht is dat zo'n Eksblowfish hash 60 karakters in je databasekolom nodig heeft; is je wachtwoord-veld korter dan moet je een simpeler algoritme gebruiken (desnoods MD5 - wanneer je weer kunt inloggen en je wachtwoord wijzigt, pakt je software toch wel weer z'n eigen algoritme).

4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
johnwoo schreef op donderdag 06 december 2012 @ 13:21:
Weet je zeker dat er een SHA1 hash gemaakt wordt? Dan zou je namelijk sha1() verwachten ipv crypt().

Zitten er in de tekst van de salt (die je hebt vervangen door YYYYY) toevallig dollartekens? Dan bepalen die welk algoritme er precies gebruikt wordt:
$1$ voor MD5
$5$ voor SHA256 (SHA2)
$6$ voor SHA512 (SHA2)
$2a$ / $2x$ / $2y$ voor Eksblowfish
https://github.com/thebug...es/TBGUser.class.php#L403
PHP:
1
2
3
4
5
public static function hashPassword($password, $salt = null)
{
    $salt = ($salt !== null) ? $salt : TBGSettings::getPasswordSalt();
    return crypt($password, '$2a$07$'.$salt.'$');
}

:Y)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 21:50
Maar ze gebruiken dus niet een per-user-salt, maar een site-wide-salt? Dan heb je dus je salt al in je je wachtwoord staan en kan je met crypt gewoon even een nieuw wachtwoord maken met dezelfde salt als je huidige wachtwoord.

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 10-10 08:02
Barryvdh schreef op donderdag 06 december 2012 @ 14:11:
Maar ze gebruiken dus niet een per-user-salt, maar een site-wide-salt? Dan heb je dus je salt al in je je wachtwoord staan en kan je met crypt gewoon even een nieuw wachtwoord maken met dezelfde salt als je huidige wachtwoord.
Lees eens goed, tweede parameter is de salt, dus een per person salt kan wel maar is niet verplicht.

Driving a cadillac in a fool's parade.


  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 21:50
kwaakvaak_v2 schreef op vrijdag 07 december 2012 @ 08:58:
[...]
Lees eens goed, tweede parameter is de salt, dus een per person salt kan wel maar is niet verplicht.
Nouja, zo te zien wordt hij verder in de code vooral zonder extra parameter aangeroepen (om een nieuw ww te maken, of in te loggen), alleen voor de legacy code wordt de salt SHA1 gehashed met het wachtwoord.
Pagina: 1