Arkiv

Inlägg taggade ‘databas’

Därför kan SHA-512 vara osäkert

juni 27th, 2011 1 kommentar

Som många vet finns det mängder av hemsidor som säger sig kunna dekryptera envägs-kryptering (exempelvis md5 och sha1) till dess ursprungliga värde. Hur dem kan göra detta är inte så konstigt, när man gör ett hash tar man bara ursprungsvärdet och sparar det tillsammans med hashet som genereras. Ett väl känt exempel är password som ger 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 när man kör det med sha1. Missuppfatta mig inte nu, man ska hasha lösenord och andra tillämpningar där envägskryptering är möjlig och är rimligt att göra, men gör det inte bekvämt för sig själv genom att gör något i stil med:

<?php
$pass_hash = md5($pass);
?>

Även om man slutar använda md5 mot starkare hash så som sha-512 hjälper det inte om det finns hemsidor som inte bara loggar sha1 och md5, utan även andra hash som sha-512 så som md5decrypter.co.uk. Läs mer…

Bästa SQL-injection (försöket) någonsin!

februari 25th, 2011 2 kommentarer

Urban Sql injection. WIN!

För er som tror att en hacker enbart sitter framför en datorskärm flera timmar i sträck för att ta sig in i olika system bör tänka om. Bilden till höger visar ett av de bästa exemplen på att med lite kreativt tänkande kan man komma långt. Det man har gjort är att man har klistrat på en remsa med en SQL-kod, det språk som man kommunicerar med en databas med, på en bil och kört igenom en station som förmodligen används för det som vi svenskar kallar för trängselskatt. Tanken är att kameran ska läsa av koden för att sedan skicka den som en förfrågan till databasen. Om detta lyckas kommer databasen göra precis som SQL-koden är instruerad till att göra. I detta fall radera hela databasen på all information. Detta är förstås inte bra eftersom man då har kraschat hela systemet och mängder med bilar kan kan åka igenom stationen (och förmodligen andra stationer) helt gratis.

Attacker som görs via SQL-koder kallas för SQL-injection och är idag tyvärr en förekommande form av attack som vem som helst enkelt kan genomföra i system och på hemsidor som inte är skyddade mot detta. Orsaken till att man kan göra denna typ av attack beror 9 av 10 fall på en slarvig programmerare som inte säkrar upp sin kod. För er som programmerar PHP och kommunicerar med databaser kan läsa igenom mitt inlägg om PDO och hur man kommer igång med det.

För övrigt hade jag tänk att hyra eller låna en bil och åka upp till Stockholm. Någon som vill följa med? 😉

PDO – Istället för mysql-funktionerna PHP5

PDO PHP5
Jag har under ett par år använt mig av PDO när jag ska koppla en webbplats skriven i PHP5 med en databas. Innan dess använde jag mysql-funktionerna för att koppla upp mig mot en mysql-databas. Anledningen till jag bytte till PDO var att under min tid på gymnasiet träffade på en lärare vid namn Lars Gunter som då tipsade mig om PDO. Efter lite vana insåg jag hur flexibelt, användbart och kraftfullt PDO faktiskt är. Jag gjorde till och med ett större projektarbete där PDO spelade en avgörande roll då eftersom att webbapplikationen som jag gjorde var start beroende av en databas.

Ett av de hinder som jag stötte på under projektets gång var att hitta bra guider om PDO. De guider som fanns var antingen dåligt skrivna, bristande information eller andra brister. Därför fick jag lära mig om PDO genom att dels läsa de få guider och artiklar om PDO som var hyfsad bra, och dels att förlita sig på PHP-manualen. Med mycket om och men så lyckades jag lära mig det till slut. Även om det idag ser aningen bättre ut så har jag hittills inte hittat någon bra guide som samlar det viktigaste om PDO på ett och samma ställe, speciellt inte någon som är skriven på svenska. Därför har jag med detta inlägg dragit mitt strå till stacken.

Som vanligt tar jag gärna emot feedback på hur den kan förbättras. Skriv gärna det som en kommentar nedan eller alternativt skicka det som ett mail till mig via mitt kontaktformulär.

Är det några frågor eller funderingar som du undrar över är du välkommen att ställa frågan som en kommentar längst ned i detta inlägg. Dock är det bra om du innan du ställer frågan är att du gör följande:

  1. Kontrollera din fråga eller likande fråga inte redan finns under ”Vanliga frågor och svar”. Om du har tur finns svaret redan och du behöver inte lägga energi på att skriva en kommentar med samma fråga.
  2. Se efter om det inte reda finns en kommentar av någon som redan ha ställt sin fråga före dig och fått ett svar på den.

Har du gått igenom listan och uppfyllt samtliga punkter är du välkommen att ställa din fråga. När du skriver din kommentar, tänk på att beskriva problemet så utförligt som du kan och skicka gärna eventuell kod om det behövs.

Läs mer…