Kom ihåg mig?
Home Menu

Menu


Bloggtopppen.se och SQL injection - Fin fil med alla users

 
Ämnesverktyg Visningsalternativ
Oläst 2011-10-26, 16:15 #51
Jim_Westergrens avatar
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2005
Inlägg: 1 058
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
Jim_Westergrens avatar
 
Reg.datum: May 2005
Inlägg: 1 058
Att vänta tills användare loggar in och sedan konvertera är en dålig idé. Det kan dröja innan alla har loggat in. Bättre att konvertera allting på studs.
Jim_Westergren är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-10-26, 16:15 #52
Captain Thailands avatar
Captain Thailand Captain Thailand är inte uppkopplad
Supermoderator
 
Reg.datum: Mar 2007
Inlägg: 4 346
Captain Thailand Captain Thailand är inte uppkopplad
Supermoderator
Captain Thailands avatar
 
Reg.datum: Mar 2007
Inlägg: 4 346
Jim,

Applåder!
__________________
-
Jag (Twitter) kränger domäner via Fancy.Domains
• Jag värderar domäner via Värderadomäner.se - 20% rabatt för WN-medlemmar. Uppge kod: wn20.
Captain Thailand är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-10-26, 16:30 #53
Jim_Westergrens avatar
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2005
Inlägg: 1 058
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
Jim_Westergrens avatar
 
Reg.datum: May 2005
Inlägg: 1 058
Här är den kod jag skrev för att göra detta. Hoppas den kan hjälpa andra.

<?php
echo "Startar konvertering ...<br><br>";

$sql_host = 'subdomän.domän.se';
$sql_database = 'name_of_db';
$sql_username = 'username';
$sql_password = 'password';
$sql_table_name = 'name_of_table';

// Ta en fras härifrån: https://api.wordpress.org/secret-key/1.1/salt/
$salt = "din fras kommer här";

$mysql_connect = mysql_connect($sql_host, $sql_username, $sql_password);
mysql_select_db($sql_database, $mysql_connect);

// Namn på kolumner nedan kan behöva korrigeras:
$result = mysql_query("SELECT username, password FROM ".$sql_table_name."");
while($row = mysql_fetch_array($result)) {
$new_hash = md5($salt.$row['password']);
mysql_query("UPDATE ".$sql_table_name." SET password = '".$new_hash."' WHERE username = '".$row['username']."'");
}
echo "Konverting klar";
?>

<pre>
Ändra nu följande:
-----------------------

Ändra din inloggning från:

if(md5($_POST['password']) == $password) {
// Inloggad
}

Eller liknande som du har till följande istället:

$salt = "din fras kommer här";
if(md5($salt.md5($_POST['password'])) == $password) {
// Inloggad
}

Radera sedan denna filen från servern!
</pre>
Jim_Westergren är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-10-26, 17:37 #54
klein klein är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jul 2005
Inlägg: 2 225
klein klein är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jul 2005
Inlägg: 2 225
Gör backup på DBn innan man kör det här, så man kan rulla tillbaka om något går fel.

Citat:
Ursprungligen postat av Jim_Westergren Visa inlägg
Här är den kod jag skrev för att göra detta. Hoppas den kan hjälpa andra.


<?php
echo "Startar konvertering ...<br><br>";

$sql_host = 'subdomän.domän.se';
$sql_database = 'name_of_db';
$sql_username = 'username';
$sql_password = 'password';
$sql_table_name = 'name_of_table';

// Ta en fras härifrån: https://api.wordpress.org/secret-key/1.1/salt/
$salt = "din fras kommer här";

$mysql_connect = mysql_connect($sql_host, $sql_username, $sql_password);
mysql_select_db($sql_database, $mysql_connect);

// Namn på kolumner nedan kan behöva korrigeras:
$result = mysql_query("SELECT username, password FROM ".$sql_table_name."");
while($row = mysql_fetch_array($result)) {
$new_hash = md5($salt.$row['password']);
mysql_query("UPDATE ".$sql_table_name." SET password = '".$new_hash."' WHERE username = '".$row['username']."'");
}
echo "Konverting klar";
?>

<pre>
Ändra nu följande:
-----------------------

Ändra din inloggning från:

if(md5($_POST['password']) == $password) {
// Inloggad
}

Eller liknande som du har till följande istället:

$salt = "din fras kommer här";
if(md5($salt.md5($_POST['password'])) == $password) {
// Inloggad
}

Radera sedan denna filen från servern!
</pre>
klein är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-10-26, 18:23 #55
SimonPs avatar
SimonP SimonP är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2006
Inlägg: 832
SimonP SimonP är inte uppkopplad
Mycket flitig postare
SimonPs avatar
 
Reg.datum: May 2006
Inlägg: 832
Citat:
Ursprungligen postat av Jim_Westergren Visa inlägg
Att vänta tills användare loggar in och sedan konvertera är en dålig idé. Det kan dröja innan alla har loggat in. Bättre att konvertera allting på studs.
Visst kan man konvertera alla på en gång, nackdelen med att göra allt på en gång är att man måste stänga av sidan vid konverteringen. För mindre sidor är det inga problem men för större sidor så kan det bli en del downtime.
SimonP är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-10-26, 18:26 #56
Ciffans avatar
Ciffan Ciffan är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2008
Inlägg: 819
Ciffan Ciffan är inte uppkopplad
Mycket flitig postare
Ciffans avatar
 
Reg.datum: May 2008
Inlägg: 819
Visst ska man ha "bra" lösenord men är dåliga lösenord verkligen det största problemet?
Det spelar väl ingen roll om jag har
XMdfpfvew :_5ghtj)KFHJFHN &%()€=#/FTY€)JFMWofe
om jag har samma på alla ställen? Kommer det ut på ett ställe (vilket det kommer förr eller senare) så är jag ju rökt överallt.

Att skratta åt dem som hade enkla lösenord på Bloggtoppen är väl också att skjuta fel - om de har olika på alla ställen och "säkra" på känsliga/viktiga platser, so what?

Att jag reagerar är att jag fått mejl från ett par kunder som är oroliga och undrar över sina lösenord - vill att jag ändrar på alla deras platser till ett (1) säkert som de kopierat från en tidning.

Visst vi kan kräva att webbplatser har en säker hantering av användaruppgifter men ska vi vara ärliga så är det väl bara en tidsfråga innan vi ser nästa databas dump. Med det inte sagt att vi ska göra vad vi kan för att skydda användare.
Ciffan är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-10-26, 18:27 #57
Adestro Adestro är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Apr 2007
Inlägg: 1 036
Adestro Adestro är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Apr 2007
Inlägg: 1 036
Citat:
Ursprungligen postat av SimonP Visa inlägg
Visst kan man konvertera alla på en gång, nackdelen med att göra allt på en gång är att man måste stänga av sidan vid konverteringen. För mindre sidor är det inga problem men för större sidor så kan det bli en del downtime.
Med lite planering är det löst ganska smärtfritt. Förhoppningsvis sker ju inte utveckling mot produktionsmiljö.

Senast redigerad av Adestro den 2011-10-26 klockan 18:32 Anledning: Missförstod Cliffan
Adestro är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-10-26, 18:30 #58
SimonPs avatar
SimonP SimonP är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2006
Inlägg: 832
SimonP SimonP är inte uppkopplad
Mycket flitig postare
SimonPs avatar
 
Reg.datum: May 2006
Inlägg: 832
Citat:
Ursprungligen postat av Jim_Westergren Visa inlägg
Här är den kod jag skrev för att göra detta. Hoppas den kan hjälpa andra.

<?php
echo "Startar konvertering ...<br><br>";

$sql_host = 'subdomän.domän.se';
$sql_database = 'name_of_db';
$sql_username = 'username';
$sql_password = 'password';
$sql_table_name = 'name_of_table';

// Ta en fras härifrån: https://api.wordpress.org/secret-key/1.1/salt/
$salt = "din fras kommer här";

$mysql_connect = mysql_connect($sql_host, $sql_username, $sql_password);
mysql_select_db($sql_database, $mysql_connect);

// Namn på kolumner nedan kan behöva korrigeras:
$result = mysql_query("SELECT username, password FROM ".$sql_table_name."");
while($row = mysql_fetch_array($result)) {
$new_hash = md5($salt.$row['password']);
mysql_query("UPDATE ".$sql_table_name." SET password = '".$new_hash."' WHERE username = '".$row['username']."'");
}
echo "Konverting klar";
?>

<pre>
Ändra nu följande:
-----------------------

Ändra din inloggning från:

if(md5($_POST['password']) == $password) {
// Inloggad
}

Eller liknande som du har till följande istället:

$salt = "din fras kommer här";
if(md5($salt.md5($_POST['password'])) == $password) {
// Inloggad
}

Radera sedan denna filen från servern!
</pre>
1. MD5 är dock inte en framtidsäker lösning, om man kostar på sig att skriva en ny inloggningsrutin tycker jag man bör byta till SHA256 eller en riktig KDF.

2. Saltet bör läggas efter lösenordet för att försvåra bruteforce
SimonP är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-10-26, 18:52 #59
daniel_s avatar
daniel_ daniel_ är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Apr 2006
Inlägg: 1 603
daniel_ daniel_ är inte uppkopplad
Bara ett inlägg till!
daniel_s avatar
 
Reg.datum: Apr 2006
Inlägg: 1 603
Tyvärr fanns man med i databasen, men jag lyckades inte dekryptera mitt lösenord. Någon som har en uppfattning om hur svårt är det att få fram lösenordet om man använder "unika" ord som inte finns med i kända databaser?
daniel_ är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-10-26, 19:19 #60
Gustavs avatar
Gustav Gustav är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jul 2005
Inlägg: 3 171
Gustav Gustav är inte uppkopplad
Klarade millennium-buggen
Gustavs avatar
 
Reg.datum: Jul 2005
Inlägg: 3 171
Citat:
Ursprungligen postat av Timofey Visa inlägg
Ni skulle ha skickat till alla era medlemmar istället för att joina på en (stulen) databas från en konkurrerande verksamhet.
!
+1

(tio tecken)
Gustav är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 19:40.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017