praktyczne podejście do testowania bezpieczeństwa ... praktyczne podejście... 2 / ∞ dramatis...
TRANSCRIPT
![Page 1: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/1.jpg)
HISPASEC
Praktyczne podejście do testowania bezpieczeństwa
implementacji obsługi formatów danych
by Gynvael Coldwind
![Page 2: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/2.jpg)
/ ∞Praktyczne podejście... 2
Dramatis Personæ
Gynvael Coldwind
- obecnie spec. ds. bezp. IT @ Hispasec- wcześniej ArcaBit- autor kilku artykułów (Hakin9 i Xploit)- prowadzi bloga technicznego (http://gynvael.coldwind.pl)- team Vexillium (http://vexillium.org)
![Page 3: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/3.jpg)
/ ∞Praktyczne podejście... 3
Menu
1. Budowa aplikacji a wektory ataku2. Jak szukać błędów?3. Różnice w interpretacji dokumentacji4. Case study – BMP5. Case study – GIF6. Inne – RAR, ZIP, FTP7. Podsumowanie
![Page 4: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/4.jpg)
/ ∞Praktyczne podejście... 4
Budowa aplikacji
IN
IN
IN
IN
IN
IN
IN
OUT
OUT
OUT
OUT
APLIKACJA
![Page 5: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/5.jpg)
/ ∞Praktyczne podejście... 5
Aplikacja składa się z wielu modułów
IN
IN
IN
IN
IN
IN
IN
OUT
OUT
OUT
OUT
APLIKACJA
![Page 6: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/6.jpg)
/ ∞Praktyczne podejście... 6
Wejście, przetwarzanie, wyjście
NET
DB
BMP
MP3
PHP
KEYB
...
HTML
SCR
NET
...
APLIKACJA
![Page 7: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/7.jpg)
/ ∞Praktyczne podejście... 7
Wszystko co pochodzi z zewnątrzstanowi potencjalne zagrożenie
NET
DB
BMP
MP3
PHP
KEYB
...
HTML
SCR
NET
...
APLIKACJA
![Page 8: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/8.jpg)
/ ∞Praktyczne podejście... 8
Wszystko co pochodzi z zewnątrzstanowi potencjalne zagrożenie
NET
DB
BMP
MP3
PHP
KEYB
...
HTML
SCR
NET
...
APLIKACJA
![Page 9: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/9.jpg)
/ ∞Praktyczne podejście... 9
Wszystko co pochodzi z zewnątrzstanowi potencjalne zagrożenie
NET
DB
BMP
MP3
PHP
KEYB
...
HTML
SCR
NET
...
APLIKACJA
![Page 10: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/10.jpg)
/ ∞Praktyczne podejście... 10
Wszystko co pochodzi z zewnątrzstanowi potencjalne zagrożenie
NET
DB
BMP
MP3
PHP
KEYB
...
HTML
SCR
NET
...
APLIKACJA
![Page 11: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/11.jpg)
/ ∞Praktyczne podejście... 11
Wszystko co pochodzi z zewnątrzstanowi potencjalne zagrożenie
NET
DB
BMP
MP3
PHP
KEYB
...
HTML
SCR
NET
...
APLIKACJA
![Page 12: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/12.jpg)
/ ∞Praktyczne podejście... 12
Wszystko co pochodzi z zewnątrzstanowi potencjalne zagrożenie
NET
DB
BMP
MP3
PHP
KEYB
...
HTML
SCR
NET
...
APLIKACJA
![Page 13: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/13.jpg)
/ ∞Praktyczne podejście... 13
Jak szukać błędu ?
NET
DB
MP3
PHP
KEYB
...
HTML
SCR
NET
...
APLIKACJABMP
![Page 14: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/14.jpg)
/ ∞Praktyczne podejście... 14
Jak szukać błędu ?
APLIKACJABMP
![Page 15: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/15.jpg)
/ ∞Praktyczne podejście... 15
Jak szukać błędu ?
BMP
![Page 16: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/16.jpg)
/ ∞Praktyczne podejście... 16
Jak szukać błędu ?
OBSŁUGABMPBMP
![Page 17: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/17.jpg)
/ ∞Praktyczne podejście... 17
Jak szukać błędu ?
OBSŁUGABMPBMP
Metoda A: (app oriented)„Czytając” kod obsługujący format
![Page 18: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/18.jpg)
/ ∞Praktyczne podejście... 18
Jak szukać błędu ?
OBSŁUGABMPBMP
Metoda B: (data oriented)Analizując format wejściowy
![Page 19: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/19.jpg)
/ ∞Praktyczne podejście... 19
Jak szukać błędu ?
OBSŁUGABMP
Zorientowanie na format wejściowypozwala naraz testować kilka-kilkanaście
aplikacji
OBSŁUGABMPOBSŁUGA
BMP
BMP
![Page 20: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/20.jpg)
/ ∞Praktyczne podejście... 20
Jak szukać błędu ?
KROK 1Wybierz format/protokół który chcesz analizować
Metoda 1: mam ulubioną aplikację...Metoda 2: format XYZ brzmi fajnie!Metoda 3: rand()
![Page 21: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/21.jpg)
/ ∞Praktyczne podejście... 21
Jak szukać błędu ?
KROK 2Zdobądź dokumentacje!
http://www.wotsit.orghttp://en.wikipedia.org
http://www.faqs.org/rfcs/Use google, Luke!
![Page 22: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/22.jpg)
/ ∞Praktyczne podejście... 22
Jak szukać błędu ?
KROK 3Napisz program tworzący
prawidłowy pakiet/plik
C/C++/Java/Python/etc
![Page 23: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/23.jpg)
/ ∞Praktyczne podejście... 23
Jak szukać błędu ?
KROK 4Rozpocznij analizę dokumentacji
(o tym za chwilę),modyfikując stworzony wcześniej
program tak, aby generował„poprawione” pakiety/pliki
![Page 24: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/24.jpg)
/ ∞Praktyczne podejście... 24
Jak szukać błędu ?
KROK 5Sprawdź jak zachowują się wybraneaplikacje gdy „zjedzą” „poprawiony”
pakiet/plik
(exception monitor, debugger)
![Page 25: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/25.jpg)
/ ∞Praktyczne podejście... 25
Różnice w interpretacji
Programista vs Bughunter
![Page 26: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/26.jpg)
/ ∞Praktyczne podejście... 26
Różnice w interpretacji
Co myśliprogramista
Co myślibughunter
Programista vs Bughunter
...cytat z dokumentacji...
![Page 27: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/27.jpg)
/ ∞Praktyczne podejście... 27
Różnice w interpretacji
Programista vs Bughunter
Bezpośrednio po nagłówku znajdująsię dane obrazu...
![Page 28: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/28.jpg)
/ ∞Praktyczne podejście... 28
Różnice w interpretacji
Po nagłówku napewno będądane obrazu
Programista vs Bughunter
Bezpośrednio po nagłówku znajdująsię dane obrazu...
![Page 29: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/29.jpg)
/ ∞Praktyczne podejście... 29
Różnice w interpretacji
Po nagłówku napewno będądane obrazu
Utnę plik ponagłówku ;F
Programista vs Bughunter
Bezpośrednio po nagłówku znajdująsię dane obrazu...
![Page 30: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/30.jpg)
/ ∞Praktyczne podejście... 30
Różnice w interpretacji
Programista vs Bughunter
Wartość pola SIZE musi być mniejszalub równa 16
![Page 31: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/31.jpg)
/ ∞Praktyczne podejście... 31
Różnice w interpretacji
Wartość polaSIZE zawsze będzie <= 16
Programista vs Bughunter
Wartość pola SIZE musi być mniejszalub równa 16
![Page 32: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/32.jpg)
/ ∞Praktyczne podejście... 32
Różnice w interpretacji
Wartość polaSIZE zawsze będzie <= 16
Ustawie SIZE na55 i zobaczę co
się stanie...
Programista vs Bughunter
Wartość pola SIZE musi być mniejszalub równa 16
![Page 33: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/33.jpg)
/ ∞Praktyczne podejście... 33
Różnice w interpretacji
Programista vs Bughunter
Pole NR_KOLOR określa ilośćkolorów w palecie
![Page 34: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/34.jpg)
/ ∞Praktyczne podejście... 34
Różnice w interpretacji
Wszystkie numerykolorów w obraziesą <= NR_KOLOR
Programista vs Bughunter
Pole NR_KOLOR określa ilośćkolorów w palecie
![Page 35: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/35.jpg)
/ ∞Praktyczne podejście... 35
Różnice w interpretacji
Wszystkie numerykolorów w obraziesą <= NR_KOLOR
Powiem że paletama 20 kolorów, poczym użyje koloru
numer 55 w obrazie!
Programista vs Bughunter
Pole NR_KOLOR określa ilośćkolorów w palecie
![Page 36: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/36.jpg)
/ ∞Praktyczne podejście... 36
Różnice w interpretacji
Programista vs Bughunter
Chunk PALETA zawiera paletękolorów dla całego obrazu
![Page 37: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/37.jpg)
/ ∞Praktyczne podejście... 37
Różnice w interpretacji
Chunk PALETAwystąpi tylko raz,bo nikt nie używawięcej niż jednej
palety
Programista vs Bughunter
Chunk PALETA zawiera paletękolorów dla całego obrazu
![Page 38: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/38.jpg)
/ ∞Praktyczne podejście... 38
Różnice w interpretacji
Chunk PALETAwystąpi tylko raz,bo nikt nie używawięcej niż jednej
palety
Wrzucę 10 palet!
Programista vs Bughunter
Chunk PALETA zawiera paletękolorów dla całego obrazu
![Page 39: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/39.jpg)
/ ∞Praktyczne podejście... 39
Różnice w interpretacji
Chunk PALETAwystąpi tylko raz,bo nikt nie używawięcej niż jednej
palety
Wrzucę 10 palet!Albo żadnej!
Programista vs Bughunter
Chunk PALETA zawiera paletękolorów dla całego obrazu
![Page 40: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/40.jpg)
/ ∞Praktyczne podejście... 40
Różnice w interpretacji
Programista vs Bughunter
Implementacja powinna sprawdzaćczy XYZ jest poprawne
![Page 41: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/41.jpg)
/ ∞Praktyczne podejście... 41
Różnice w interpretacji
Nie chcę mi się...
Programista vs Bughunter
Implementacja powinna sprawdzaćczy XYZ jest poprawne
![Page 42: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/42.jpg)
/ ∞Praktyczne podejście... 42
Różnice w interpretacji
Nie chcę mi się...Ciekawe czy
programiście się chciało...
Programista vs Bughunter
Implementacja powinna sprawdzaćczy XYZ jest poprawne
![Page 43: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/43.jpg)
/ ∞Praktyczne podejście... 43
Różnice w interpretacji
Programista vs Bughunter
Pole OFFSET zawieraoffset danych w pliku
![Page 44: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/44.jpg)
/ ∞Praktyczne podejście... 44
Różnice w interpretacji
Wartość OFFSETpokazuje gdzieś
w środku pliku nadane
Programista vs Bughunter
Pole OFFSET zawieraoffset danych w pliku
![Page 45: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/45.jpg)
/ ∞Praktyczne podejście... 45
Różnice w interpretacji
Wartość OFFSETpokazuje gdzieś
w środku pliku nadane
Ustawie OFFSETujemne lub większeod wielkości pliku
Programista vs Bughunter
Pole OFFSET zawieraoffset danych w pliku
![Page 46: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/46.jpg)
/ ∞Praktyczne podejście... 46
Różnice w interpretacji
Programista vs Bughunter
Każdy chunk ma pole NEXT któremówi gdzie jest następny chunk
![Page 47: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/47.jpg)
/ ∞Praktyczne podejście... 47
Różnice w interpretacji
O! lista chunków!Przejdę sobiepo niej w pętli
Programista vs Bughunter
Każdy chunk ma pole NEXT któremówi gdzie jest następny chunk
![Page 48: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/48.jpg)
/ ∞Praktyczne podejście... 48
Różnice w interpretacji
O! lista chunków!Przejdę sobiepo niej w pętli
O! Zapętlona listachunków! Niechktóryś wskazujesam na siebie!
Programista vs Bughunter
Każdy chunk ma pole NEXT któremówi gdzie jest następny chunk
![Page 49: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/49.jpg)
/ ∞Praktyczne podejście... 49
Różnice w interpretacji - podsumowanie
Programista vs Bughunter
ZDANIE
![Page 50: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/50.jpg)
/ ∞Praktyczne podejście... 50
Różnice w interpretacji - podsumowanie
ZDANIE na pewnojest prawdziwei wszyscy wgniego tworząpliki / pakiety!
Programista vs Bughunter
ZDANIE
![Page 51: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/51.jpg)
/ ∞Praktyczne podejście... 51
Różnice w interpretacji - podsumowanie
ZDANIE na pewnojest prawdziwei wszyscy wgniego tworząpliki / pakiety!
← :)
Programista vs Bughunter
ZDANIE
![Page 52: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/52.jpg)
/ ∞Praktyczne podejście... 52
Różnice w interpretacji - podsumowanie
Co jest złe?Formaty czy implementacje?
![Page 53: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/53.jpg)
/ ∞Praktyczne podejście... 53
Enter teh BMP
Case study - BMP
![Page 54: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/54.jpg)
/ ∞Praktyczne podejście... 54
Enter teh BMP
BMP w skrócie:
- bardzo prosty format graficzny- brak kompresji lub kompresja RLE- znany z duużych plików- znany z Windowsa :)- obsługuje do 8 bitów z paletą- obsługuje od 16 do 32 bitów RGB
![Page 55: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/55.jpg)
/ ∞Praktyczne podejście... 55
Enter teh BMP
Budowa BMPBITMAPFILEHEADER
BITMAPINFOHEADER
IMAGE DATA
PALETTE
![Page 56: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/56.jpg)
UINT bfType;DWORD bfSize;UINT bfReserved1;UINT bfReserved2;DWORD bfOffBits;
/ ∞Praktyczne podejście... 56
Bitmap File Header
BITMAPINFOHEADER
IMAGE DATA
PALETTE
BITMAPFILEHEADER
![Page 57: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/57.jpg)
UINT bfType;DWORD bfSize;UINT bfReserved1;UINT bfReserved2;DWORD bfOffBits;
/ ∞Praktyczne podejście... 57
Bitmap File Header
BITMAPINFOHEADER
IMAGE DATA
PALETTE
BITMAPFILEHEADER
Specifies the size of the file, in bytes.
![Page 58: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/58.jpg)
UINT bfType;DWORD bfSize;UINT bfReserved1;UINT bfReserved2;DWORD bfOffBits;
/ ∞Praktyczne podejście... 58
Bitmap File Header
BITMAPINFOHEADER
IMAGE DATA
PALETTE
BITMAPFILEHEADER
Specifies the byte offset from the BITMAPFILEHEADER structure
to the actual bitmap data in the file.(demo 001 002)
![Page 59: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/59.jpg)
DWORD biSize; (1 of 2)LONG biWidth;LONG biHeight;WORD biPlanes;WORD biBitCount;DWORD biCompression;
/ ∞Praktyczne podejście... 59
Bitmap File Header
IMAGE DATA
PALETTE
BITMAPFILEHEADERBITMAPINFOHEADER
![Page 60: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/60.jpg)
DWORD biSize; (1 of 2)LONG biWidth;LONG biHeight;WORD biPlanes;WORD biBitCount;DWORD biCompression;
/ ∞Praktyczne podejście... 60
Bitmap File Header
IMAGE DATA
PALETTE
BITMAPFILEHEADER
Specifies the width/height of the bitmap, in pixels.
(SZ = biWidth * biHeight * biBitCount/8)(memory DoS, Int Overflow, Sig/UnSig)
BITMAPINFOHEADER
![Page 61: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/61.jpg)
DWORD biSize; (1 of 2)LONG biWidth;LONG biHeight;WORD biPlanes;WORD biBitCount;DWORD biCompression;
/ ∞Praktyczne podejście... 61
Bitmap File Header
IMAGE DATA
PALETTE
BITMAPFILEHEADER
Specifies the number of planes for the target device. Thismember must be set to 1.
BITMAPINFOHEADER
![Page 62: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/62.jpg)
DWORD biSize; (1 of 2)LONG biWidth;LONG biHeight;WORD biPlanes;WORD biBitCount;DWORD biCompression;
/ ∞Praktyczne podejście... 62
Bitmap File Header
IMAGE DATA
PALETTE
BITMAPFILEHEADER
Specifies the number of bits per pixel. This value must be 1, 4, 8, or 24.
(32 bits?)
BITMAPINFOHEADER
![Page 63: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/63.jpg)
(2 of 2)DWORD biSizeImage;LONG biXPelsPerMeter;LONG biYPelsPerMeter;DWORD biClrUsed;DWORD biClrImportant;
/ ∞Praktyczne podejście... 63
Bitmap File Header
IMAGE DATA
PALETTE
BITMAPFILEHEADERBITMAPINFOHEADER
![Page 64: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/64.jpg)
(2 of 2)DWORD biSizeImage;LONG biXPelsPerMeter;LONG biYPelsPerMeter;DWORD biClrUsed;DWORD biClrImportant;
/ ∞Praktyczne podejście... 64
Bitmap File Header
IMAGE DATA
PALETTE
BITMAPFILEHEADER
Specifies the number of color indexes inthe color table actually used by the bitmap.
[…] the biClrUsed member must be set to zero orto the actual size of the color table.
BITMAPINFOHEADER
![Page 65: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/65.jpg)
/ ∞Praktyczne podejście... 65
Bitmap File Header
00: #12121201: #AB111102: #009900
biClrUsed = 3
Random data
Random dataRandom data
000102030405
#000000#000000#000000#000000#000000#000000
![Page 66: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/66.jpg)
/ ∞Praktyczne podejście... 66
Bitmap File Header
00: #12121201: #AB111102: #009900
biClrUsed = 3
Random data
Random dataRandom data
000102030405
#000000#000000#000000#000000#000000#000000
00: #121212
![Page 67: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/67.jpg)
/ ∞Praktyczne podejście... 67
Bitmap File Header
00: #12121201: #AB111102: #009900
biClrUsed = 3
Random data
Random dataRandom data
000102030405
#000000#000000#000000#000000#000000#000000
00: #12121201: #AB1111
![Page 68: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/68.jpg)
/ ∞Praktyczne podejście... 68
Bitmap File Header
00: #12121201: #AB111102: #009900
biClrUsed = 3
Random data
Random dataRandom data
000102030405
#000000#000000#000000#000000#000000#000000
00: #12121201: #AB111102: #009900
![Page 69: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/69.jpg)
/ ∞Praktyczne podejście... 69
Bitmap File Header
00: #12121201: #AB111102: #009900
biClrUsed = 3
Random data
Random dataRandom data
000102030405
#000000#000000#000000#000000#000000#000000
00: #12121201: #AB111102: #009900
Random data
![Page 70: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/70.jpg)
/ ∞Praktyczne podejście... 70
Bitmap File Header
00: #12121201: #AB111102: #009900
biClrUsed = 3
Random data
Random dataRandom data
000102030405
#000000#000000#000000#000000#000000#000000
00: #12121201: #AB111102: #009900
Random dataRandom data
![Page 71: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/71.jpg)
/ ∞Praktyczne podejście... 71
Bitmap File Header
Demo 003
![Page 72: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/72.jpg)
Run Length Encoding:biCompression = BI_RLE8biCompression = BI_RLE4
/ ∞Praktyczne podejście... 72
RLE
IMAGE DATA
PALETTE
BITMAPFILEHEADER
...
BITMAPINFOHEADER
![Page 73: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/73.jpg)
Run Length Encoding:biCompression = BI_RLE8biCompression = BI_RLE4
/ ∞Praktyczne podejście... 73
RLE
IMAGE DATA
PALETTE
BITMAPFILEHEADER
AAAAAAAAAABBBBCCCCCABCABCAAAAA
BITMAPINFOHEADER
![Page 74: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/74.jpg)
Run Length Encoding:biCompression = BI_RLE8biCompression = BI_RLE4
/ ∞Praktyczne podejście... 74
RLE
IMAGE DATA
PALETTE
BITMAPFILEHEADER
AAAAAAAAAABBBBCCCCCABCABCAAAAA
10 'A'
BITMAPINFOHEADER
![Page 75: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/75.jpg)
Run Length Encoding:biCompression = BI_RLE8biCompression = BI_RLE4
/ ∞Praktyczne podejście... 75
RLE
IMAGE DATA
PALETTE
BITMAPFILEHEADER
AAAAAAAAAABBBBCCCCCABCABCAAAAA
10 'A' 04 'B'
BITMAPINFOHEADER
![Page 76: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/76.jpg)
Run Length Encoding:biCompression = BI_RLE8biCompression = BI_RLE4
/ ∞Praktyczne podejście... 76
RLE
IMAGE DATA
PALETTE
BITMAPFILEHEADER
AAAAAAAAAABBBBCCCCCABCABCAAAAA
10 'A' 04 'B' 05 'C'
BITMAPINFOHEADER
![Page 77: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/77.jpg)
Run Length Encoding:biCompression = BI_RLE8biCompression = BI_RLE4
/ ∞Praktyczne podejście... 77
RLE
IMAGE DATA
PALETTE
BITMAPFILEHEADER
AAAAAAAAAABBBBCCCCCABCABCAAAAA
10 'A' 04 'B' 05 'C' 00 06 'ABCABC'
BITMAPINFOHEADER
![Page 78: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/78.jpg)
Run Length Encoding:biCompression = BI_RLE8biCompression = BI_RLE4
/ ∞Praktyczne podejście... 78
RLE
IMAGE DATA
PALETTE
BITMAPFILEHEADER
AAAAAAAAAABBBBCCCCCABCABCAAAAA
10 'A' 04 'B' 05 'C' 00 06 'ABCABC' 05 'A'
BITMAPINFOHEADER
![Page 79: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/79.jpg)
Run Length Encoding:biCompression = BI_RLE8biCompression = BI_RLE4
/ ∞Praktyczne podejście... 79
RLE
IMAGE DATA
PALETTE
BITMAPFILEHEADER
AAAAAAAAAABBBBCCCCCABCABCAAAAA
10 'A' 04 'B' 05 'C' 00 06 'ABCABC' 05 'A' 00 01
BITMAPINFOHEADER
![Page 80: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/80.jpg)
Run Length Encoding:biCompression = BI_RLE8biCompression = BI_RLE4
/ ∞Praktyczne podejście... 80
RLE
IMAGE DATA
PALETTE
BITMAPFILEHEADER
00 02 XX YY: Delta. The two bytes following theescape contain unsigned values indicating thehorizontal and vertical offsets of the next pixelfrom the current position.
BITMAPINFOHEADER
![Page 81: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/81.jpg)
/ ∞Praktyczne podejście... 81
RLE
00 02 02 04
![Page 82: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/82.jpg)
/ ∞Praktyczne podejście... 82
RLE
00 02 02 0400 02 02 04
???
![Page 83: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/83.jpg)
/ ∞Praktyczne podejście... 83
RLE
00 02 02 0400 02 02 04
Demo 004
![Page 84: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/84.jpg)
/ ∞Praktyczne podejście... 84
BMP podsumowanie
...
![Page 85: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/85.jpg)
/ ∞Praktyczne podejście... 85
Enter teh GIF
Case study - GIF
![Page 86: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/86.jpg)
/ ∞Praktyczne podejście... 86
Enter teh GIF
Krótko o GIF:
- bezstratna kompresja (LZW, ?)- 8 bitów, paleta kolorów (>256)- animacje! (WEB 1.0 ;>)- oparty o chunki- logical screen vs image(s)- GIF87 vs GIF89
![Page 87: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/87.jpg)
/ ∞Praktyczne podejście... 87
Enter teh GIF
Budowa GIFHEADER
IMAGE DATA
GLOBAL PALETTE
LOCAL PALETTE
...
...
TRAILER
LSD
IMAGE DESC.
...
![Page 88: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/88.jpg)
/ ∞Praktyczne podejście... 88
Enter teh GIF
??? Budowa GIF ???HEADER
IMAGE DATA
GLOBAL PALETTE
LOCAL PALETTE
...
...
TRAILER
LSD
IMAGE DESC.
...
![Page 89: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/89.jpg)
/ ∞Praktyczne podejście... 89
Enter teh GIF
??? DEMO 005 ???HEADER
IMAGE DATA
GLOBAL PALETTE
LOCAL PALETTE
...
...
TRAILER
LSD
IMAGE DESC.
...
![Page 90: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/90.jpg)
/ ∞Praktyczne podejście... 90
Enter teh GIF
Budowa GIFHEADER
LSD
IMAGE DATA
GLOBAL PALETTE
IMAGE DESC.LOCAL PALETTE
...
...
...
TRAILER
LZW MIN. CODE SZ.BLOCK SIZE
DATABLOCK SIZE
DATA......
TERMINATOR
![Page 91: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/91.jpg)
/ ∞Praktyczne podejście... 91
Enter teh GIF
Budowa GIF
BLOCK SIZEDATA
BLOCK SIZEDATA
...
...TERMINATOR
The output codes are ofvariable length, starting
at <code size>+1 bits per code, up to 12 bits per
code. This defines a maximum code
value of 4095 (hex FFF).
LZW MIN. CODE SZ.
![Page 92: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/92.jpg)
/ ∞Praktyczne podejście... 92
Enter teh GIF
SDL_Image
...unsigned char c; ← code size...LWZReadByte(src, TRUE, c)
![Page 93: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/93.jpg)
/ ∞Praktyczne podejście... 93
Enter teh GIF
SDL_ImageLWZReadByte(..., int input_code_size)...
static int table[2][(1 << MAX_LWZ_BITS)];...
set_code_size = input_code_size;...
clear_code = 1 << set_code_size;...
for (i = 0; i < clear_code; ++i) { table[0][i] = 0; table[1][i] = i;}
![Page 94: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/94.jpg)
/ ∞Praktyczne podejście... 94
Enter teh GIF
SDL_Image – DEMO 006
![Page 95: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/95.jpg)
/ ∞Praktyczne podejście... 95
Escape teh GIF
GIF - podsumowanie
![Page 96: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/96.jpg)
/ ∞Praktyczne podejście... 96
Inne – FTP, RAR, ZIP
FTP – Nazwy plików w listingu
LIST (LIST)If the pathname specifies a directoryor other group of files, the servershould transfer a list of filesin the specified directory.
![Page 97: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/97.jpg)
/ ∞Praktyczne podejście... 97
Inne – FTP, RAR, ZIP
FTP – Nazwy plików w listingu
LIST (LIST)If the pathname specifies a directoryor other group of files, the servershould transfer a list of filesin the specified directory.DEMO 007!
![Page 98: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/98.jpg)
/ ∞Praktyczne podejście... 98
Inne – FTP, RAR, ZIP
RAR, ZIP, etc...
(RAR) File name - string of NAME_SIZE bytes size
![Page 99: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/99.jpg)
/ ∞Praktyczne podejście... 99
Inne – FTP, RAR, ZIP
RAR, ZIP, etc...
(ZIP)
[local file header 1] VS
[central directory]
![Page 100: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/100.jpg)
/ ∞Praktyczne podejście... 100
EOF
Podsumowanie...
![Page 101: Praktyczne podejście do testowania bezpieczeństwa ... Praktyczne podejście... 2 / ∞ Dramatis Personæ Gynvael Coldwind - obecnie spec. ds. bezp. IT @ Hispasec - wcześniej ArcaBit](https://reader033.vdocuments.net/reader033/viewer/2022050315/5f774e15a2bbf51b63305e5b/html5/thumbnails/101.jpg)
/ ∞Praktyczne podejście... 101
The End
Dziękuje za uwagę!Czas na pytania ;>
-=(* e-mail *)[email protected]@hispasec.com
-=(* blog *)=-http://gynvael.coldwind.pl