Password_hash uitlezen!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Software Developer .NET

Functie omschrijving .NET developer gezocht! Wij zoek op zoek naar een .NET Developer die zich niet uit het veld laat slaan voor een software bedrijf in de regio Veenendaal. Je gaat in deze functie aan de slag met het door ontwikkelen van bestaande producten en het ontwikkelen van nieuwe producten. Dit bedrijf ontwikkeld SaaS applicaties die zowel intern als extern gebruikt worden. Verder bestaat je functie uit: Het ontwikkelen en bouwen van webapplicatie, mobiele applicaties en websites vallen onder jouw verantwoordelijkheden; Werken met onder andere .NET, C#, HTML/CSS, Javascript en MSSQL/Oracle Databases; Hierin werk je samen met andere developers en

Bekijk vacature »

Developer Full Stack

Functie omschrijving Developer gezocht! Ben jij een enthousiaste developer die graag wil bijdragen aan ontwikkelingen binnen een mooie organisatie? Solliciteer dan snel. Wij zijn op zoek naar een Full Stack Developer uit de regio Nijkerk die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een SaaS applicatie. Je moet beschikken over beheersing van zowel de Nederlandse als Engelse taal aangezien je samen met de klant gaat werken. Bedrijfsprofiel Je komt te werken binnen een echt familiebedrijf dat al sinds 1925 actief is binnen de FMCG branche. Het bedrijf heeft 40 medewerkers en er heerst een platte communicatiestructuur waarbij

Bekijk vacature »

PHP Developer

Dit ga je doen Ontwikkelen, implementeren en testen van PHP-oplossingen en Apps voor klanten en bedrijfsprocessen; Opstellen van requirements en uitwerken van de oplossingen; Testen van software en borgen van een soepele overdracht, inclusief documentatie; Proactief adviseren vanuit eigen expertisegebied over ontwikkelingen en verbeterpunten in technische toepassingen en processen binnen de organisatie. Hier ga je werken De organisatie is een ambitieuze en vooruitstrevende speler in de markt in de regio Rotterdam. Ze zijn de snelst groeiende in hun branche. Met een excellent aanbod en service willen zij de beste keuze zijn voor hun bestaande en nieuwe klanten. Dit alles doen

Bekijk vacature »

Frontend Developer - Leeuwarden

Frontend Developer – Leeuwarden Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider

Bekijk vacature »

Senior java ontwikkelaar integratie

Functieomschrijving Voor de gemeente Rotterdam zijn wij op zoek naar een senior java ontwikkelaar integratie. Taken Binnen een zelfsturend Scrumteam voer je geheel zelfstanding je opdrachten uit en levert het eindresultaat op aan het Integratieteam. Jij voelt je net als alle teamleden verantwoordelijk voor alle aspecten, vanaf de vraag tot en met de oplevering in productie. Je bent kritisch, je helpt de klant om zijn wensen helder te krijgen, je schrijft zelfstandig clean code die van hoge kwaliteit is, met bijbehorende unit- en integratietesten, je ondersteunt zo nodig bij deployments naar productie. Het Integratieteam bouwt componenten (Endpoints) op de ESB.

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een gewaardeerde werkgever in regio Oosterhout zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je brengt de aanpassingssuggesties van klanten in kaart, om

Bekijk vacature »

Senior Front-end Developer

Wordt jij de nieuwe Front end specialist / developer? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. 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 binnen als

Bekijk vacature »

Senior PHP Developer

As a Senior PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible and you choach other colleagues on the hard and soft skills. How do I become a Senior PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Voor een opdrachtgever in omgeving Moordrecht zijn wij op zoek naar een programmeur. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET ontwikkelaar start jij in ons development team met twee andere .NET developers. Als team werken jullie in scrum en is er iedere ochtend om 11.00 een standup. Jij krijgt als junior .NET ontwikkelaar een inwerk traject dat echt specifiek wordt ingericht op basis van wat jij nodig hebt. Een van de grootste pluspunten bij ons is dat wij binnen ons bedrijf veel (technische) vrijheid geven en juist eigen initiatieven erg stimuleren. Jouw werkzaamheden gaan er bij ons als volgt uit zien: – Het ontwikkelen van nieuwe software samen met interne en eventueel externe ontwikkelaars; – Het

Bekijk vacature »

Full stack developer Python, React

Functie Jij als full stack developer komt binnen onze Technology afdeling te werken. Deze bestaat momenteel uit 15 man. De stack waarmee wij werken is voornamelijk Python, Javascript, React en GraphQL. Binnen deze afdeling wordt er met multidisciplinaire teams gewerkt aan verschillende projecten. Projecten duren vaak langer dan 3 maanden en je bent van begin tot eind vaak betrokken. Naast dat je als full stack ontwikkelaar aan de slag gaat ben je ook Consultant. Dit betekent dat je ook klantcontact hebt in je rol en werkshops geeft. De verhouding tussen deze werkzaamheden zijn ongeveer 70% development en 30% consultancy. Een

Bekijk vacature »

Front-End React Developer

Als Front-End React Developer verbeter je de user experience van onze eigen webapplicaties voor onze collega's binnen Coolblue. Wat doe je als Front-End React Developer bij Coolblue? Als Front-end React Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten met React.js. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end React Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Verbeteren van de gebruiksvriendelijkheid van onze webshop

Bekijk vacature »

Medior Java developer

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 »

Front end developer binnen de consultancy

Functie Je komt in een team met ambitieuze developers die de passie voor Front-End met jou delen. Samen ga je aan de slag met leuke en leerzame opdrachten. Het team heeft een eigen budget en financiën en zij bepalen zelf hoe dat besteed en investeert wordt. Je gebruikt tools als JavaScript, Node.js, React, Angular, Typescript en Vue.js wanneer je werkt aan de opdrachten. Daarnaast zul je veel leren van je collega’s en gezamenlijk een leuke tijd doorbrengen tijdens activiteiten zoals wintersport, hackatons en conferentiebezoeken. Je krijgt niet alleen de mogelijkheid Front-End te ontwikkelen, maar ook vooral jezelf. Dit kan behaald

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

27/12/2024 07:22:43
 
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.