Password_hash uitlezen!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Java Front-end Developer

Dit ga je doen Ontwikkelen van nieuwe functionaliteiten in Java met tools als Springboot, MS SQL Server (T-SQL) en JavaScript; Het onderhouden van de (web-)applicaties binnen een complexe omgeving; Werken aan de migratie van een monolithisch systeem naar een architectuur gebaseerd op Kubernetes; Code reviews met collega's en actieve kennisuitdelingsessies voeren; Het uitvoeren van unit- en systeemtests Experimenteren met nieuwe tools en technieken. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen

Bekijk vacature »

.NET developer

Functie Voor jou als junior .NET ontwikkelaar staat er een flinke uitdaging klaar bij dit bedrijf waar jij veel van kan gaan leren. Zo willen zij een flinke uitbreiding doen op het webbased gedeelte dat zij nu hebben en willen zij het standaard deel gaan moderniseren. Jouw team is dan ook op zoek naar een junior .NET ontwikkelaar die het leuk vindt om op basis van research en development aan de slag te gaan. Jouw mening telt mee als het gaat om hoe en met wat deze applicaties gebouwd en herschreven gaan worden. Jouw functie bij dit bedrijf gaat dan

Bekijk vacature »

.NET developer

Functie Als .NET developer werk jij samen in een multidisciplinair ontwikkel team met 1-2 Senior .NET developers, twee front-end developers, Data Scientists en één UX designer. Als team werken jullie aan het ontwikkelen van een Cloud based applicatie en aan het stabieler maken van deze applicatie. Ook unit testing gaat erg belangrijk worden in jouw nieuwe functie. Samen met de Senior .NET ontwikkelaar wordt jij verantwoordelijk voor het ontwikkelen van de API. Jullie werken met veel data en incidenteel komen er ook data vraagstukken en zullen er wat queries gedraaid moeten worden. Dit betekend dat jij veel gaat werken met

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP Developer ga jij aan de slag met uitdagende software projecten. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Deze software bouw je vooral in PHP en specifiek Laravel. Dit framework kent dus geen geheimen voor jou. De software die jij gaat ontwikkelen is heel divers, van urenregistratiesystemen tot compleet geautomatiseerde tools. In deze veelzijdige functie ga jij je zeker niet vervelen, elke dag bestaat weer uit nieuwe uitdagingen. Bedrijfsprofiel Deze

Bekijk vacature »

Medior Front-end Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Medior Front-end Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

Back-end Developer

Functieomschrijving Voor een erkende werkgever in de regio van Middelburg zijn wij op zoek naar een enthousiaste PHP / Symfony Developer. Een ambitieus persoon die het gemotiveerde development team komt versterken met het realiseren van nieuwe en complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor professionele groei? Dit ga je doen: Je bent verantwoordelijk voor de beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

C# .NET developer voor innovatieve applicaties gez

Bedrijfsomschrijving Deze werkgever houdt zich al ruim 20 jaar bezig met het ontwikkelen van innovatieve software en dat willen ze graag nog lang doorzetten. En dat merk je ook als je als .NET developer hier aan de slag gaat. De applicaties worden continu doorontwikkeld met altijd als uitgangspunt dat zowel de kwaliteit als het gebruikersgemak van hoog niveau is. Het bedrijf telt inmiddels ruim 25 medewerkers waarvan meer dan de helft op de development afdeling werken. Meer weten over deze werkgever? Mail naar [email protected] of bel 0657578548 Functieomschrijving Je komt te werken in een Scrum team met andere .NET developers

Bekijk vacature »

Microsoft Acess Developer

Functieomschrijving Wat ga je doen? Heb jij ongeveer 3 jaar ervaring als Software Developer, en komen de volgende kennisgebieden jou niet vreemd voor: MS Acces, C# & SQL? Vind jij het daarnaast leuk om maatwerk software te ontwikkelen voor klanten in een bijzondere branche? Lees dan snel verder! Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te

Bekijk vacature »

Ervaren PHP Software Developer

Functieomschrijving Voor een toffe opdrachtgever in regio Breda zijn wij op zoek naar een medior PHP Developer met affiniteit met Laravel. Je komt te werken bij een uitdagende opdrachtgever met supergave klanten in een specifieke branche. Als PHP ontwikkelaar ben je samen met een vooruitstrevende team van 6 collega’s verantwoordelijk voor de ontwikkeling, beheer en het vernieuwen van informatiesystemen voor een specifieke branche. Je ondersteunt complexe uitdagingen van klanten. Vervolgens breng je hun wensen in kaart en vertaalt deze door naar maatwerk software. Affiniteit met Laravel is een pré. Om de klanten zo goed mogelijk te ondersteunen en snel in

Bekijk vacature »

C# Unity Developer

Functieomschrijving Ontwikkel jij mee door applicaties te bouwen die bijdragen aan het optimaliseren van processen? Voor een erkende werkgever in regio Tilburg zijn wij op zoek naar een Unity C# Developer die graag de uitdaging aangaat! Jouw werkzaamheden zullen er als volgt uitzien: Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Je bent verantwoordelijk voor het uitvoeren van updates/aanpassingen aan de reeds draaiende applicaties. Bedrijfsprofiel Je komt te werken voor een internationale werkgever in regio Tilburg. Samen met een vooruitstrevend team

Bekijk vacature »

Junior .NET Developer

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Ontwikkelen van herbruikbare componenten; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als junior .NET Developer kom je terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als junior .NET Developer werk je aan het ontwikkelen van verbeterde

Bekijk vacature »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

.NET Developer

Functieomschrijving Ben jij klaar voor de volgende stap in jouw carrière? Kom werken bij dit kleine softwarebureau en werk aan de gaafste maatwerk projecten. Je komt te werken in een klein development team en werk nauw samen met elkaar, om maatwerk software te leveren en bij te dragen aan bedrijfsautomatiseringen. Je gaat werken met de Microsoft stack en technieken als .NET, C#, Entity, MVC, SQL server. In de functie krijg je veel vrijheid om zelf beslissingen te nemen en je hebt impact op de bedrijfsprocessen. Bedrijfsprofiel Dit familiebedrijf bestaat al ruim 20 jaar. Zij hebben een vast netwerk van klanten,

Bekijk vacature »

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Pagina: « vorige 1 2

Toms Diner

Toms Diner

27/10/2017 22:59:57
Quote Anchor link
Willem vp op 27/10/2017 18:20:58:
Toms Diner op 26/10/2017 23:09:45:

Toch heb ik in custom code voor de zorgsector er bewust voor gekozen om een variabele salt te kiezen. Bij elke user is wel een tweede var te vinden die nooit meer wijzigt, maar wel per persoon verschillend is. Denk aan usernumber, username, UTS of registration, enzovoort. Dit was de salt,

Toegegeven, het is beter dan niets, maar het is nog steeds suboptimaal. Het beste is om elke keer dat een gebruiker zijn wachtwoord wijzigt een volledig willekeurige string te genereren en die als salt te gebruiken. In de oplossing die je nu hebt gekozen wijzigt de salt niet als de gebruiker zijn wachtwoord wijzigt, en ook dat is een zwak punt.

Ik bewaar geen oude wachtwoorden (de 90 dagen geldt hier kennelijk niet), dus er is telkens maar 1 hash waarvoor deze salt geldt. Dit risico lijkt mij acceptabel, mede ook omdat de genoemde salting niet gedocumenteerd is. Zeg maar een dat alles in één ongedocumenteerde functie gebeurt, die ook even een per gebruiker statische var binnenhaalt. Een random salt per gebruiker zal ik ook ergens op moeten slaan, wat misschien meer opvalt.

En hash collisions spelen toch niet zozeer bij passwords als wel bij zaken als certificaten? Het risico dat iemand wachtwoord geraden kan worden omdat !(@&dh87 dezelfde hash oplevert als &!sdg981-0 is nauwelijks interessant. Wel als ik een fake certificaat voor echt door kan laten gaan...
 
PHP hulp

PHP hulp

03/06/2024 01:32:06
 
Willem vp

Willem vp

28/10/2017 02:00:18
Quote Anchor link
Toms Diner op 27/10/2017 22:59:57:
Ik bewaar geen oude wachtwoorden (de 90 dagen geldt hier kennelijk niet), dus er is telkens maar 1 hash waarvoor deze salt geldt. Dit risico lijkt mij acceptabel, mede ook omdat de genoemde salting niet gedocumenteerd is. Zeg maar een dat alles in één ongedocumenteerde functie gebeurt, die ook even een per gebruiker statische var binnenhaalt. Een random salt per gebruiker zal ik ook ergens op moeten slaan, wat misschien meer opvalt.

Ga er niet vanuit dat je veiliger bent omdat er het een en ander niet is gedocumenteerd. Al meer dan 150 jaar geleden is de vloer grondig aangeveegd met het fenomeen 'security by obscurity'. Om die reden hoeft een salt ook helemaal niet geheim te zijn. Een algoritme als bcrypt slaat de salt zelfs op in de hash, zodat je daar geen extra veld voor hoeft aan te maken in je database.

Het idee achter een salt is dat het niet loont om een rainbow table te maken, omdat de salt steeds wijzigt. Als je voor elke gebruiker dezelfde salt gebruikt, zaag je voor een deel de poten onder dat principe weg. Er kan dan in ieder geval per gebruiker een rainbow table worden aangemaakt.

Ga bij beveiliging altijd uit van voor jou ongemakkelijke scenario's: iemand is ongemerkt je systeem binnengedrongen en zit al een tijdje mee te kijken. Hij heeft toegang tot je database en je sourcecode en kan op zijn gemak uitzoeken van welke gebruiker het interessant is een wachtwoord te weten. Als hij in je sourcecode -ook al is die ongedocumenteerd; zal hem boeien- ziet dat je per gebruiker altijd dezelfde salt gebruikt, kan hij op zijn gemak een rainbow table laten genereren. Met een beetje geluk wijzigt de betreffende gebruiker een paar dagen later zijn wachtwoord naar iets waarvoor in de tabel al een hash is gegenereerd.

Quote:
En hash collisions spelen toch niet zozeer bij passwords als wel bij zaken als certificaten? Het risico dat iemand wachtwoord geraden kan worden omdat !(@&dh87 dezelfde hash oplevert als &!sdg981-0 is nauwelijks interessant. Wel als ik een fake certificaat voor echt door kan laten gaan...

Ach, als je op die manier het wachtwoord van een gebruiker met veel rechten kunt achterhalen... Dan kun je certificaatjes aanmaken zoveel je wilt. ;-) En wellicht in de database hier en daar een bankrekeningnummer veranderen in dat van je katvanger. De mogelijkheden zijn oneindig. Een certificaat is niet meer dan dat. User accounts zijn veel interessanter.
 
Toms Diner

Toms Diner

28/10/2017 23:15:25
Quote Anchor link
Willem vp op 28/10/2017 02:00:18:
Toms Diner op 27/10/2017 22:59:57:
Ach, als je op die manier het wachtwoord van een gebruiker met veel rechten kunt achterhalen... Dan kun je certificaatjes aanmaken zoveel je wilt. ;-) En wellicht in de database hier en daar een bankrekeningnummer veranderen in dat van je katvanger. De mogelijkheden zijn oneindig. Een certificaat is niet meer dan dat. User accounts zijn veel interessanter.

Met certificaten bedoel ik digital signatures, zoals bij SSL certificaten.

Zie ook wikipediawikipedia: "Digital signature schemes are often vulnerable to hash collisions"

Daarom bedoel ik dat een hash-collision voor passwords niet zo interessant is. Als ik een hash raad met "welkom567" die eigenlijk een collision is van "ditraadjenooit123", was ik gewoon bezig met het raden van wachtwoorden. Ik zal zelfs niet eens weten of het een collision is, of dat ik het echte password geraden heb. Bij digital signatures gaat het er juist om te misleiden door het gebruik van een collision. En ik gok dat de impact vele malen groter kan zijn.
 
Willem vp

Willem vp

29/10/2017 10:42:15
Quote Anchor link
Toms Diner op 28/10/2017 23:15:25:
Met certificaten bedoel ik digital signatures, zoals bij SSL certificaten.

Ik ook. ;-)

Quote:
Daarom bedoel ik dat een hash-collision voor passwords niet zo interessant is. Als ik een hash raad met "welkom567" die eigenlijk een collision is van "ditraadjenooit123", was ik gewoon bezig met het raden van wachtwoorden. Ik zal zelfs niet eens weten of het een collision is, of dat ik het echte password geraden heb. Bij digital signatures gaat het er juist om te misleiden door het gebruik van een collision. En ik gok dat de impact vele malen groter kan zijn.

Waarom zou een collision voor wachtwoorden minder interessant zijn? In wezen in een certificaat niets anders dan een wachtwoord. (Sterker nog: ik gebruik een certificaat ter vervanging van mijn wachtwoord voor SSH-sessies.) Hooguit is bij een certificaat de hash langer, waardoor hij minder snel te kraken is.

En dan wordt het wachtwoord toch weer interessant. Als je het wachtwoord weet van een gebruiker met de juiste systeemrechten, kun je de private key in handen krijgen, het bestaande certificaat re-issuen en/of een stel nieuwe certificaten aanvragen, waardoor je pogingen om gebruikers te misleiden er nog veel echter uit kunnen zien dan wanneer je alleen een gecompromitteerd certificaat tot je beschikking hebt. En dan laat ik een heleboel andere stoute dingetjes nog buiten beschouwing. Zoals gezegd: het is leuk als je een collision hebt gevonden op een certificaathash, maar een collision op een passwordhash is oneindig veel leuker.
 
Toms Diner

Toms Diner

04/11/2017 01:09:33
Quote Anchor link
Willem vp op 29/10/2017 10:42:15:
Toms Diner op 28/10/2017 23:15:25:
Met certificaten bedoel ik digital signatures, zoals bij SSL certificaten.

Ik ook. ;-)

Quote:
Daarom bedoel ik dat een hash-collision voor passwords niet zo interessant is. Als ik een hash raad met "welkom567" die eigenlijk een collision is van "ditraadjenooit123", was ik gewoon bezig met het raden van wachtwoorden. Ik zal zelfs niet eens weten of het een collision is, of dat ik het echte password geraden heb. Bij digital signatures gaat het er juist om te misleiden door het gebruik van een collision. En ik gok dat de impact vele malen groter kan zijn.

Waarom zou een collision voor wachtwoorden minder interessant zijn? In wezen in een certificaat niets anders dan een wachtwoord. (Sterker nog: ik gebruik een certificaat ter vervanging van mijn wachtwoord voor SSH-sessies.) Hooguit is bij een certificaat de hash langer, waardoor hij minder snel te kraken is.

En dan wordt het wachtwoord toch weer interessant. Als je het wachtwoord weet van een gebruiker met de juiste systeemrechten, kun je de private key in handen krijgen, het bestaande certificaat re-issuen en/of een stel nieuwe certificaten aanvragen, waardoor je pogingen om gebruikers te misleiden er nog veel echter uit kunnen zien dan wanneer je alleen een gecompromitteerd certificaat tot je beschikking hebt. En dan laat ik een heleboel andere stoute dingetjes nog buiten beschouwing. Zoals gezegd: het is leuk als je een collision hebt gevonden op een certificaathash, maar een collision op een passwordhash is oneindig veel leuker.


Wij kijken hier echt verschillend tegenaan. In het eerste geval (user pass) neem je iemands rechten over, in het tweede geval (een certificaat met dezelfde hash) niet. Maar je kunt zonder dat die server beinvloed wordt, wel de clients in de waan laten dat je daar vandaan komt... Dat je namens die server spreekt, enzovoort. (Zie ook die wiki link die ik postte) Je reactie daarop is dat je met een gejat userpassword hetzelfde kan, maar ik kan geen situatie bedenken waarin dat kan. Je zal algauw 3-6 wachtwoorden moet kraken, want voor een certificaat zul je ook de mail van die persoon over moeten nemen, en met mijn admin wachtwoorden kom je ook weer niet op de server... Het gaat hier om iets groters dan "stout" doen op een website. Ik zou een groen slotje kunnen tonen op "mijnd1gid.nl", betalingen kunnen vervalsen, zelf certificaten uitgeven, enzovoort. Ik zie jou redenatie niet zo.
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.