У нас вы можете посмотреть бесплатно vfprintf internal buffer - Advanced Format String (part 1) - Binary Exploitation PWN101 или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
We will see how to find the internal vfprintf buffer and how to overwrite it in order to modify printf's arguments on the fly, allowing us to create more advanced exploits. Whenever we use positional arguments, printf performs a copy of their original value (as present in the format string when they are first encountered by the function) into an internal buffer. In this video we will see how this buffer can also by manipulated by abusing a format string vulnerability, one of the most dangerous write-what-where vulnerabilities, as it allows us to overwrite memory with arbitrary values. This video presents one possible solution to the "Sniper" callenge from TAMUctf 2025. https://tamuctf.com/ Mentioned resources: Repo containing the challenge and the exploit: https://github.com/RazviOverflow/ctfs... vfprintf source code from glibc: https://elixir.bootlin.com/glibc/glib... A Full Guide to Format String Exploitation: https://corgi.rip/blog/format-string-... Zh3R0 CTF 2021 More Printf: https://violenttestpen.github.io/ctf/... HXPCTF 2020 - still-printf: https://blog.redrocket.club/2020/12/2... LIT CTF 2023 - stiller-printf: https://eth007.me/blog/ctf/stiller-pr... TAMUctf 2025 repo: https://github.com/tamuctf/tamuctf-20... Foundational videos: • Exploiting Format String vulnerabilities t... • GOT overwrite with Format String - pwn108 ... • Endianness Explained. Little-Endian and Bi... Did you like the video? Found it useful? If you feel like lending a helping hand consider buying me a coffee (or three ☕), it really helps! https://ko-fi.com/razvioverflow https://paypal.me/razvigg 00:00 - Intro 00:30 - Prior knowledge 01:52 - Downloaded challenge files 02:32 - Checking the binary 02:41 - Executing the binary 02:49 - Trying for format string vulns 03:13 - Understanding the output 03:48 - Discovering the buffer fmt position 04:42 - Checking the source code 05:12 - Tricky address 05:30 - Checking the source code 06:00 - Relevant fgets - printf thing 06:15 - More about fgets 06:40 - Local fake flag 07:00 - Patching the binary with libc (specific version) 07:39 - Pwninit 07:59 - Additional (irrelevant) files 08:13 - Reversing and debugging the binary with pwndbg 10:31 - Understanding my initial attempt (spoiler: it fails) 14:36 - Executing my initial attempt 16:43 - Understanding why it fails 18:02 - vfprintf (printf internals) internal buffer 18:37 - vfprintf source code 19:10 - Writeups mentioning the internal buffer 20:36 - Understanding the working solution (overwriting vfprintf internal buffer) 21:06 - How to find vfprintf internal buffer memory location 25:36 - Computing the offset (distance) 26:03 - Finding internal vfprintf buffer for the working solution 27:38 - Identifying errors that crash the program 28:33 - Avoiding this error 29:06 - Finding internal vfprintf buffer for the working solution 30:08 - Modifying the payload to overwrite the internal vfprintf buffer 30:52 - Executing the new solution 31:17 - Recap 33:15 - Outro[*] Exploit code, not people. GitHub: https://github.com/RazviOverflow LinkedIn: / razvioverflow Twitter: @Razvieu *Outro track: Etsu - Selcouth GG