12.07.2015 Views

Bug Hunter Diary

Bug Hunter Diary

Bug Hunter Diary

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Get the →vulnerableWindows versionof VLC fromhttp://download.videolan.org/pub/videolan/vlc/0.9.4/win32/.Step 3: Manipulate the TiVo Movie File to Crash VLCNext, I tried to manipulate the TiVo sample file in order to crashVLC. To achieve this, all I had to do was change the 4-byte value at thesample file offset of i_map_size (which was 0x00300014 in this example).As illustrated in Figure 2-4, I changed the 32-bit value at file offset0x00300014 from 0x00000002 to 0x000000ff. The new value of 255 bytes(0xff) should be enough to overflow the 32-byte stack buffer and tooverwrite the return address stored after the buffer on the stack (seeSection A.1). Next, I opened the altered sample file with VLC whiledebugging the media player with Immunity Debugger. 3 The movie filewas played as before, but after a few seconds—as soon as the alteredfile data was processed—the VLC player crashed, with the resultshown in Figure 2-5.00300010h: 00 00 00 08 00 00 00 02 3B 9A CA 00 00 00 01 48 ; ........;šÊ....H00300010h: 00 00 00 08 00 00 00 ff 3B 9A CA 00 00 00 01 48 ; ........;šÊ....HFigure 2-4: New value for i_map_size in TiVo sample fileFigure 2-5: VLC access violation in Immunity DebuggerAs expected, VLC crashed while parsing the malformed TiVofile. The crash was very promising, since the instruction pointer (EIP16 Chapter 2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!