Pfandbons sammeln

Angestachelt von einem Talk über Barcodes, habe ich mal Pfandbons gesammelt und mir die Barcodes angeschaut. Dazu noch die Bonnummer und den Betrag.

|Bardcode-----------------|Betrag|Bon#|
2264054045710.62852.000056 0,56    62853
2264054045710.62154.000129 1,29    62155
2264054045710.62853.000048 0,48    62854
2264054045710.63435.000015 0,15    63436
2264054045710.63436.000048 0,48    63437

Für bessere Lesbarkeit habe ich jeweils 2 Punkte in den Barcode eingefügt. Die ersten 13 Stellen sind immer gleich, also das Produkt "Pfand". Es folgen 5 Stellen für die Nummer des Vorgängerbons. Nummer ist immer Bon# - 1. Danach dann 6 Stellen für den Betrag in Cent. Da sich Automat und Kasse nicht kennen, erfolgt die gesamte Kommunikation und Informationsübertragung über den Bon. Nur so lässt es sich auch erklären warum der Betrag überhaupt im Barcode stehen muss. Würden sich Automat und Kassen kennen, könnte man den Betrag zur Bon# im System hinterlegen und die Kasse liest den Preis aus einer DB. Jetzt kennt das Kassensystem maximal alle bereits gescannten Bon# und der Preis wird direkt aus dem Barcode gelesen. Eine Prüfsumme als Absicherung hätte ich erwartet. Als Angriff kann ich mir also einen Bon erstellen, so dass ich eine nicht gescannte Nummer habe, und mit dieser einen Bon mit beliebigem Betrag drucken.

Pfandsammeln 2.0


Author: dude

keep it simple