9:22
18/1/2015

Po SQL injection w nazwie firmy, wstrzykniętym do Centralnej Ewidencji Informacji o Działalności Gospodarcej — pora na paragon “z dodatkiem” :-)

B7asePYCMAEKdEz

Jak słusznie zauważa @kerouanton, pewnie nikt tego nie zauważył, bo z reguły u dołu paragonów prezentowane są różne enigmatyczne ciągi znaków.

PS. W temacie “ataków na sklepy” polecamy też lekturę wpisu Hackowanie czytników kodów kreskowych w Leroy Merlin oraz Przepis na darmową kawę w IKEA.

Przeczytaj także:

15 komentarzy

Dodaj komentarz
  1. Te enigmatyczne znaki na końcu to zazwyczaj systemowy numer paragonu i numer unikatory drukarki / kasy fiskalnej.

    SQL był raczej w jakimś programie z którego ten paragon został wydrukowany.
    Drukarka czy też kasa fiskalna nie mają bezpośredniego połączenia z bazą danych.

    • Na pewno !? moja żona ma kawiarnię wszystkie paragony są zapisywane na urządzeniu/karcie pamięci, nie wnikałem jaki to format ale fakt jest faktem że wszystko jest zapisane na kasie

    • Format zapewne Posnetu albo Novitusa, zresztą oba bardzo zbliżone do siebie :) tylko te dwa formaty są o tyle fajne, że nie można sobie wysłać na wyjście paragonu byle czego, bo jedynym typem paragonu jaki może nosić dowolny tekst jest “rejestracja transakcji” (najczęściej stosowany do wydruków z wirtualnych terminali karcianych (apka na “kasie” + podłączony pinpad). W paragonach fiskalnych i raportach funkcji operatora znaki są przyjmowane tylko w nazwie towaru :)

    • @Kamil
      W przypadku kas i drukarek z kopią elektroniczną zamiast rolek, są to najzwyczajniej w świecie pliki tekstowe.
      Jeśli wyjmiesz SD z kasy żony i wrzucisz w czytnik to znajdziesz struksturę mniej więcej taką:
      archiwum -> nr unikatowy -> 0,1,2,3,4,5 … -> 01, 02 .. 11, 12
      gdzie pierwsze cyferki to numery raportów dobowych (zazwyczaj do 1830), a kolejne to nr paragonów :)

      Tylko uwaga, możesz sobie te plik skopiować i pooglądać, ale pod żadnym pozorem nic w nich nie zmieniaj, zmiana daty modyfikacji pliki może skończyć się ponownym zainicjowaniem karty pamięci – co oznacza kuku dla Twojej pani.

      Dani producenci udostępniają nawet gotowy soft do tego (do zgrywania kopii również, ale jest to wolne)

  2. Co z tego może wyniknąć ? nic… co ktoś uzyska ile sklep sprzedał mleka ? :P

  3. Kamil – to jest zapisywane w pamieci fiskalnej – nieulotnej, niezniszczalnej itp – ale daleko temu kawalkowi krzemu do bazy SQL :)

    • Pamięć fiskalna trzyma tylko kwoty obrotu transakcji, NIP podatnika, obowiązujące stawki podatku, dobowe raporty fiskalne i rejestry czynności technicznych :)

  4. Program wykonał złą operację podczas pobierania numeru ostatniego paragonu a komunikat błędu poszedł na wyjście drukarki razem z następnymi błędami

  5. Widzę, że z tureckiego podwórka…

    • Merhaba ;) na to samo zwróciłem uwagę :)

  6. To jest SQL, ale nie injection. Po prostu na paragonie został wydrukowany komunikat błędu razem z zapytaniem, które się nie udało.

  7. @Etam

    Ta, i zupełnie przypadkiem “zwyczajny” SELECT kończy się “WHERE (1=1)” ??

    • Ale jakbyś się znał na zapytaniach, to byś wiedział że to where (1=1) nie zmienia w tym zapytaniu nic, równie dobrze może go tam nie być.

    • To popularna “procedura” stosowana w sytuacji, gdy zapytanie jest budowane z “klocków” – where nie może być pusty, więc wpisuje się 1=1 na wypadek, gdyby żaden inny klocek (tu: klauzula) nie był w danej sytuacji dostawiany.

  8. Przecież zdjęcie nie przedstawia paragonu fiskalnego, a już na pewno nie z polskiego paragonu fiskalnego. Zawartość paragonu fiskalnego jest ściśle opisana przez rozporządzenie MF. To raczej jakiś wydruk z POSa, na którym śmigają przeważnie windy.

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.