From the course: Writing Secure Code in iOS by Infosec
Unlock this course with a free trial
Join today to access over 25,500 courses taught by industry experts.
Format string attack, part 1
From the course: Writing Secure Code in iOS by Infosec
Format string attack, part 1
- Let's now talk about another common vulnerability, the format string attack. So what's a format string? You've probably used it already, many times. It's an ASCII string. It contains text and format parameters. It's used to insert values into a text string. You could put in variable substitutions or data formatting, and you'll see format strings in many programming languages. C, Objective-C, Swift, Python, Java, many of them. When you insert values into an output string, you use format specifiers, parameter specifiers, people interchangeably use those words sometimes as placeholders in the string. You pass the values as additional parameters to the function. Format functions are really useful. They generate readable output. They save you a lot of time and work. They do automatic type conversions, and if used incorrectly, they can cause vulnerabilities. Let's go back in time. It all goes back to the C programming language. Print formatted, printf, was one of the very first functions…
Practice while you learn with exercise files
Download the files the instructor uses to teach the course. Follow along and learn by watching, listening and practicing.
Contents
-
-
-
-
(Locked)
Understanding input risks14m 13s
-
(Locked)
Autocorrect and autofill10m 43s
-
(Locked)
Activity: Disabling autocorrection10m 53s
-
(Locked)
Special characters, part 114m 23s
-
Special characters, part 27m 28s
-
(Locked)
Format string attack, part 17m 58s
-
(Locked)
Format string attack, part 28m 38s
-
(Locked)
Format string attack, part 36m 49s
-
(Locked)
Activity: Playing with format strings9m 53s
-
(Locked)
Input sanitization12m 42s
-
(Locked)
Input sanitization techniques: Regular expressions, part 18m 18s
-
(Locked)
Input sanitization techniques: Regular expressions, part 26m 59s
-
(Locked)
Activity: Regular expressions, part 18m 17s
-
(Locked)
Activity: Regular expressions, part 26m 53s
-
(Locked)
Activity: Regular expressions, part 37m 31s
-
(Locked)
Activity: Sanitizing input, part 110m 44s
-
Activity: Sanitizing input, part 213m 45s
-
(Locked)
Property wrappers9m 27s
-
(Locked)
Activity: Trimming whitespace and newlines with a property wrapper6m 38s
-
(Locked)
Activity: Value clamping with a property wrapper6m 48s
-
(Locked)
Activity: Sanitizing input with a property wrapper7m 18s
-
(Locked)
Null bytes7m 27s
-
(Locked)
Cross-site attacks12m 8s
-
(Locked)
Activity: Exploring XSS attacks10m 10s
-
(Locked)
Code injection14m 51s
-
(Locked)
Activity: Filtering a malicious QR code, part 112m 11s
-
(Locked)
Activity: Filtering a malicious QR code, part 25m 31s
-
(Locked)
SQL injection, part 111m 4s
-
(Locked)
SQL injection, part 24m 13s
-
(Locked)
Object deserialization7m 20s
-
(Locked)
Activity: Installing Alamofire and SwiftyJSON pods3m 36s
-
(Locked)
Activity: Securely working with JSON, part 112m 49s
-
(Locked)
Activity: Securely working with JSON, part 29m 23s
-
WebView protection4m 48s
-
(Locked)
Activity: Protecting users against insecure UIWebView10m 44s
-
(Locked)
-
-
-
-
-
-